Salesforce DevOps Woordenlijst

Unlocked Package

Een pakket dat netjes installeert over orgs zonder dat Salesforce de code of logica verbergt.

Definitie

Een unlocked package is een 2GP-pakkettype dat metadata bundelt tot een geversioneerd, installeerbaar artefact voor interne, org-naar-org-distributie, zonder de code-verbergende of namespace-afdwingende vereisten van een managed package. Eenmaal geïnstalleerd blijven de meeste componenten zichtbaar en bewerkbaar in de subscriber-org, en worden ze bij verwijdering netjes verwijderd, in tegenstelling tot unmanaged metadata.

Er een bouwen betekent het definiëren van een pakketmap in sfdx-project.json, het verbinden van een Dev Hub, en het draaien van sf package version create om een onveranderlijke versie te produceren die is gebouwd vanuit een verse scratch org. Elke versie ondersteunt afhankelijkheden van andere pakketten en getrackte ancestry tussen releases.

De afweging is dat niets in een unlocked package verborgen is, dus het is geen goede fit voor het uitleveren van closed-source logica aan betalende klanten, en teams hebben nog steeds een buildpipeline nodig om versiecreatie en promotie te scripten, tenzij ze tooling gebruiken die dit voor hen afhandelt.

In de praktijk

Hoe het werkt in Serpent

Serpent bouwt, versioneert en promoot unlocked packages native, zonder dat teams sf package version create en dependency-resolutie handmatig hoeven te scripten. Pakketmappen, versienummers en ancestry worden beheerd via de UI, zodat de wijzigingen van een taak automatisch een pakketversie worden zodra werk wordt afgebakend en goedgekeurd. Promotie tussen orgs, drift-detectie tegen geïnstalleerde versies, en rollback naar een eerdere pakketversie worden op dezelfde manier afgehandeld als elke andere release. Zie pakketontwikkeling in Serpent voor de volledige workflow.

Commit-naar-package-mapping in Serpent
Veelgestelde vragen

Unlocked Package, uitgelegd

Kunnen subscribers de code in een unlocked package zien en bewerken?
Ja. Unlocked packages verbergen code niet zoals managed packages dat doen, dus de meeste componenten blijven zichtbaar en bewerkbaar na installatie, hoewel sommige metadatatypen als protected kunnen worden gemarkeerd.
Kan ik een unlocked package later omzetten naar een managed package?
Nee. Het pakkettype wordt ingesteld bij het aanmaken van het pakket en kan daarna niet worden gewijzigd, dus overstappen naar managed betekent een nieuw pakket bouwen.
Ondersteunen unlocked packages versiebeheer en afhankelijkheden zoals managed packages?
Ja. Omdat beide 2GP gebruiken, ondersteunen unlocked packages volledige versienummers, ancestry-tracking en afhankelijkheden van andere pakketten, net als 2GP managed packages.

Start gratis. Geen creditcard, geen installatie, geen verplichting.

Binnen 15 minuten ingericht. Geen DevOps-aanwerving nodig.

Benieuwd naar sneller releasen voordat je instapt? Laten we praten

Vrijblijvend.