Salesforce-DevOps-Glossar

Unlocked Package

Ein Paket, das sauber über Orgs hinweg installiert, ohne dass Salesforce seinen Code oder seine Logik verbirgt.

Definition

Ein Unlocked Package ist ein 2GP-Pakettyp, der Metadaten zu einem versionierten, installierbaren Artefakt für interne Org-zu-Org-Verteilung bündelt, ohne die Code-Verschleierung oder Namespace-Durchsetzung, die ein Managed Package erfordert. Nach der Installation bleiben die meisten Komponenten in der Subscriber Org sichtbar und bearbeitbar und werden bei Deinstallation sauber entfernt, anders als bei Unmanaged-Metadaten.

Eines zu bauen bedeutet, ein Paketverzeichnis in sfdx-project.json zu definieren, einen Dev Hub zu verbinden und sf package version create auszuführen, um eine unveränderliche Version zu erzeugen, die aus einer frischen Scratch Org gebaut wird. Jede Version unterstützt Abhängigkeiten zu anderen Paketen und verfolgte Ancestry zwischen Releases.

Der Kompromiss ist, dass in einem Unlocked Package nichts verborgen ist, es eignet sich also nicht dafür, Closed-Source-Logik an zahlende Kunden auszuliefern, und Teams brauchen weiterhin eine Build-Pipeline, um Versionserstellung und Promotion zu skripten, sofern sie kein Tooling einsetzen, das dies für sie übernimmt.

In der Praxis

So funktioniert es in Serpent

Serpent baut, versioniert und promotet Unlocked Packages nativ, ohne dass Teams sf package version create und die Abhängigkeitsauflösung von Hand skripten müssen. Paketverzeichnisse, Versionsnummern und Ancestry werden über die UI verwaltet, sodass die Änderungen eines Tasks automatisch zu einer Paketversion werden, sobald Arbeit abgegrenzt und genehmigt ist. Promotion zwischen Orgs, Drift-Erkennung gegenüber installierten Versionen und Rollback zu einer früheren Paketversion werden genauso gehandhabt wie jedes andere Release. Siehe Paketentwicklung bei Serpent für den vollständigen Workflow.

Commit-zu-Package-Zuordnung in Serpent
Häufige Fragen

Unlocked Package, erklärt

Können Subscriber den Code in einem Unlocked Package sehen und bearbeiten?
Ja. Unlocked Packages verbergen Code nicht wie Managed Packages, sodass die meisten Komponenten nach der Installation sichtbar und bearbeitbar bleiben, obwohl manche Metadatentypen als geschützt markiert werden können.
Kann ich ein Unlocked Package später in ein Managed Package umwandeln?
Nein. Der Pakettyp wird bei der Erstellung festgelegt und kann danach nicht geändert werden, daher bedeutet ein Wechsel zu Managed, ein neues Paket zu bauen.
Unterstützen Unlocked Packages Versionierung und Abhängigkeiten wie Managed Packages?
Ja. Da beide 2GP nutzen, unterstützen Unlocked Packages vollständige Versionsnummern, Ancestry-Tracking und Abhängigkeiten zu anderen Paketen, genau wie 2GP-Managed-Packages.

Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.

In unter 15 Minuten eingerichtet. Keine DevOps-Einstellung nötig.

Neugierig auf schnelleres Shipping, bevor Sie einsteigen? Sprechen wir

Unverbindlich.