- Created by Robert Reiner, last modified on 22. Feb 2019
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 4 Next »
projectdoc Toolbox
Specifies the pattern for auto increments for a given doctype.
- Tags
- Identifier
projectdoc.doctype.(doctype).auto-id-pattern
- Datatype
- JSON, String
- Default Value
- {}
- Since
- 2.6
This space property specifies a pattern to apply to generate identifiers for a given doctype. There can be at most one pattern per document type.
Increment Specification
The Increment Specification defines which number format should be applied to which document instance. For each doctype there may be one specification and in each of these specifications there may be specifications that take the doctype of the parent into account.
{ "specs": [ { "parentDoctypes": [], "parentProperty": "", "function": { "format": "", "increment": 1 } } ] }
Name | Description |
---|---|
specs | List of doctypes increment specifications. |
parentDoctypes | Comma-separated list of doctype IDs to specify for which parent document types the increment format should apply. If omitted, the format is applied to any parent doctype. Doctypes increment specifications without a doctype must be specified at the end of the list. |
parentProperty | The name of the parent property to use as the prefix for the ID. This value is only used if the new document has no siblings. |
function | The increment function to create the new ID. |
format | The format specifies the number of digits of the number block. |
increment | The increment for each new ID. The value must be an integer greater than zero. |
To test a configuration there is a REST service at projectdoc-internal/1/increment/test
that is available to logged in users.
Example of Usage
The specification is done in JSON format.
Example for the Topic Doctype
projectdoc.doctype.requirement.auto-id-pattern: { "specs": [ { "parentDoctypes": [], "parentProperty": "ID Prefix", "function": { "format": "5", "increment": 10 } } ] }
The example above applies to requirement documents that are added to any parent document (parentDoctypes
is empty, otherwise the parent doctype identifiers that select this specification would be listed).
The parentProperty
that defines the prefix is named "ID Prefix
". If this property is not found, the Prefix "ID
" would be used as default. So whenever a new requirement document is created, it will check if there are already siblings, and if not, use the given prefix and the following number format to create the auto-incremented identifier.
The function
defines the formatting rules. In format the digit defines the number of digits of a number block. In the example these are 5
. If the number has less than five digits, it will be filled with zeros. The increment shows the next number. In the example this is a ten-numbers step. If later a requirement needs to be added between to existing requirements, there is at least some space.
If the document that references all major requirements, has an "ID Prefix
" property with the value "REQ
", then the generated identifier for the first requirements document will be "REQ-00010
", the next will be "REQ-00020
", and so forth. The first subrequirement of the second requirement will have the ID "REQ-00020-00010
".
Note the the example above show the default. These can be specified with an empty JSON document like this:
projectdoc.doctype.requirement.auto-id-pattern: {}
Or in one line:
projectdoc.doctype.requirement.auto-id-pattern: {"specs":[{"parentDoctypes":[],"parentProperty":"ID Prefix","function":{"format":"5","increment":10}}]}
projectdoc.doctype.requirement.auto-id-pattern: { "specs": [ { "parentDoctypes": [docsection], "function": { "format": "4", "increment": 100 } }, { "parentDoctypes": [], "function": { "format": "10", "increment": 10 } } ] }
The above example shows that the requirement documents on the first level, which are attached to a document of type docsection, have another increment block format than requirements that are attached to a document of any other type. This includes the requirement doctype itself. In other words: sub requirements have a space of 10 digits, while the root requirements have only four.
It is not possible to control the format dependent on level. So all requirements from the second level to the last level share the same format.
Resources
- Default Group Name Pattern
- Specifies for the name pattern the default group to select.
- Doctype Auto ID Pattern
- Specifies the pattern for auto increments for a given doctype.
- Doctype Document Name Pattern
- Specifies a doctype-specific pattern to match against the title property to derive the name property of a projectdoc document.
- Doctype Document Name Pattern
- Specifies a pattern to match against the title property to derive the name property of a projectdoc document.
- Doctype Document Name Pattern Group
- Specifies for the name pattern the doctype-specific group to select.
- Nameless Documents
- Feature to derive a document's name from its title.
- No labels