Suppression de la possibilité de stocker des messages sans calendrier et des champs de date du scénario
- remplacer le champ scenario_id de Alarm par un usage systématique du lien alarm -> calendrier -> scénario
- suppression de period start et period end
- modifier les services qui créent des messages simples pour qu'ils créent un calendrier avec un période d'application sans bornes
Rappel des notes : Bonjour,
En travaillant à la réalisation, j'ai constaté que nous avions oublié la prise en compte de deux attributs "PeriodStart" et "PeriodEnd" non présentés dans l'écran d'événement Terminus - et distincts des début/fin d'événements qui sont notamment utilisés pour les calculs automatiques de calendrier.
Ces deux champs permettent à un couple événement+message sans calendrier d'être diffusé en fonction de l'horloge.
Hugues proposait de les supprimer afin de passer uniquement par des calendriers mais j'ai contrôlé l'usage de ces champs et les composants "IneoNCEConnection", "IneoBDSIFileFormat" et "RSSFileFormat" créent bien des événements sans calendrier en définissant ces champs.
17_messages/SimpleMessageCreationAction.cpp: scenario.setPeriodStart(time); 61_data_exchange/IneoBDSIFileFormat.cpp: updatedScenario->setPeriodStart(programmation.startTime); 61_data_exchange/RSSFileFormat.cpp: updatedScenario->setPeriodStart(item.startDate); 61_data_exchange/IneoNCEConnection.cpp: updatedScenario->setPeriodStart(ptime(not_a_date_time)); 61_data_exchange/IneoBDSIFileFormat.cpp: updatedScenario->setPeriodEnd(programmation.endTime); 61_data_exchange/IneoNCEConnection.cpp: updatedScenario->setPeriodEnd(ptime(not_a_date_time)); Du coup, il me semble que les deux options suivantes sont possibles:
A. Conserver les spécifications actuelles http://git.rcsmobility.com/rcsmobility/synthese/issues/190 Ce qui signifie que ces champs devront être supprimés et les services utilisateurs doivent être adaptés pour fournir un calendrier
B. Compliquer les spécifications, pour considérer ces champs PeriodStart/PeriodEnd dans la détermination de l'état d'un événement/message uniquement en l'absence de calendrier. Un événement sans calendrier serait bien toujours diffusé si ces champs ne sont pas alimentés notamment quand ils sont créés depuis Terminus. Si au moins un de ces champs est défini, la diffusion est conditionnée selon horloge.