Product descriptor

The product descriptor is a JSON structure held in the Product descriptor member type on the product builder and product. During the product generation process, the product descriptor manually entered on the product builder is extended to include many other details from the product builder, and the result written to the product.

The product descriptor describes the main characteristics of the product, in JSON format.

It contains standard properties generated from the product builder, and product reference information derived from the product (shown in blue). It may also contain custom properties added manually to the product builder.

{
  "nodeNameProduct": "product name",
  "productDescription": "product description",
  "productIcon":"icon specifier",
  "tags": [
    {
      "nodeReference": "tag node reference",
      "name": "tag name"
    }, ...
  ],
  "productKey": "key",
  "nodeReferenceTemplateSource": "node reference",
  "localReference": "local reference",
  "inheritSubscriptionList": ["node ref", ...],
  "instanceInitialIndicator": true|false,
"instanceMandatoryIndicator": true|false, "instanceSingleIndicator": true|false,
"forceInstanceUpdateIndicator": true|false,
"draftPermissionIndicator": true|false,
"setInitialLockIndicator": true|false,
"accountPackageIndicator": true|false,
"nodeVersionReferenceProduct": "product reference",
"nodeVersionReferenceTemplate": "template reference", "nodeReference": "node reference", "versionNumber": "version number", "userLogonReferenceOwner": "reference", "ownerName": "name", "ownerEmailAddress": "email address",

}
nodeNameProduct Name of the product
productDescription Description of the product. May contain markup.
productIcon Icon for the product. May be a file URL, markup, or a class.
tags List of tags.
tags[n].nodeReference Node reference of tag
tags[n].name Name of tag
productKey A hashed version of the product key. If not present, then no key is required to install the product.
nodeReferenceTemplateSource Node reference of the product template package. This should be accompanied by an export of the package.
accountPackageIndicator If set to true, install the template as the account package, overwriting the existing account package.
localReference Suggested local reference for installed product. Omit for auto. Use / for high-level account structure.
inheritSubscriptionList List of node references within the product template file which should inherit from the subscription. This can be used within the product instance to manage permission to use the subscription content.
instanceInitialIndicator If true, create an instance of the product when the user first subscribes to a product.
instanceMandatoryIndicator Indicates that the instance may not be deleted until the subscription is deleted. Specifically, it means that where this product appears in another product's dependency list, this product must have an instance in order to satisfy that dependency. 
instanceSingleIndicator Indicates that only one instance is permitted.
forceInstanceUpdateIndicator Indicates that instances must be updated to the latest version when subscriptions are updated to the latest version. If omitted or false, installs may remain on later versions.
draftPermissionIndicator Allow draft permissions on the product and library.
setInitialLockIndicator If the product is automatically subscribed to at account creation, lock it to prevent the user from modifying the subscription.
nodeVersionReferenceProduct Node version reference for the product
nodeVersionReferenceTemplate The node version reference of a node that contains an exported install template for the product. This may be the same as the product, but installers should use this field rather than the product.
nodeReference Node reference of the product
versionNumber Version number of the product
userLogonReferenceOwner Reference of owning user
ownerName Name of owning user
ownerEmail Email address of owning user

For compatability reasons, the following properties are also generated by the product builder, which act as synonyms for other properties.

Property Synonym for
name nodeNameProduct
description productDescription
icon productIcon
template nodeReferenceTemplateSource
createInitialInstance instanceInitialIndicator
draftPermissions draftPermissionIndicator (note Permission and Permissions)
setInitialLock setInitialLockIndicator
accountPackage accountPackageIndicator
inheritSubscription inheritSubscriptionList
reference nodeVersionReferenceProduct
ownerReference userLogonReferenceOwner