Generating readable element names
Describes the naming conventions and limitations during the creation of readable element names
For objects which are used during configuration, a GUID makes configuration pretty hard. So, during creation of a value in a list of values (e.g. language), an user, an user group and an output format, a readable element name is generated based upon a prefix (e.g. VSTATUS, VUSER, VOUTPUTFORMAT,..) and the label of the object.
How is the element name generated?
- Add a static prefix (e.g. VSTATUS, VUSER, VOUTPUTFORMAT,..)
- Uppercase the label
- Replace all unallowed characters by a base32 encoding
- Truncate the element name to 100 characters
Which prefixes are used?
The prefix depends on the type of object.
| Type | Prefix |
|---|---|
| User | VUSER |
| User role | VUSERROLE |
| User group | VUSERGROUP |
| Output format | VOUTPUTFORMAT |
| List of values | For LOV values the prefix is based upon the element name of the LOV. The values of the status LOV with element |
Which Base32 encoding is used?
During the Base32 encoding we use the RFC 4648 Base32 alphabet.
This uses an alphabet of A-Z, followed by 2-7. 0 and 1 are skipped due to their similarity with the letters O and I. We drop the equal sign.
Examples
| Type | Prefix | Initial Label Value | Resulting Element Name |
|---|---|---|---|
| User | VUSER | Reviewer | VUSERREVIEWER |
| User group | VUSERGROUP | Research & Development | VUSERGROUPRESEARCHEYAADEVELOPMENT |
| Output format | VOUTPUTFORMAT | PDF (A4 Manual) | VOUTPUTFORMATPDFFAAAA4MANUALFEAA |
| Output format | VOUTPUTFORMAT | PDF A4 Manual | VOUTPUTFORMATPDFA4MANUAL |
| Status | VSTATUS | To be translated | VSTATUSTOBETRANSLATED |
| Language | VLANGUAGE | EN | VLANGUAGEEN |
| Resolution | VRESOLUTION | Thumbnail | VRESOLUTIONTHUMBNAIL |
Remarks
In order to have a predictable, readable element name, we advice to first give an English name (of maximum 70 characters) which allows the system to generate a readable element name. Later you can change the label of the object so it holds the unallowed Unicode characters for the user interface.