Product builder

The Product Builder type is used to create product builders which describe products. They can be used to grant permissions, to provide templates for installation, and to describe resources to which the user has subscribed, or any combination of these. You can use the product builder to describe something that does not involve installation, such as a subscription that switches off adverts in Metrici.

The key member types in the product builder are:

Description Provides a description of the product/
Icon An icon for the product.
Product Key

A optional key which must be known by the installer, to keep a product private.

Product descriptor A JSON field that describes the product. This is generated from the other fields on the product builder, but additional options can be entered manually.
Product Dependencies A list of products that must be installed prior to installing this product.
Package List

List of packages required for a product.

Product theme list

List of part themes required to use this product.

Draft permission

Indicates that draft versions of the product and libraries are available to subscribers.

Account package

Indicates that the instance should be created as the high-level package of the account, overwriting any that is already there.

Template Package

The package which acts as a template for the installed product. If one is not given, then permissions are granted but no nodes are installed into the subscriber's account.

The template package is exported to a zip file as part of the product build process.

Local Reference A suggested local reference for installs of the product.
Inherit Subscription Manifests

Nodes within the template package which should, after an install, inherit from the subscription node and thus inherit the manifest on the subscription node.

This is used for products that create new users in a separate owning user group (not the primary account user group), and those users need permission to access the product. These users are not automatically granted permissions, and must be granted permissions using a manifest owned by the product installer.

This is typically used for survey-like products that manage a set of temporary contributors.

Initial instance

Indicates whether an initial instance of the product should be created when user subscribes to product.

Set initial lock

Indicates that the user should not be able to uninstall this product if it is installed as part of account creation.

Single instance

Indicates that only a single instance is permitted.

Mandatory instance

Indicates that the last instance cannot be deleted until the subscription is removed.

Post Install Script

A script to run after the product has been installed. This is run after each install is created (i.e. the template package copied), not when the subscription is made. If the user creates a new install, this script is run again.

The script is passed the account, product and instance nodes in nodeVersionReferenceAccount, nodeVersionReferenceProduct and nodeVersionReferenceInstance, respectively.

Update Script A script to run when the user upgrades the product to this version. Product versions are described in more detail below.
Force instance update

Indicates that instances should be updated automatically when the subscription is updated.

Delete script

Script to be run to delete an instance, prior to the instance node being deleted.

Parameters the same as Post Install Script.

Product Links to a product node which will be generated from this product builder node.

The product builder provides a Generate button which is used to create a product node from the product builder. The product node is identified by the Product link, and will be created or updated as necessary.