
Andrew Hanna

Andrew Hanna

Reponse courte : une release AppExchange se deroule en cinq etapes : creer une version beta du package, la valider, la promouvoir en version released, la relier a votre listing, puis faire migrer vos abonnes. Chaque version de package geree de seconde generation nait en beta, la promotion est irreversible, et seuls les packages ayant passe la security review peuvent etre pousses dans les orgs abonnees.
sf package version promote transforme
la beta en version released.
La plupart des equipes ISV font deja ces cinq etapes quelque part. Ce qui manque, en general, c'est l'ordre, la barriere entre chaque etape et un registre fiable indiquant quelle org abonnee tourne sur quelle version.
L'upgradabilite depend de l'ancestry, pas du numero de version que
vous avez saisi. Chaque nouvelle version 2GP declare un ancetre dans
sfdx-project.json, et Salesforce recommande
ancestorVersion: HIGHEST pour que l'ancetre suive automatiquement votre
plus haute version promue. Les clients existants ne peuvent pas migrer vers une
version creee sans ancetre declare : un seul build sans ancetre produit donc une
version que personne ne peut atteindre.
La promotion est la barriere la plus importante, parce qu'elle ne se defait pas.
La promotion doit partir de votre pipeline, derriere une approbation humaine explicite, jamais du portable qui se trouve authentifie sur le Dev Hub. Le droit de promouvoir est lui-meme un controle : accordez-le via un permission set plutot qu'a tous ceux qui ont acces a la CLI.
Pour un premier listing, la security review se place entre la validation et la publication, et c'est le poste le plus long du calendrier. Pour les mises a jour, la logique change. Une review complete n'est pas requise pour chaque patch ou chaque upgrade, et ce qui commande la publication, c'est le statut du listing. S'il affiche Ready to List, vous pouvez publier le listing mis a jour sans soumettre la nouvelle version. S'il affiche Security Review Required, vous ne publiez pas tant que cette version n'est pas validee.
Salesforce mene aussi des re-reviews periodiques, et une version porteuse de changements significatifs les declenche plus facilement. Budgetez donc du temps de review pour les releases qui touchent l'architecture, l'authentification ou les appels sortants, et arretez d'en prevoir pour les corrections de routine. Verifiez les regles en vigueur dans le guide ISVforce sur la mise a jour d'un listing avant de batir un trimestre dessus.
Trois leviers, du moins au plus intrusif :
Un deploiement progressif qui tient : vos propres orgs d'abord, puis les orgs partenaires et sandbox, puis une petite cohorte de clients volontaires, puis tous les autres par lots planifies hors heures de pointe. Laissez entre deux cohortes le temps qu'un vrai ticket de support arrive, ce qui represente en general une journee ouvree complete et non une heure.
Ce quatrieme point est celui que les equipes repoussent et regrettent, car la qualite du support en depend plus que de tout le reste. Serpent couvre les workflows 1GP, 2GP et managed package, la resolution des dependances entre packages et la gestion des versions a travers les orgs abonnees sur toutes les formules, y compris la formule gratuite. D'autres playbooks de packaging sont dans notre bibliotheque SF Guides.
Puis-je annuler la promotion d'une version de package ?
Non. Un numero de version ne peut etre promu et publie qu'une fois, et le changement est irreversible. Traitez la promotion comme une decision de release, pas comme une etape de build.
Faut-il une nouvelle security review a chaque release ?
Non. Une review complete n'est pas exigee pour chaque patch ou upgrade. La publication depend du statut de votre listing, et Salesforce peut demander une re-review periodique si une version change significativement.
Pourquoi mon client ne peut-il pas passer a ma derniere version ?
Le plus souvent, l'ancestry. Les clients existants ne peuvent pas migrer vers une version creee sans ancetre declare : verifiez donc l'ancetre avant tout le reste.
Quelle difference entre version recommandee et push upgrade ?
Une version recommandee affiche a l'abonne l'option Upgrade to Recommended Version et lui laisse le calendrier. Un push upgrade deplace son org a votre place, selon votre calendrier.
Une beta compte-t-elle comme une release ?
Non. Toute version 2GP commence en beta et ne s'installe que pour tester. Elle devient une release au moment ou vous la promouvez.
Sans engagement.