Product delivery
Product delivery overview
Package resources as versioned products and install them into projects.
Product delivery moves work between projects in a controlled way. You package resources (apps, graphs, object types and more) as a product, publish versions of it, and install it into other projects. Installs know which version they run and can be upgraded, locked or rolled back.
It lives in Marketplace, under the Products and Groups tabs.
Core ideas
| Concept | What it is |
|---|---|
| Product | A named bundle of resources, published as semantic versions (MAJOR.MINOR.PATCH). |
| Version | One release: a fixed list of resources plus its changelog, release channel, linked products, tags and input presets. |
| Install | A copy of one version's resources in a target project, with its channel, auto-upgrade setting and lock state. |
| Release channel | dev, beta or stable. Installs only receive versions released to their channel or a more stable one. |
| Linked product | An upstream product a version depends on, by major version. |
| Product group | Several products validated together and installed in dependency order. |
What a version fixes
A version fixes which resources are packaged, not their content. Installing or upgrading copies each source resource as it is at that moment, so a change to a source app after publishing reaches the next install or upgrade of that version. Freezing each resource's content at publish time is not built yet.
Where to start
- Create products and publish versions.
- Browse and install a product into a project.
- Channels, lock and rollback for release management.
- Upgrades, manual and automatic.
Permissions
| Permission | Lets you |
|---|---|
product:read | See products, versions and installs. |
product:write | Create products and manage tags and groups. Publishing, promoting, exporting and deleting a product also needs you to be its creator or to hold an editor or owner grant on it. |
product:install | Install, upgrade, lock and roll back. |
On top of these platform roles, a product can carry its own store permissions. Installing also needs the editor role on the target project and read access to every packaged resource, so a product never copies data you could not open yourself.