Registry v4.0.0 introduces Dictionaries, which are basically customizable lists that can be used in various contexts, such as Attribute Enumerations as Identifier Validation. The semantics of using a Dictionary varies according to the context in which it is used, see the appropriate documentation for more information.

Dictionaries are created via CO > Configuration > Dictionaries. Entries can be added manually, using a pre-defined list, or by uploading a file of entries.

Dictionary Entries consist of the following components:

Pre-Defined Dictionaries

Some Pre-Defined Dictionaries are available out of the box:

(Pre-Defined Dictionaries are distributed in the Lib/Dictionary directory, and use the Dictionary File Format defined below.)

Dictionary File Format

Registry Dictionary Files are JSON documents, consisting of an object with the following members:

Example

{
  "format": "v1",
  "version": 1,
  "title": "USDA Egg Grades",
  "source": "https://www.ams.usda.gov/grades-standards/egg/grade-shields",
  "description": "Egg categories for consumer grades",
  "dictionary": [
    { "code": "AA", "value": "The freshest and highest quality eggs (AA)", "ordr": 1 },
    { "code": "A", "value": "Very high quality eggs (A)", "ordr": 2 },
    { "code": "B", "value": "Eggs suitable for liquid and baking purposes (B)", "ordr": 3 },
  ]
}


When uploading, a Dictionary File may replace all existing Dictionary Entries (if any), or merge into them. When merging, only the value field is examined – code and ordr are ignored. As an example, if this Dictionary Entry already exists:


{ "code": "abc", "value": "foo" }


and the following entry is uploaded:

{ "code": "def", "value": "foo" }

on merge,  the abc code will remain and the def code will not be added, since only value is examined and the value foo is already present.