Fonctionnellement :
- Ajout d'un paramètre d'instance Rappel dans la section "Publications"
- Quand le paramètre d'instance est activé, ajoute dans l'onglet En-tête d'une publication le fieldSet Rappel contenant 2 champs : Date du rappel et Notes (textarea)
- A la date de rappel, une notification est envoyée automatiquement au créateur et au dernier modifieur de la publication (si différent du créateur).
Exemple de contenu de notification :
------------------------------------------------------------------------------------------------
Rappel automatique de Pierre Dupont sur la contribution Tableau de facturation
Notes :
A mettre à jour chaque fin de mois, merci.
► Voir cette contribution
------------------------------------------------------------------------------------------------
Techniquement :
Dans config-core :
- Ajout d'une table générique st_dateReminder (avec resourceType, resourceId, date, message, processStatus etc...)
resourceType = PUBLICATION
resourceId = id de la publication
processStatus = 0 par défaut (= non encore traité par le scheduleur) | 1 (=traité par le scheduleur, cad qu'une notification a été envoyée)
Dans lib-core :
- Ajout du service PersistentDateReminderService qui gère des objets PersistentResourceDateReminder (mappé avec la table st_dateReminder)
- Ajout du repository PersistentResourceDateReminderRepository en JPA
- Ajout du scheduleur DateReminderScheduler, qui se déclenche sur un cron et appelle la méthode perform sur l'interface de traitement DateReminderProcess
Dans ejb-core :
- Dans l'ejb publication, ajout d'une classe PublicationNoteReference qui étend la classe EntityReference
- Dans l'ejb publication, ajout de l'implémentation PublicationDateReminderProcess de DateReminderProcess
- PublicationDateReminderProcess utilise la classe PublicationDateReminderUserNotification qui définit les paramètres d'envoi des notifications automatiques
Dans web-core :
- Ajout d'un tag du viewGenerator view:dateReminder qui affiche le fieldSet Rappel
Dans kmelia :
- Utilisation du tag view:dateReminder et utilisation du service