Guide de version 2GP
Architecture
Section intitulée « Architecture »flowchart TB
subgraph DEVHUB["Dev Hub (Production)<br/>hello@tucario.com"]
PM["Package Manager<br/>(2GP packages)"]
NS["Namespace Registry<br/>(linked)"]
NS --> PM
end
DEVHUB --> NSORG
subgraph NSORG["Namespace Org (Dev Org)<br/>michal@tucario.com.flexifree<br/>Namespace: tucariofts"]
end
Prérequis
Section intitulée « Prérequis »1. Dev Hub (Production)
Section intitulée « 1. Dev Hub (Production) »- Dev Hub activé : Setup > Dev Hub > Enable
- Namespace connecté : App Launcher > Namespace Registries > Link Namespace
2. Namespace Org (Partner Developer Org)
Section intitulée « 2. Namespace Org (Partner Developer Org) »- Namespace enregistré (unique, irréversible)
- Setup > Package Manager > Edit > Namespace Prefix
3. Environnement local
Section intitulée « 3. Environnement local »- Salesforce CLI installé
- Autorisation aux deux organisations
Référence rapide (copier-coller)
Section intitulée « Référence rapide (copier-coller) »# 1. Vérifier les organisationssf org list
# 2. Vérifier les packagessf package list --target-dev-hub DevHub
# 3. Vérifier les versionssf package version list --packages FlexibleTeamShare --target-dev-hub DevHub
# 4. Créer une nouvelle version (BETA)sf package version create --package FlexibleTeamShare --installation-key-bypass --wait 20 --code-coverage --target-dev-hub DevHub --definition-file config/package-scratch-def.json
# 5. Tester l'installation (remplacer l'ID et l'alias de l'organisation)sf package install --package 04tXXXXXXXXXXXXXXX --target-org TestOrg --wait 10
# 6. Promouvoir en RELEASED (IRRÉVERSIBLE !)sf package version promote --package 04tXXXXXXXXXXXXXXX --target-dev-hub DevHubCommandes
Section intitulée « Commandes »Autorisation d’organisation
Section intitulée « Autorisation d’organisation »# Dev Hub (production)sf org login web --alias DevHub --set-default-dev-hub
# Namespace Org (dev org avec namespace)sf org login web --alias FlexiFREEVérifier les organisations connectées
Section intitulée « Vérifier les organisations connectées »sf org listVérifier les packages existants
Section intitulée « Vérifier les packages existants »sf package list --target-dev-hub DevHubVérifier les versions du package
Section intitulée « Vérifier les versions du package »sf package version list --packages FlexibleTeamShare --target-dev-hub DevHubCréation d’une nouvelle version du package
Section intitulée « Création d’une nouvelle version du package »1. Mettre à jour la version dans sfdx-project.json (optionnel)
Section intitulée « 1. Mettre à jour la version dans sfdx-project.json (optionnel) »{ "packageDirectories": [ { "versionName": "ver 0.2", "versionNumber": "0.2.0.NEXT", "path": "force-app", "default": true, "package": "FlexibleTeamShare" } ], "namespace": "tucariofts"}2. Créer une version du package (beta)
Section intitulée « 2. Créer une version du package (beta) »sf package version create \ --package FlexibleTeamShare \ --installation-key-bypass \ --wait 20 \ --code-coverage \ --target-dev-hub DevHub \ --definition-file config/package-scratch-def.json3. Tester l’installation
Section intitulée « 3. Tester l’installation »sf package install \ --package 04tXXXXXXXXXXXXXXX \ --target-org TestOrg \ --wait 104. Promouvoir en version (production)
Section intitulée « 4. Promouvoir en version (production) »sf package version promote \ --package 04tXXXXXXXXXXXXXXX \ --target-dev-hub DevHubPublication sur AppExchange
Section intitulée « Publication sur AppExchange »- Connectez-vous à Partner Community
- Publishing > Listings > New Listing
- Ajoutez la version du package promue
- Remplissez les détails de la liste
- Soumettez pour examen
Dépannage
Section intitulée « Dépannage »”Not available for deploy for this organization” (traductions)
Section intitulée « ”Not available for deploy for this organization” (traductions) »L’organisation scratch n’a pas Translation Workbench activé.
Solution : Utilisez --definition-file config/package-scratch-def.json qui inclut :
{ "orgName": "Package Build Org", "edition": "Enterprise", "settings": { "languageSettings": { "enableTranslationWorkbench": true, "enableEndUserLanguages": true, "enablePlatformLanguages": true } }}“No such column” (erreurs FLS)
Section intitulée « “No such column” (erreurs FLS) »Utilisez WITH SYSTEM_MODE au lieu de WITH USER_MODE dans les requêtes SOQL.
”You cannot deploy to a required field”
Section intitulée « ”You cannot deploy to a required field” »Supprimez les champs requis des ensembles de permissions (les champs requis n’ont pas besoin de FLS).