Project

General

Profile

Feature #6088

Notifications : Entête et pied de page

Added by Nicolas Eysseric almost 5 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Notifications
Start date:
12/01/2014
Due date:
% Done:

100%

Estimated time:

Description

Actuellement, de nombreuses notifications sont envoyés aux utilisateurs.
Certaines d'entre elles peuvent être personnalisées grâce au mécanisme de StringTemplate. D'autres ne bénéficient pas encore de ce mécanisme.

Afin d'homogénéiser ces notifications et de les rendre encore plus facilement personnalisables, il est nécessaire de mettre en place deux templates : header_XX.st et footer_XX.st.
Ils seront inclus respectivement au début et à la fin de chaque notification.

Ce mécanisme présente au moins deux avantages :
  • permet d'inclure un entête et/ou un pied de page personnalisé identique pour toutes les notifications
  • homogénéiser les styles inclus dans ces notifications en les définissant une seule fois (dans l'entête ou le pied de page)

Ce mécanisme devrait profiter à toutes les notifications (utilisant StringTemplate ou non). La synthèse des notifications n'est pas concernée car elle est déjà complètement personnalisable via $SILVERPEAS_HOME/resources/StringTemplates/core/notification/delayed/messageHeader_XX.st et messageFooter_XX.st.

History

#1

Updated by Cécile Bonin almost 5 years ago

  • Status changed from Assigned to In progress...
  • Target version set to Version 5.15
  • % Done changed from 0 to 90

- Mise en place d'un entête et d'un pied de page dans les StringTemplates pour les notifications par mails
$SILVERPEAS_HOME/resources/StringTemplates/core/notification/ SMTPmessageHeader_XX.st et SMTPmessageFooter_XX.st

- Suppression des styles font-family et font-size (centralisés dans le nouveau StringTemplates d'en-tête de notification) dans tous les StringTemplates de notifications existants

- Harmonisation de l'affichage du message saisi par l'auteur d'une notification (sur fond jaune), dans tous les StringTemplates de notifications existants et dans la notification classique

- Chaque application peut définir un libellé spécifique du bouton de lien (bouton permettant d'aller vers la contribution, objet de la notification) apparaissant dans le pied de page.
Tous les libellés ont été spécialisés en : Voir ce nouveau dossier, Voir cette publication, Voir ce document, Voir cet événement etc...

Libellé par défaut = Voir cette contribution

Techniquement, pour les notifications s'appuyant sur des StringTemplates (classe qui étend la classe AbstractTemplateUserNotificationBuilder), il faut définir la clé de properties de ce libellé dans la méthode getContributionAccessLinkLabelBundleKey().

Pour les notifications ne s'appuyant pas sur le mécanisme des StringTemplates, il suffit de définir le libellé dans l'attribut linkLabel de la nouvelle classe org.silverpeas.util.Link
et setter cet objet à la classe NotificationMetaData.

String url = getObjectUrl(id);
Link link = new Link(url, message.getString("delegatednews.notifLinkLabel"));
notifMetaData.setLink(link, language);

- Modification des StringTemplates de synthèse de notifications, sur le même modèle graphique d'en-tête et pied de page.

- Mise en place d'un StringTemplates pour l'affichage des destinataires de notifications (utilisateurs et/ou groupes), quand le paramétrage le permet
$SILVERPEAS_HOME/resources/StringTemplates/core/notification/ messageFooter_XX.st

Techniquement, pour ajouter les destinataires dans les notifications s'appuyant sur des StringTemplates (classe qui étend la classe AbstractTemplateUserNotificationBuilder), il suffit d'appeler la méthode displayReceiversInFooter() sur la classe NotificationMetaData dans la classe perform

protected void perform(final ForumDetail resource) {
super.perform(resource);
getNotificationMetaData().displayReceiversInFooter();
}

Pour les notifications ne s'appuyant pas sur le mécanisme des StringTemplates, il suffit d'appeler la méthode displayReceiversInFooter() sur la classe NotificationMetaData.

notifMetaData.displayReceiversInFooter();

- Suppression de l'affichage des destinataires (centralisés dans le nouveau StringTemplates de pied de page messageFooter) dans tous les StringTemplates de notifications existants

- Ajout de l'appel à la méthode displayReceiversInFooter() pour afficher les destinataires dans les notifications manuelles qui ne s'appuient pas sur le mécanisme de StringTemplates (Médiathèque, Enquête)

- Dans les notifications s'appuyant sur des StringTemplates (classe qui étend la classe AbstractTemplateUserNotificationBuilder), ajout de l'attribut silverpeasURL (contenant le lien vers la contribution) à l'objet SilverpeasTemplate.
De cette façon, dans tous les StringTemplates, on peut utiliser la variable $silverpeasURL$

- Suppression de l'ajout d'attribut silverpeasURL, ou url dans toutes les applications, devenus inutiles.

- Modification des StringTemplates de partages de dossier/publication/fichier pour harmoniser l'affichage avec les autres templates

- Cette évolution ne concerne pas l'envoie de mail pour la Demande de réinitialisation de mot de passe (non basé sur les NotificationMetaData)

- Cette évolution ne concerne pas l'envoie de mails provenant de l'application Archivage d'e-mails

#2

Updated by Cécile Bonin over 4 years ago

  • % Done changed from 90 to 100

- Ajouts/suppressions de libellés manquants/en trop dans les Bundles de certaines applications

- Modifications de libellés de Bundles qui ne s'affichaient pas correctement dans certaines applications (Page web)

- Ajouts de messages manquants dans des StringTemplates de certaines applications (Actualités, Gestion documentaire)

- Modifications de messages erronés ou qui ne s'affichaient pas correctement dans des StringTemplates de certaines applications (Actualités déléguées, Gestion documentaire, Trouver une date, Question réponse, Petites annonces)

- Suppression de certains fichiers de StringTemplates non utilisés (Blog, Petites annonces)

- Correction de bugs : l'envoi de notifications en langue Allemande ne fonctionne pas (Almanach, Chat, Formulaires en ligne, Médiathèque, Gestion de projets, Gestion de ressources, Annuaire d'experts)
Qualification : dans les notifications ne s'appuyant pas sur le mécanisme des StringTemplates, on traitait en dur uniquement les langues Francaises et Anglaises. La langue Allemande était totalement omise et si une nouvelle langue était disponible, elle n'aurait pas été traitée non plus.
Correction effectuée : passage en revue des langues de DisplayI18NHelper.getLanguages()

- Correction de bug : Gestion de projet - les notifications sont envoyées uniquement en Français, quelque soit la langue de l'utilisateur.
Qualification : les messages de notifications sont en dur.
Correction effectuée : ajout des libellés dans les Bundles.

- Correction de bug : Gestion documentaire - les utilisateurs de langue Allemande ne reçoivent pas les notifications manuelles de publications.
Qualification : problème d'encodage du fichier StringTempaltes notification_de
Correction effectuée : suppression - ajout du même fichier correctement encodé

#4

Updated by Yohann Chastagnier over 4 years ago

  • Status changed from Resolved to Closed

Validé et intégré.

A l'occasion de cette intégration le contenu d'une notification par POPUP a été harmonisé avec celle de la boîte de notification. Ainsi, il est maintenant possible d'accéder à la ressource ciblée par la notification.

Also available in: Atom PDF