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

ConceptWhat it is
ProductA named bundle of resources, published as semantic versions (MAJOR.MINOR.PATCH).
VersionOne release: a fixed list of resources plus its changelog, release channel, linked products, tags and input presets.
InstallA copy of one version's resources in a target project, with its channel, auto-upgrade setting and lock state.
Release channeldev, beta or stable. Installs only receive versions released to their channel or a more stable one.
Linked productAn upstream product a version depends on, by major version.
Product groupSeveral 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

Permissions

PermissionLets you
product:readSee products, versions and installs.
product:writeCreate 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:installInstall, 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.

Converge