Préparation à la création d’une application
Objectifs de formation
- Expliquer la structure des projets Salesforce DX
- Décrire comment utiliser Salesforce CLI pour créer un projet
- Décrire comment utiliser Salesforce CLI pour importer des exemples de données
Création d’un projet Salesforce DX
Avant de pouvoir créer votre première application, il vous faut créer un projet et l’associer à votre référentiel de contrôle source.
Un projet Salesforce DX est une copie locale des métadonnées de votre package : il regroupe du code et des personnalisations associés. Il contient également les ressources de base requises pour synchroniser la source et les métadonnées du projet local avec vos organisations test. Créez le projet sur la même machine sur laquelle vous avez installé Salesforce CLI, puis synchronisez ce projet avec votre référentiel VCS.
Commençons sans attendre. Créez un projet appelé geolocation
(géolocalisation).
- Dans une fenêtre de terminal ou de commande, accédez à l’emplacement où vous souhaitez que votre projet se trouve.
- Créez le projet :
sf project generate --name geolocation
Cette commande crée un dossier appelé geolocation (géolocalisation), ainsi qu’un projet comportant l’ensemble des actifs dans la structure de dossiers appropriée. Voici un exemple de projet local. Vous pouvez voir comment un projet évolue une fois que vous commencez à ajouter du code source, des composants Lightning et des classes, entre autres.Ressource Description sfdx-project.json
Ce fichier indique que le répertoire est un projet Salesforce DX. Il contient des informations sur le projet et facilite l’authentification des organisations. Il indique également à Salesforce CLI où placer les fichiers lors de la synchronisation entre le projet et l’organisation. Dans ce fichier, vous précisez les aspects suivants : - Les chemins d’accès à votre code source, vos classes et vos métadonnées, tels qu’ils se trouvent dans un ou plusieurs répertoires de packages. Ici, ils figurent dans
force-app
. - L’espace de noms, si nécessaire.
- La version d’API de votre source.
config/project-scratch-def.json
Détermine la configuration d’une organisation test, y compris les fonctionnalités et paramètres qui définissent sa forme d’organisation. Vous pouvez créer un fichier de configuration que l’ensemble de votre équipe de développement peut partager. force-app
Le dossier contenant la source de votre projet. - Les chemins d’accès à votre code source, vos classes et vos métadonnées, tels qu’ils se trouvent dans un ou plusieurs répertoires de packages. Ici, ils figurent dans
Configuration d’un fichier de définition d’organisation test
Les fichiers de définition d’organisation test vous permettent de créer facilement des organisations test avec différentes fonctionnalités ou préférences à des fins de test. Par exemple, vous pouvez activer ou désactiver la mise en cache Web de Salesforce mobile en définissant la préférence d’organisation enables1EncryptedStoragePref2
. Pendant le développement, la désactivation de la mise en cache vous permet d’éviter d’actualiser la page à plusieurs reprises en attendant que les modifications apportées au code de votre composant prennent effet.
Mettez éventuellement à jour le contenu du fichier config/project-scratch-def.json
pour le rendre plus personnel, par exemple en modifiant la propriété orgName
.
{ "orgName": "Account Geolocation App", "edition": "Developer", "features": ["EnableSetPasswordInApi"], "settings": { "lightningExperienceSettings": { "enableS1DesktopEnabled": true }, "mobileSettings": { "enableS1EncryptedStoragePref2": false } } }
Création d’une organisation test
Maintenant que vous comprenez quelle est la puissance des organisations test, voici le flux de travail de base que vous pouvez utiliser dans le modèle de développement de packages.
- Transférez votre source et vos métadonnées locales vers une organisation test.
- Reprenez dans votre projet local toutes les modifications apportées dans l’organisation test.
- Synchronisez ce projet avec votre référentiel de contrôle source.
Toutefois, avant de pouvoir travailler avec le flux de travail, nous devons d’abord créer une organisation test. Allons-y.
- Dans la fenêtre de commande, passez au répertoire du projet
geolocation
(géolocalisation).cd geolocation
- Créez une organisation test ayant pour alias GeoAppScratch.
sf org create scratch --set-default --definition-file config/project-scratch-def.json --alias GeoAppScratch
Ce processus peut parfois prendre quelques instants. Nous avons utilisé les indicateurs suivants lors du lancement de la commande :
- L’indicateur
--set-default
signifie que vous souhaitez que cette organisation test soit l’organisation par défaut pour ce projet lors de l’exécution de commandes Salesforce CLI. Pour utiliser une organisation différente par commande, vous pouvez spécifier l’indicateur--target-org
et indiquer un autre alias. - L’indicateur
--definition-file
est le chemin d’accès au fichier de configuration de l’organisation test du projet. - Vous souvenez-vous de l’indicateur
--alias
de l’unité précédente ? Il vous permet de faire référence à l’organisation en utilisant son alias, GeoAppScratch, dans les prochaines commandes qui acceptent l’indicateur--target-org
.
Création d’exemples de données
Les organisations test sont fournies avec des données standard fondées sur l’édition que vous choisissez. Cependant, il est important d’ajouter des exemples de données plus pertinents pour l’application ou le package que vous créez. Utilisons donc Salesforce CLI pour créer des exemples de comptes à tester avec notre application de géolocalisation.
- Créez le compte Marriott Marquis.
sf data create record --sobject Account --values "Name='Marriott Marquis' BillingStreet='780 Mission St' BillingCity='San Francisco' BillingState='CA' BillingPostalCode='94103' Phone='(415) 896-1600' Website='www.marriott.com'"
- Créez le compte Hilton Union Square.
sf data create record --sobject Account --values "Name='Hilton Union Square' BillingStreet='333 O Farrell St' BillingCity='San Francisco' BillingState='CA' BillingPostalCode='94102' Phone='(415) 771-1400' Website='www.hilton.com'"
- Créez le compte Hyatt.
sf data create record --sobject Account --values "Name='Hyatt' BillingStreet='5 Embarcadero Center' BillingCity='San Francisco' BillingState='CA' BillingPostalCode='94111' Phone='(415) 788-1234' Website='www.hyatt.com'"
Pour continuer à faire évoluer les possibilités qui s’offrent à vous en tant que développeur, nous fournissons des commandes permettant de récupérer facilement les données de votre organisation test et de les intégrer à votre projet. Vous pouvez ensuite valider ces données dans votre référentiel de contrôle source afin de pouvoir les recharger si vous, ou un autre développeur, lancez une nouvelle organisation test.
Quel que soit le système de contrôle source que vous utilisez, nous vous recommandons de le configurer de sorte que le dossier.sf
ne puisse pas être ajouté au référentiel. Ce dossier contient des informations temporaires sur vos organisations test, vous n’avez donc pas besoin de les enregistrer à des fins ultérieures. Dans Git, vous l’ajouteriez au fichier.gitignore
.
- Dans votre projet de géolocalisation Salesforce DX, créez un répertoire appelé
data
(données).mkdir data
- Exportez quelques exemples de données.
sf data export tree --query "SELECT Name, BillingStreet, BillingCity, BillingState, BillingPostalCode, Phone, Website FROM Account WHERE BillingStreet != NULL AND BillingCity != NULL and BillingState != NULL" --output-dir ./data
Vous disposez désormais d’exemples de données que vous pourrez importer ultérieurement avec cette commande. Toutefois, ne le faites pas maintenant : nous importerons les données dans une autre organisation test ultérieurement.sf data import tree --files data/Account.json
Jusqu’à présent, nous avons synchronisé des données classiques. Nous allons maintenant nous tourner vers la partie la plus intéressante : le code.