The product library, at account.products.product.library, contains all the "code" for the product. This includes:
- Node types
- Process definitions
- Permission definitions
See Library in the sample product for an example of a product library.
In some cases, it may be sensible to have more than one product library folder. For example, in an assessment product with a core library of functionality and then modules that represent different types of the assessment, it may be sensible to hold the nodes types and fields (i.e. questionnaires and questions) for each type of assessment in a different folder. Use the local reference of library for the main library, and name the others something sensible (e.g. "person_assessment_library", "financial_assessment_library").
Some solutions require a significant amount of textual content, usually in specialised node types. To simplify maintenance of these, they could be held in a product library with a local reference of "content".
Some solutions may require additional files, such as icon files. These could be held in the content, or in additional product library with a local reference of "files". Alternatively, if they are not confidential, they can be held in the public folder alongside the icon.
For historic technical reasons to do with restrictions on tag versioning, tags have typically been kept in their own library folder, with a local reference of tags and a name of Tags. This is not now required.
Nodes in the product library should follow the Naming conventions.
The nodes in the library folder will be subject to version management. Once a node has been frozen it should not be moved (even though it can be). Use the Deprecated tag to indicate nodes that are no longer required.
Permissions are only granted on the direct contents of product library folders, and sub-folders should generally be avoided. If you do use sub-folders (this sometimes makes sense when you have lots of content folders), then each of the sub-folders must be listed in the Package List of the product builder – see Product builder and installer.