• Accueil / Salesforce / Pourquoi vous devriez…
, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives13 minutes de lecture


Lorsque vous créez des solutions, vous devez souvent référencer un composant ou un texte, qu’il s’agisse d’un type d’enregistrement, d’un ensemble d’autorisations, d’une file d’attente ou d’un utilisateur. Que fais-tu? Le moyen le plus rapide consiste à référencer l’ID Salesforce. Un et c’est fait. Mais est-ce le meilleur moyen ?

Une bonne pratique technologique consiste à ne pas référencer les identifiants ou le texte directement, ou à ne pas les « coder en dur ». Cette même meilleure pratique s’applique également au côté déclaratif. Vous ne devez pas coder en dur les ID ou le texte dans vos formules, règles de validation, processus, flux, etc.

Qu’y a-t-il de si mauvais dans le codage en dur ?

Mais pourquoi est-ce une si mauvaise chose à faire ? Il fait le travail. Voici trois raisons pour lesquelles vous ne devriez pas coder en dur.

Tout d’abord, le composant que vous devez référencer n’existe pas dans Production – vous venez de le créer pour la solution que vous construisez. Ce composant aura un nouvel ID qui n’existe que dans ce bac à sable. Ce même composant devra être créé dans chaque bac à sable menant à la production. Chaque fois que ce composant est créé, un ID Salesforce différent est créé et, par conséquent, un ID différent sera référencé. En conséquence, vous aurez différentes versions de votre formule, règle de validation, processus, flux, etc. dans vos sandbox et Production. Quel cauchemar de déploiement et de maintenance !

Deuxièmement, disons que vous avez codé en dur une messagerie affichée dans un écran Flow et d’autres composants présentés à votre communauté ou aux utilisateurs internes. Le marketing décide de mettre à jour le message. Devinez quoi? Étant donné que ce même message est codé en dur partout où il est affiché, vous devez maintenant conserver ce texte à tous les endroits – et cela suppose que vous vous souvenez de tous ces endroits.

Et troisièmement, si vous avez besoin de dépanner ou d’améliorer une solution existante et qu’elle fait référence à un ID codé en dur, vous ne pouvez pas facilement déterminer ce qu’est ce composant sans rechercher l’ID. L’ID Salesforce n’est pas autodescriptif.

Alternatives au codage en dur

Dans la mesure du possible, plutôt que d’utiliser l’ID ou le texte de codage en dur, référencez le composant par quelque chose qui est le même dans tous les bacs à sable/production et qui est moins susceptible de changer, comme l’API ou le nom du développeur. Ou, dans le cas de Flow, vous pouvez interroger avec un Get Records en utilisant le nom du développeur pour trouver l’ID ou le texte. Vous pouvez éventuellement utiliser le libellé du champ ; cependant, il peut y avoir des situations où l’étiquette change.

Du côté déclaratif, nous pouvons utiliser les mêmes outils de configuration (en d’autres termes, les super-pouvoirs) que les développeurs utilisent dans le code, tels que les types de métadonnées personnalisées (CMDT), les étiquettes personnalisées et les paramètres personnalisés, pour stocker les identifiants ou le texte Salesforce afin qu’ils puissent être géré en dehors d’un champ de formule, d’une règle de validation, de Process Builder, d’un flux, etc.

Apprenons à connaître chacun d’eux, quand vous devez l’utiliser ou ne pas l’utiliser, et comment le trouver, le configurer et le déployer. Ensuite, nettoyons ces organisations des identifiants et du texte codés en dur, d’accord ! ?

Avant d’entrer dans le vif du sujet de ce que sont les types de métadonnées personnalisées (ou CMDT), nous voulons noter que notre recommandation, en termes de trois outils de configuration, est d’utiliser d’abord les CMDT – ils ROCK !

Les métadonnées personnalisées sont des métadonnées d’application personnalisables, déployables, empaquetables et évolutives. Tout d’abord, vous créez une CMDT, qui définit la forme des métadonnées de l’application. Ensuite, vous créez une fonctionnalité réutilisable qui détermine le comportement en fonction des métadonnées de ce type. Semblable à un objet personnalisé ou à un paramètre personnalisé, une CMDT possède une liste de champs personnalisés qui représentent des aspects des métadonnées.

La meilleure partie est que les enregistrements de données associés à une CMDT sont des METADONNEES ! Pourquoi est-ce énorme ? Cela signifie que, comme la configuration et le code, après une actualisation ou une création de sandbox, les enregistrements de données restent de Production ! CMDT est déployable via des ensembles de modifications ou tout outil API de métadonnées.

Voici un exemple de création d’une CMDT.

Cliquez sur Nouveau. Fournissez l’étiquette, l’étiquette au pluriel et le nom de l’objet. Vous pouvez les appeler comme vous voulez. Dans cet exemple, nous le gardons nommé génériquement afin que nous puissions contenir plusieurs références CMDT.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Créez des champs personnalisés pour la CMDT. Dans cet exemple, nous créons un champ de texte générique que nous pouvons réutiliser pour plusieurs enregistrements CMDT.

Une fois terminé, cliquez sur Faire en sorte pour créer les enregistrements de données pour la CMDT.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Pour l’Étiquette et le Nom, donnez-lui un nom descriptif sans espaces. Ils peuvent être les mêmes que dans l’exemple ci-dessous. Fournissez l’ID Salesforce. Ici, nous fournissons l’ID de 18 caractères insensible à la casse.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Quand l’utiliserais-je ?
Utilisez-le pour toutes les choses ! Vous souhaitez d’abord utiliser CMDT sur une étiquette personnalisée ou un paramètre personnalisé. Les enregistrements de données CMDT sont de type métadonnées, ce qui signifie qu’ils ne sont pas supprimés avec les actualisations du bac à sable ou les nouveaux bacs à sable. Vous pouvez déployer les données à l’aide de CMDT dans des ensembles de modifications.

Quand ne l’utiliserais-je pas ?
Pour éviter les références d’ID codées en dur dans Flow, nous vous recommandons de faire un Get Records pour obtenir l’ID en utilisant l’API ou le nom du développeur au lieu d’un Get Records pour récupérer un ID stocké dans un enregistrement CMDT.

Où puis-je le trouver?
Dans Lightning, vous pouvez le trouver sous Code personnalisé | Types de métadonnées personnalisés.

Comment l’ajouter ?
Dans les règles ou formules de validation, sélectionnez Insérer un champ > $CustomMetadata >, puis recherchez le champ de type de métadonnées personnalisées. Une fois trouvé, sélectionnez le champ, cliquez sur Insérer, puis cliquez sur proche pour l’ajouter au champ de syntaxe.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Dans Flow, contrairement à une étiquette personnalisée ou à un paramètre personnalisé où vous utiliseriez la ressource Formule, nous effectuerons à la place une recherche d’enregistrement de la CMDT à l’aide les l’étiquette de l’enregistrement de données.

Dans cet exemple, nous recherchons l’enregistrement de données CMDT ID de type d’enregistrement du compte A.

Nous effectuerons une recherche d’enregistrement de la CMDT (trouvée sous la section personnalisée de l’objet). Utilisez l’étiquette pour rechercher l’enregistrement. Remarque : Cela doit correspondre exactement à votre enregistrement de données CMDT. Si ce n’est pas le cas, Flow ne le trouvera pas.

Une fois l’enregistrement de données trouvé, référencez le champ ID et stockez-le dans la ressource variable Flow.

Voici un GIF animé montrant comment configurer cela dans Flow.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Dans Process Builder, sélectionnez le genre Formule, sélectionnez Variables système, sélectionnez $CustomMetadata, localisez votre champ personnalisé et cliquez sur Choisir insérer. Puis clique Utilisez cette formule pour vérifier la syntaxe et enregistrer vos modifications.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Comment le déployer ?
En supposant que vous utilisez des ensembles de modifications, vous trouverez le nom CMDT répertorié par ordre alphabétique dans la liste des composants. Lorsque vous sélectionnez le nom CMDT, vous trouverez les enregistrements de données associés. De là, cliquez Afficher/Ajouter des dépendances. Cela identifiera la CMDT elle-même, les mises en page CMDT, les champs personnalisés, etc. Vous pouvez choisir d’ajouter tous ces composants à votre ensemble de modifications.

Nous vous avons donné un avant-goût des CMDT. Vous voulez en savoir plus ? Prenez-le d’un Trailhead All Star Ranger – il n’y a pas de meilleur endroit pour apprendre que sur Trailhead! Vérifiez Notions de base sur les types de métadonnées personnalisées module pour en savoir plus sur les CMDT dans les composants déclaratifs. Les CMDT sont un excellent outil à ajouter à votre boîte à outils #AwesomeAdmin. #KnowledgeIsPower

Qu’est-ce qu’une étiquette personnalisée ?

Traditionnellement, les étiquettes personnalisées permettent aux développeurs de créer des applications multilingues en présentant automatiquement des informations (par exemple, du texte d’aide ou des messages d’erreur) dans la langue maternelle d’un utilisateur. Les étiquettes personnalisées sont des valeurs de texte personnalisées accessibles à partir des classes Apex, des pages Visualforce ou des composants Lightning.

Cependant, des étiquettes personnalisées peuvent également être utilisées pour les champs de formule, les règles de validation, les processus et les flux. Considérez une étiquette personnalisée comme un champ de texte personnalisé qui n’est pas spécifique à un objet — elle peut être appelée n’importe où dans Salesforce. En d’autres termes, il n’est pas spécifique à un objet ou à un type de configuration et peut donc être exploité dans toute l’organisation.

Voici un exemple d’étiquette personnalisée.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Fournissez l’ID Salesforce. Pour jouer la sécurité, dans cet exemple, la valeur contient l’ID de 18 caractères insensible à la casse.

Conseil d’administration : vous pouvez catégoriser une étiquette personnalisée pour vous donner, ainsi qu’à vos administrateurs/développeurs, un indice sur l’endroit où elle est utilisée, car les étiquettes personnalisées n’ont pas de champ Description.

Quand l’utiliserais-je ?
Lorsque vous avez quelques circonstances où vous devez faire référence à une pièce d’identité.

Quand ne l’utiliserais-je pas ?
Lorsque vous avez plusieurs situations où vous référencez des ID ou du texte. Dans ces cas, il est logique que vous créiez une CMDT ou un paramètre personnalisé (pensez aux petites sœurs de l’objet personnalisé) pour stocker toutes vos références d’ID ou de texte Salesforce au même endroit.

Où puis-je le trouver?
Dans Lightning, vous pouvez le trouver sous Interface utilisateur | Étiquettes personnalisées.

Comment l’ajouter ?
Dans une règle ou une formule de validation, sous Insérer un champ, recherchez $ Label, puis recherchez l’étiquette personnalisée par nom. Une fois trouvé, sélectionnez le champ, cliquez sur Insérer, puis cliquez sur proche pour l’ajouter au champ de syntaxe.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Dans Flow, créez une ressource Formule. Dans la zone de formule, recherchez $ Label et développez-le. Localisez votre étiquette personnalisée et sélectionnez-la pour l’ajouter dans la zone de syntaxe.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Dans Process Builder, sélectionnez le type Formule, sélectionnez Variables système, sélectionnez $Étiquette, localisez votre champ personnalisé et cliquez sur Choisir insérer. Puis clique Utilisez cette formule pour vérifier la syntaxe et enregistrer votre travail.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Comment le déployer ?
En supposant que vous utilisez des ensembles de modifications, vous le trouverez sous Étiquettes personnalisées. Recherchez l’étiquette personnalisée et ajoutez-la à votre liste de composants.

Qu’est-ce qu’un paramètre personnalisé ?

Les paramètres personnalisés sont similaires aux objets personnalisés, car ils vous permettent de personnaliser les données de l’organisation. Contrairement aux objets personnalisés qui ont des enregistrements basés sur eux, les paramètres personnalisés vous permettent d’utiliser des ensembles de données personnalisés dans votre organisation ou de distinguer des utilisateurs ou des profils particuliers en fonction de critères personnalisés.

Remarque : À l’instar des enregistrements dans les objets personnalisés, les données d’un paramètre personnalisé ne sont que cela : des données. Cela signifie que vous devez exporter vos paramètres personnalisés avant une actualisation du bac à sable afin de pouvoir charger les enregistrements de données de paramètres personnalisés dans l’actualisation après l’actualisation du bac à sable.

Voici un exemple de paramètre personnalisé d’organisation.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Quand l’utiliserais-je ?
Lorsque vous rencontrez plusieurs situations dans lesquelles vous référencez des ID ou du texte dans des règles de validation, des formules ou des processus qui sont différents dans un bac à sable et en production (c’est-à-dire que l’URL pointe vers l’environnement de test dans les bacs à sable et vers l’environnement de production en production), cela peut faire sens pour vous de créer un paramètre personnalisé à l’échelle de l’organisation pour stocker toutes vos références d’ID Salesforce en un seul endroit.

Quand ne l’utiliserais-je pas ?
Si vous avez besoin de référencer des ID ou du texte dans des règles de validation, des formules, des processus ou des flux, vous souhaitez utiliser les CMDT comme premier choix, ce qui est une avancée par rapport aux paramètres personnalisés. Les enregistrements de données CMDT sont de type métadonnées, ce qui signifie qu’ils ne sont pas supprimés avec les actualisations du bac à sable ou les nouveaux bacs à sable. De plus, vous pouvez déployer les données à l’aide de CMDT dans des ensembles de modifications.

Où puis-je le trouver?
Dans Lightning, vous pouvez le trouver sous Code personnalisé | Paramètres personnalisés.

Cliquez sur Nouveau. Fournissez une étiquette et un nom d’objet (je fais généralement le même). Assurez-vous que le type de paramètre est Hiérarchie. Une fois créé, vous ne pouvez pas changer le type de paramètre.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Créez des champs personnalisés pour le paramètre personnalisé. Une fois terminé, cliquez sur Faire en sorte pour créer les enregistrements de données pour le réglage personnalisé.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Cliquez sur le premier Nouveau bouton. Cela vous permettra de définir les données au niveau de l’organisation.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Fournissez l’ID Salesforce. Ici, nous fournissons l’ID de 18 caractères insensible à la casse.

Comment l’ajouter ?
Dans les règles ou formules de validation, sous Insérer un champ, recherchez $Setup., puis recherchez le champ de paramètre personnalisé. Une fois trouvé, sélectionnez le champ et cliquez sur Insérer puis proche pour l’ajouter au champ de syntaxe.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Dans Flow, créez une ressource Formule. Dans la zone de formule, recherchez $Setup et développez-le. Localisez votre champ de paramètre personnalisé et sélectionnez-le pour l’ajouter dans la zone de syntaxe.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Dans Process Builder, sélectionnez le type Formule, sélectionnez Variables système, sélectionnez $Configuration, localisez votre champ personnalisé et cliquez sur Choisir insérer. Puis clique Utilisez cette formule pour vérifier la syntaxe et enregistrer votre travail.

, Pourquoi vous devriez éviter le codage en dur et trois solutions alternatives<span class="wtr-time-wrap after-title"><span class="wtr-time-number">13</span> minutes de lecture</span>

Comment le déployer ?
En supposant que vous utilisez des ensembles de modifications, vous le trouverez sous Paramètres personnalisés. Localisez le paramètre personnalisé et ajoutez-le à votre liste de composants. N’oubliez pas d’inclure également les champs du paramètre personnalisé. Ils se trouvent sous le type de composant Champs personnalisés et sont déployables. Vous pouvez utiliser Data Loader ou créer manuellement les données de paramètres personnalisés dans le bac à sable ou le post-déploiement de production.

Maintenant que vous êtes équipé de nouveaux super-pouvoirs #AwesomeAdmin, vous pouvez empêcher le codage en dur dans votre organisation !

Si vous voulez en savoir plus sur MOAR sur les CMDT, Trailhead est votre source de confiance pour tout savoir ! Découvrez ces autres excellentes ressources.

Ressources



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Vous utilisez Pardot depuis un certain temps mais vous n'êtes pas sûr d'en
exploiter tout le potentiel

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer