Contexte
Pour mettre à disposition des données dans les templates, un contexte est utilisé. Ce contexte est un objet JSON qui contient l'ensemble des données nécessaires à la génération des fichiers. Ce contexte peut être accédé simplement, et permet notamment d'accéder à l'objet principal de la génération, ainsi qu'à des objets complexes.
Objet principal
L'objet principal de la génération est l'objet qui est à l'origine de la génération. Selon les écrans de l'application, il peut s'agir d'un Job d'un Groupe, d'un Déploiement ou d'une Plateforme.
Dans le cas d'un Job, l'objet principal est le Job lui-même. Dans le cas d'un Groupe, l'objet principal est le Groupe. Dans le cas d'un Déploiement, l'objet principal est le Déploiement. Dans le cas d'un envoi générique, les envois sont réalisés pour chaque Plateforme, et l'objet principal est la Plateforme.
Champ de fusion basé sur le contexte
Exemple, dans le cadre d'un job :
<p>{{ context.get('object').get('id').toTextValue() }}</p>
La propriété object
est l'objet principal de la génération, et peut être utilisé pour ensuite accéder aux données et
sous objets liés :
<p>{{ context.get('object') context.get('platform').get('customer').get('name').toTextValue() }}</p>
La liste des données, objets et sous objets disponibles est détaillée dans la documentation champs de fusion.
Modèle de données
Le schéma ci-dessous représente le modèle de données de l'application, simplifié pour ne montrer que les liens entre les principaux objets, utilisés dans le contexte des communications.
- JobEntity : Job
- GroupEntity : Groupe de Jobs
- DeploymentEntity : Déploiement
- CustomerEntity : Client
- PlatformEntity : Plateforme
- ProductEntity : Produit
- ProductReleaseEntity : Version du produit
Champs de fusion complexes
Dans le cas des contextes Groupe et Déploiement, des champs de fusions complexes sont ajoutés permettant de parcourir l'ensemble des plateformes de manière ordonnée par client. Lire Champs de fusion > Objets complexes.
Message utilisateur
Dans le cas d'un modèle où on permet à l'utilisateur de saisir un message, le champ de fusion userInput
est
disponible et permet d'en afficher le contenu.
<p>{{ userInput }}</p>