Tutoriel : types de données définis par Apex pour admins Salesforce
12 Jun 2019
Table de matières
Depuis l’édition été 2019, Salesforce facilite la collaboration entre administrateurs et développeurs Salesforce pour augmenter des flux (Flow Builder) avec le code Apex à travers les «types de données définis par Apex».
Cet article est déstiné aux admins, mais avec des notes pour partager avec vos devs !
Bienvenue, les participants du Global Gathering TrailheaDX
- Voici les diapositives (PDF)
Désolée de ne pas avoir fini la traduction du tutoriel (anglais ici).
- Revenez dans quelques semaines pour la version finale de cet article, parce que c’est trop cool – vous apprendrez construire ce flux d’écran qui affiche des GIF drôles au hazard:
- Suivez les annonces des évenements du groupe Paris Developers Group – j’espère animer une démonstration pendant un Meetup (en téléconférence pour ceux qui ne sont pas à Paris).
Quoi de neuf ?
Selon les notes de publication, l’édition de Salesforce «été 2019» inclut une nouvelle fonctionnalité pour les variables de Flux («Flow») : les «types de données définis par Apex».
Cette fonctionnalité prétend de faciliter l’augmentation des flux avec du code Apex.
(Après l’avoir essayé, je confirme !)
- Auparavant, il fallait choisir un type de données très simple pour un variable de flux comme Texte, Numérique, Booléen, etc.
- Il éxistait aussi une option d’Enregistrement, ce qui pouvait représenter les contenus d’un enregistrement d’un objet (une table) de votre organisation Salesforce.
Mais c’était tout ce qu’il y avait – rien de plus complexe.
Depuis l’édition Summer ‘19, comme «type de données» pour un variable de Flux, l’on peut choisir aussi MeilleurTypeDeDonnees
ou GuideDeLangue
.
(Ou, comme se voit aux notes de publication, Car
– c’est à dire «voiture».)
Mais pourquoi ?
Bon … si vous êtes admin, j’imagine que vous vous demandez en ce moment :
Qu’est-ce qu’un
MeilleurTypeDeDonnees
??
Bonne question !
Alors … c’est un peu comme le type de données «enregistrement» qui éxistait déjà.
C’est à dire : Si l’on stockait un enregistrement «Contact» dans un variable de flux typé «enregistrement» qui s’appelle «monVariable1
», on pourrait faire référence aux champs tels que FirstName
et LastName
avec ces morceaux de code :
{!myVariable1.FirstName}
{!myVariable1.LastName}
Dans ce cas, l’on peut tenir pour acquis la présence de FirstName
et de LastName
en toute liste de sélection du Flow Builder au moment de faire référence à myVariable1
.
Imaginez alors de pouvoir faire pareil avec quelconque structure de données – selon vos voeux.
Imaginez de vous dire :
- Je voudrais representer l’idée d’une «guide de langue» – disons
GuideDeLangue
.- Je veux qu’elle se compose des éléments comme :
langue
etdireBonjour
etdireAuRevoir
, regroupés comme les champs d’un objet Salesforce.- Mais je ne veux pas créer un objet Salesforce pour stocker de tels petits détails que
anglais
/Hi
/Bye
. C’est trop d’effort de maintenir; l’on n’accède pas à ces infos en hors des flux.
Depuis l’été 2019, c’est possible d’éffectuer !
D’abord, demander à un développeur de créer la classe Apex suivante :
public class GuideDeLangue {
@AuraEnabled public String langue;
@AuraEnabled public String direBonjour;
@AuraEnabled public String direAuRevoir;
}
Ensuite, ouvrez un flux en Flow Builder et:
- Clicquez sur Boîte à outils -> Gestionnaire -> Nouvelle ressource
- Choisissez «Variable» de la liste de sélection «type de ressource».
- Tapez un bon «nom d’API» comme
uneGuide
- Choisissez «Définie par Apex» de la liste de sélection «Type de données».
- Choisissez «GuideDeLangue» de la liste de sélection «Classe Apex».
- Cliquez sur «Terminé»
A gauche, sous «Ressources», vous verrez une nouvelle ressource «uneGuide
» dans la section «Variables définies par Apex».
Cette variable, en soi, n’est pas très intéressant.
Alors stockons des données là-dedans affichons cette variable sur un élément de flux «écran», mais stockons des données dans cette variable et affichons ses contenus sur un écran.
(Fin du tutoriel en français … revenez bientôt pour le reste! Ou voir l’anglais.)