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.|
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.|
List of packages required for a product.
|Product theme list||
List of part themes required to use this product.
Indicates that draft versions of the product and libraries are available to subscribers.
Indicates that the instance should be created as the high-level package of the account, overwriting any that is already there.
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.
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.
Indicates that only a single instance is permitted.
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.
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.