Modèles

Plume s’appuie sur une logique de modèle pour aider les utilisateurs à rédiger leurs emails.

Ces modèles sont déterminés à partir d’une recherche de document de classe Template (cette classe peut être modifiée par la propriété flower.template.class). Les modèles doivent donc être accessibles aux utilisateurs utilisant Plume.

Filtres

Les modèles disponnibles pour un utilisateur peuvent être filtrés en fonction de différents filtres.

Le premier concerne la source de modèle. Dans cette documentation, seuls les modèles issus de Flower sont documentés, c’est pourquoi les différents exemples de filtres ont la propriété source valorisée à flower.


Il est également possible de définir des filtres sur des tags portés par les modèles. Par exemple, si la classe Template possède un tag TemplateType, il est posssible de définir un ensemble de filtres tel que :

var filters = { "source": [ "flower" ], "TemplateType": ["Custom"] };

Types de modèle

En fonction du type de modèles, différentes fonctions doivent être appelées pour initialiser le plugin Plume.

Corps de l’email

Le premier type de modèle concerne le corps de l’email à rédiger.

context.getTemplatesComponent().initTemplates(filters);

Signature

Le second type de modèle concerne la signature de l’utilisateur rédigeant l’email.

context.initSignature(filters);

Variables

La notion de variable peut être utilisée au sein des modèles afin de les pré-remplir et ainsi faciliter la rédaction d’un email.


Par défaut, plusieurs variables sont valorisées par défaut comme :

  • les tags : l’ensemble des tags du composant ouvert sont ajoutés comme variable
  • l’URL de la GUI : flowerURL
  • le nom de l’utilisateur connecté : userDisplayName
  • l’adresse email de l’utilisateur connecté : userMail
  • le scope courant : scope


Il est également posssible de rajouter des variables personnalisées :

$wnd.getARenderJS().preparePluginEvent("<name>", "<value>", "plume");


Une fois définies, ces variables peuvent être utilisés dans les modèles tel que {variableName}.