MMI Vocab instance notes v1.11

Basic info:

Server: collectionspace.movingimage.us
Version: 1.11
Tenant: mmi
Tenant ID: 42

Vocabulary instances

file paths:
/tmp/tenant-customizations-v1.9/application/our-tenant/base-instance-vocabularies.xml
/tmp/tenant-customizations-v1.9/application/our-tenant/base-vocabularies.xml
/tmp/tenant-customizations-v1.9/application/our-tenant/domain-instance-vocabularies.xml
/tmp/tenant-customizations-v1.9/application/our-tenant/domain-vocabularies.xml

Dynamic list vocabularies are a pseudo-authority and do not require a true extension since all we are interested in is adding new instances or editing existing ones.

Creating a new vocab instance is quite simple as it's merely adding a few values and options to domain-vocabularies.xml. Pick a unique value for the instance id; give it a web-url, title-ref and title value; and which ever options you wish for the vocab to be seeded with.

Once created, refresh the app layer's conf files

collectionspace/tenant/mmi/init

The above step may be superfluous...

Then reinitialize all the vocabularies

collectionspace/tenant/mmi/authorities/vocab/initialize 

Likewise, one could reinitialize just the newly added vocab as such

collectionspace/tenant/mmi/vocabularies/{web-url}/initialize
Sample vocab

Here is a sample vocab I created for a field, numberType, found in a collectionobject record for mmi.

<instances>
        <instance id="vocab-numbertype">
                <web-url>numbertype</web-url>
                <title-ref>numbertype</title-ref>
                <title>Number type</title>
                <options>
                        <option id="boxnumber">Box Number</option>
                        <option id="creatingacollection">Creating a collection</option>
                        <option id="previousnumber">Previous number</option>
                        <option id="serialnumber">Serial number</option>
                </options>
        </instance>
</instances>

Please note the use of <instances> tags around the example, which will envelope all instance id's. This will make sure that these instances will be parsed correctly when it is inserted into base-vocabularies.xml