Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

file paths:
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/src/main/resources/schemas/collectionobjects_mmi.xsd
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/src/main/resources/META-INF/MANIFEST.MF
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/src/main/resources/OSGI-INF/core-types-contrib.xml
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/src/main/resources/OSGI-INF/ecm-types-contrib.xml
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/src/main/resources/OSGI-INF/layouts-contrib.xml
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/src/main/resources/OSGI-INF/life-cycle-contrib.xml
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/build.xml
/tmp/v1.11/services/collectionobject/3rdparty/nuxeo-platform-collectionobject-mmi/pom.xml
/tmp/v1.11/services/collectionobject/3rdparty/build.xml
/tmp/v1.11/services/collectionobject/3rdparty/pom.xml
/tmp/v1.11/services/common/src/main/cspace/config/services/tenants/mmi/tenant-bindings.delta.xml
/usr/local/share/1.11/jboss-4.2.3.GA/server/cspace/cspace/config/services/tenants/mmi/tenant-bindings.delta.xml
/tmp/tenant-customizations-v1.9/ui/our-tenant/bundle/core-messages.properties
/tmp/tenant-customizations-v1.9/ui/our-tenant/html/pages/CatalogingTemplate.html
/tmp/tenant-customizations-v1.9/application/our-tenant/base-collectionobject.xml
/tmp/tenant-customizations-v1.9/application/our-tenant/domain-collectionobject.xml
/tmp/tenant-customizations-v1.9/application/our-tenant/config/cataloging.json

Wiki Markup
{composition-setup}{composition-setup}
Add new text field:
Administrative remarks

...

  • a. add a custom collectionobject schema file collectionobjects_mmi.xsd with new field name administrativeRemarks

    unmigrated-inline-wiki-markup

    {toggle-cloak:id=c11a}

    Wiki Markup
    {cloak:id=c11a}
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!--
        MMI Collectionobject schema (XSD)
        Entity  : Collectionobject
        Part    : Local - Museum of the Moving Image (MMI)
        Used for: Nuxeo EP core document type
        $LastChangedRevision: $
        $LastChangedDate: $
    -->
    <xs:schema
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:ns="http://collectionspace.org/services/collectionobject/local/mmi"
        xmlns="http://collectionspace.org/services/collectionobject/local/mmi"
        targetNamespace="http://collectionspace.org/services/collectionobject/local/mmi"
        version="0.1">
        <xs:element name="administrativeRemarks" type="xs:string"/>
    </xs:schema>
    
    Wiki Markup
    {cloak}

  • b. edit MANIFEST.MF to reference new mmi module

    Wiki Markup
    {toggle-cloak:id=c11b}

    Wiki Markup
    {cloak:id=c11b}
    Note references to lowercase mmi tenant string name on lines 3, 4, and 18. unmigrated-inline-wiki-markup
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 1
    Bundle-Name: org.collectionspace.collectionobjecttenant42
    Bundle-SymbolicName: org.collectionspace.collectionobjecttenant42;singleton:=true
    Bundle-Version: 1.0.0
    Bundle-Localization: plugin
    Bundle-Vendor: Nuxeo
    Require-Bundle: org.nuxeo.runtime,
     org.nuxeo.ecm.core.api,
     org.nuxeo.ecm.core,
     org.nuxeo.ecm.core.api,
     org.nuxeo.ecm.platform.types.api,
     org.nuxeo.ecm.platform.versioning.api,
     org.nuxeo.ecm.platform.ui,
     org.nuxeo.ecm.platform.forms.layout.client,
     org.nuxeo.ecm.platform.ws,
     org.collectionspace.collectionspace_core
    Provide-Package: org.collectionspace.collectionobjecttenant42
    Nuxeo-Component: OSGI-INF/core-types-contrib.xml,
      OSGI-INF/life-cycle-contrib.xml,
      OSGI-INF/ecm-types-contrib.xml,
      OSGI-INF/layouts-contrib.xml
    
    {cloak}

  • c. add a custom schema to parent document type core-types-contrib.xml and reference new acquisition schema

    Wiki Markup
    {toggle-cloak:id=c11c}

    Wiki Markup
    {cloak:id=c11c}
    Note reference to mmi schema names and tenant string names on line 2, 4, 7 and 12. Code Block Note reference to mmi schema names and tenant string names on line 2, 4, 7 and 12.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <?xml version="1.0"?>
    <component name="org.collectionspace.collectionobjectTenant42.coreTypes">
      <extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
        <schema name="collectionobjects_mmi" prefix="collectionobjects_mmi" src="schemas/collectionobjects_mmi.xsd"/>
      </extension>
      <extension target="org.nuxeo.ecm.core.schema.TypeService" point="doctype">
        <doctype name="CollectionobjectTenant42" extends="Document">
          <schema name="common"/>
          <schema name="dublincore"/>
          <schema name="collectionspace_core"/>
          <schema name="collectionobjects_common"/>
          <schema name="collectionobjects_mmi"/>
        </doctype>
      </extension>
    </component>
    
    Wiki Markup
    {cloak}

  • d. edit ecm-types-contrib.xml to reference new mmi component

    Wiki Markup
    {toggle-cloak:id=c11d}

    Wiki Markup
    {cloak:id=c11d}
    Note reference to mmi tenant string name on lines 2, 4, 5, 11, 17 and 23.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <?xml version="1.0"?>
    <component name="org.collectionspace.collectionobjectTenant42.ecm.types">
      <extension target="org.nuxeo.ecm.platform.types.TypeService" point="types">
        <type id="CollectionobjectTenant42" coretype="CollectionobjectTenant42">
          <label>org.collectionspace.collectionobjectTenant42</label>
          <!--icon>/icons/file.gif</icon-->
          <default-view>view_documents</default-view>
    
          <layouts mode="any">
            <layout>heading</layout>
            <layout>collectionspace_core</layout>
            <layout>collectionobjectTenant42</layout>
          </layouts>
        </type>
    
        <type id="Folder" coretype="Folder">
          <subtypes>
            <type>collectionobjectTenant42</type>
          </subtypes>
        </type>
    
        <type id="Workspace" coretype="Workspace">
          <subtypes>
            <type>collectionobjectTenant42</type>
          </subtypes>
        </type>
    
      </extension>
    </component>
    
    Wiki Markup
    {cloak}

  • e. edit layouts-contrib.xml to reference new mmi component

    Wiki Markup{toggle-cloak:id=c11e}

    Wiki Markup
    {cloak:id=c11e}
    Note reference to mmi tenant string name on lines 3 and 8.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <?xml version="1.0"?>
    
    <component name="org.collectionspace.collectionobjects_mmi.layouts.webapp">
    
      <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
        point="layouts">
    
        <layout name="collectionobjects_mmi">
            <!--
          <templates>
            <template mode="any">/layouts/layout_default_template.xhtml</template>
          </templates>
          <rows>
            <row><widget>exampleField</widget></row>
          </rows>
    
          <widget name="exampleField" type="text">
            <labels>
              <label mode="any">exampleField</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field schema="collectionobjects_naturalhistory">exampleField</field>
            </fields>
            <properties widgetMode="edit">
              <property name="styleClass">dataInputText</property>
            </properties>
          </widget>
          -->
        </layout>
      </extension>
    </component>
    
    Wiki Markup
    {cloak}

  • ff. edit life-cycle-contrib.xml to reference new mmi component

    Wiki Markup{toggle-cloak:id=c11f}

    Wiki Markup
    {cloak:id=c11f}
    Note reference to mmi tenant string name on lines 2 and 7.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <?xml version="1.0"?>
    <component name="org.collectionspace.ecm.platform.collectionobjectTenant42.LifeCycleManagerExtensions">
    
      <extension target="org.nuxeo.ecm.core.lifecycle.LifeCycleService"
                 point="types">
        <types>
          <type name="CollectionobjectTenant42">default</type>
        </types>
      </extension>
    
    </component>
    
    Wiki Markup
    {cloak}

  • g. edit 3rdparty/nuxeo-platform-collectionobject-mmi/build.xml so to build the custom sub-module

    Wiki Markup
    {toggle-cloak:id=c11g}

    Wiki Markup
    {cloak:id=c11g}
    Note reference to mmi project name on line 1, and tenant string name on line 15.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <project name="nuxeo-platform-collectionobject-mmi" default="package" basedir=".">
        <description>
            Collectionobject nuxeo document type for the MMI tenant
        </description>
        <!-- set global properties for this build -->
        <property name="services.trunk" value="../../../.."/>
        <!-- environment should be declared before reading build.properties -->
        <property environment="env" />
        <property file="${services.trunk}/build.properties" />
        <property name="mvn.opts" value="" />
        <property name="src" location="src"/>
        <property name="build" location="build"/>
        <property name="dist"  location="dist"/>
        <property name="nuxeo.collectionobject.jar"
            value="org.collectionspace.services.collectionobject.3rdparty.mmi.nuxeo-${cspace.release}.jar"/>
        <property name="nuxeo.collectionobject.jars.all"
            value="org.collectionspace.services.collectionobject.3rdparty.*.nuxeo-*.jar"/>
    
    ...
    
    Wiki Markup
    {cloak}

  • h. edit 3rdparty/nuxeo-platform-collectionobject-mmi/pom.xml to reference new mmi component

    Wiki Markup{toggle-cloak:id=c11h}

    Wiki Markup
    {cloak:id=c11h}
    Note reference to mmi tenant string name on lines 12, 13, and description on line 16.
    Template properties begin on line 19.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <parent>
            <groupId>org.collectionspace.services</groupId>
            <artifactId>org.collectionspace.services.collectionobject.3rdparty</artifactId>
            <version>1.11-SNAPSHOT</version>
        </parent>
    
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.collectionspace.services</groupId>
        <artifactId>org.collectionspace.services.collectionobject.3rdparty.mmi.nuxeo</artifactId>
        <name>services.collectionobject.mmi.3rdparty.nuxeo</name>
        <packaging>jar</packaging>
        <description>
            MMI CollectionObject Nuxeo document type for Tenant ID = "42"
        </description>
    
            <properties>
                    <CustomSchemaName>collectionobjects_mmi</CustomSchemaName>
                    <TenantId>42</TenantId>
                    <TenantLabel>mmi</TenantLabel>
            </properties>
    
        <build>
                    <resources>
                      <resource>
                            <directory>../../../../3rdparty/nuxeo/nuxeo-doctype/src/main/resources</directory>
                            <filtering>true</filtering>
                      </resource>
                      <resource>
                            <directory>../../../../3rdparty/nuxeo/nuxeo-doctype-custom/src/main/resources</directory>
                            <filtering>true</filtering>
                      </resource>
                      <resource>
                            <directory>src/main/resources</directory>
                            <filtering>true</filtering>
                      </resource>
                    </resources>
    ...
    
    Wiki Markup
    {cloak}

  • ii. edit 3rdparty/build.xml so to build the custom sub-module

    Wiki Markup
    {toggle-cloak:id=c11i}

    Wiki Markup
    {cloak:id=c11i}
    {align:mode|class=myclass} Note reference to {{mmi}} custom module on lines 11, 117, 123, 129 and 135. {newcode:language=xml|linenumbers=true|controls=true}
    Wiki Markup
    Align
    alignmode
    classmyclass

    Note reference to mmi custom module on lines 11, 117, 123, 129 and 135.

    Code Block
    controlstrue
    languagexml
    linenumberstrue
    
    <project name="collectionobject.3rdparty" default="package" basedir=".">
        <description>
            collectionobject service 3rd party
        </description>
      <!-- set global properties for this build -->
        <property name="services.trunk" value="../../.."/>
         <!-- enviornment should be declared before reading build.properties -->
        <property environment="env" />
        <property file="${services.trunk}/build.properties" />
            <property name="nuxeo-platform-collectionobject" value="nuxeo-platform-cs-collectionobject"/>
            <property name="nuxeo-platform-collectionobject-mmi" value="nuxeo-platform-collectionobject-mmi"/>
    
    ...
    
    {newcode}

    and

    further

    down

    the

    file {newcode:language=xml|linenumbers=true|controls=true|firstline=114}

    file

    Code Block
    controlstrue
    languagexml
    firstline114
    linenumberstrue
    
        <target name="deploy" depends="install"
        description="deploy collectionobject in ${jboss.server.nuxeo}">
            <ant antfile="${nuxeo-platform-collectionobject}/build.xml" target="deploy" inheritall="false"/>
            <ant antfile="${nuxeo-platform-collectionobject-mmi}/build.xml" target="deploy" inheritall="false"/>
        </target>
    
        <target name="undeploy"
        description="undeploy collectionobject from ${jboss.server.nuxeo}">
            <ant antfile="${nuxeo-platform-collectionobject}/build.xml" target="undeploy" inheritall="false"/>
            <ant antfile="${nuxeo-platform-collectionobject-mmi}/build.xml" target="undeploy" inheritall="false"/>
        </target>
    
        <target name="dist"
        description="generate distribution for collectionobject" depends="package">
            <ant antfile="${nuxeo-platform-collectionobject}/build.xml" target="dist" inheritall="false"/>
            <ant antfile="${nuxeo-platform-collectionobject-mmi}/build.xml" target="dist" inheritall="false"/>
        </target>
    
        <target name="dist_installer"
        description="generate distribution for collectionobject" depends="package">
            <ant antfile="${nuxeo-platform-collectionobject}/build.xml" target="dist_installer" inheritall="false"/>
            <ant antfile="${nuxeo-platform-collectionobject-mmi}/build.xml" target="dist_installer" inheritall="false"/>
        </target>
    </project>
    {newcode}
    
    
    {align}
    Wiki Markup
    {cloak}

  • j. edit 3rdparty/pom.xml to reference new mmi component

    Wiki Markup
    {toggle-cloak:id=c11j}

    Wiki Markup
    {cloak:id=c11j}
    Note reference to mmi custom module on line 28.
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <parent>
            <groupId>org.collectionspace.services</groupId>
            <artifactId>org.collectionspace.services.collectionobject</artifactId>
            <version>1.11-SNAPSHOT</version>
        </parent>
    
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.collectionspace.services</groupId>
        <artifactId>org.collectionspace.services.collectionobject.3rdparty</artifactId>
        <name>services.collectionobject.3rdparty</name>
        <packaging>pom</packaging>
        <description>
            3rd party build for collectionobject service
        </description>
    
            <properties>
                    <ServiceName>collectionobject</ServiceName>
                    <NuxeoDocTypeName>CollectionObject</NuxeoDocTypeName>
                    <CommonSchemaName>collectionobjects_common</CommonSchemaName>
                    <TenantPrefix>Tenant</TenantPrefix>
            </properties>
    
        <modules>
            <module>nuxeo-platform-cs-collectionobject</module>
            <module>nuxeo-platform-collectionobject-mmi</module>
        </modules>
    
    </project>
    
    Wiki Markup
    {cloak}

  • k. add schema extension chunk to the top of the tenant binding tenant-bindings-delta.xml file

    Wiki Markup
    {toggle-cloak:id=c11k}

    Wiki Markup{cloak:id=c11k}

    The entire tenant binding fill now looks like this:

    unmigrated-inline-wiki-markup
    Code Block
    controlstrue
    languagexml
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <tenant:TenantBindingConfig
    		xmlns:merge='http://xmlmerge.el4j.elca.ch'
    		xmlns:tenant='http://collectionspace.org/services/common/tenant'>
    
    	<tenant:tenantBinding id="42" name="movingimage.us" displayName="Museum of the Moving Image Tenant" version="0.1">
    		<tenant:repositoryDomain name="default-domain" storageName="mmi-domain" repositoryClient="nuxeo-java" />
    
    		<tenant:serviceBindings merge:matcher="id" id="CollectionObjects">
    			<service:object xmlns:service="http://collectionspace.org/services/common/service" >
    				<service:part id="42" merge:matcher="skip" merge:action="insert" control_group="Managed" versionable="true" auditable="false" label="collectionobjects_mmi" updated="" order="3">
    					<service:content contentType="application/xml">
    						<service:xmlContent namespaceURI="http://collectionspace.org/services/collectionobject/local/mmi" schemaLocation="http://collectionspace.org/services/collectionobject/local/mmi http://collectionspace.org/services/collectionobject/local/collectionobjects_mmi.xsd" />
    					</service:content>
    				</service:part>
    			</service:object>
    		</tenant:serviceBindings>
    		<tenant:serviceBindings merge:matcher="id" id="Persons">
    			<service:object xmlns:service="http://collectionspace.org/services/common/service" >
    				<service:part id="42" merge:matcher="skip" merge:action="insert" control_group="Managed" versionable="true" auditable="false" label="persons_mmi" updated="" order="3">
    					<service:content contentType="application/xml">
    						<service:xmlContent namespaceURI="http://collectionspace.org/services/person/local/mmi" schemaLocation="http://collectionspace.org/services/person/local/mmi http://collectionspace.org/services/person/local/persons_mmi.xsd" />
    					</service:content>
    				</service:part>
    			</service:object>
    		</tenant:serviceBindings>
    		<tenant:serviceBindings merge:matcher="id" id="Acquisitions">
    			<service:object xmlns:service="http://collectionspace.org/services/common/service" >
    				<service:part id="42" merge:matcher="skip" merge:action="insert" control_group="Managed" versionable="true" auditable="false" label="acquisitions_mmi" updated="" order="3">
    					<service:content contentType="application/xml">
    						<service:xmlContent namespaceURI="http://collectionspace.org/services/acquisition/local/mmi" schemaLocation="http://collectionspace.org/services/acquisition/local/mmi http://collectionspace.org/services/acquisition/local/acquisitions_mmi.xsd" />
    					</service:content>
    				</service:part>
    			</service:object>
    		</tenant:serviceBindings>
        </tenant:tenantBinding>
     
    </tenant:TenantBindingConfig>
    
    {cloak}

2. add field id and selector to domain-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c12}

Wiki Markup
{cloak:id=c12}

Note the section attribute for the new field. Every new field Note the section attribute for the new field. Every new field will have this identifying attribute.

Code Block
controlstrue
languagexml
linenumberstrue
<section id="domaindata">
        <field id="administrativeRemarks" section="mmi">
                <selector>object-identification-administrativeRemarks</selector>
        </field>
</section>
Wiki Markup
{cloak}

3. edit base-collectionobject.xml to point to new schema

Wiki Markup
{toggle-cloak:id=c13}

Wiki Markup
{cloak:id=c13}

Note the id attribute on line 5. This connects with the section attribute from the domain-collectionobject.xml file.

Code Block
controlstrue
languagexml
linenumberstrue
<record id="collection-object" in-findedit="yes">
   <services-url>collectionobjects</services-url>
   <services-tenant-singular>CollectionObject</services-tenant-singular>
   <services-list-path>abstract-common-list/list-item</services-list-path>                
   <services-record-path id="mmi">collectionobjects_mmi:http://collectionspace.org/services/collectionobject/local/mmi,collectionobjects_mmi</services-record-path>
   <services-record-path id="common">collectionobjects_common:http://collectionspace.org/services/collectionobject,collectionobjects_common</ser
vices-record-path>
   <services-record-path id="collectionspace_core">collectionspace_core:http://collectionspace.org/collectionspace_core/,collectionspace_core</s
ervices-record-path>

...
Wiki Markup
{cloak}

4. add field label to core-messages.properties

Wiki Markup
{toggle-cloak:id=c14}

unmigrated-inline-wiki-markup

{cloak:id=c14}
Code Block
controlstrue
languagexml
linenumberstrue
collection-object-administrativeRemarksLabel: Administrative remarks
Wiki Markup
{cloak}

5. add html for new field to CollectionsTemplate.html

Wiki Markup
{toggle-cloak:id=c15}

Wiki Markup
{cloak:id=c15}
Code Block

Code Block
controlstrue
languagehtml
linenumberstrue
<div class="info-pair">
   <div class="header">
       <div class="label csc-collection-object-administrativeRemarks-label">Extent</div>
   </div>
   <div class="content">
        <input type="text" class="csc-object-identification-administrativeRemarks" />
   </div>
</div>
Wiki Markup
{cloak}

6. run mini-build scripts to deploy changes across all layers and then build & deploy updated services module from source

Wiki Markup
{toggle-cloak:id=c16}

Wiki Markup
{cloak:id=c16}
Code Block
controlstrue
languagexml
linenumberstrue
cd /tmp/tenant-customizations-v1.9/application
ant deploy
cd /tmp/tenant-customizations-v1.9/ui
ant deploy
cd /tmp/v1.9/services/collectionobject
mvn clean install -DskipTests
cd /tmp/v1.9/services/
ant undeploy deploy
Wiki Markup
{cloak}

Removed unused fields:

The following fields are unused in this schema:

...

1. Add new fields to collectionobjects_mmi.xsd

Wiki Markup
{toggle-cloak:id=c21}

unmigrated-inline-wiki-markup

{cloak:id=c21}
Code Block
controlstrue
languagexml
linenumbersfalse
<xs:element name="provenance" type="xs:string"/>
<xs:element name="initialCatalogingCompleted" type="xs:boolean"/>
<xs:element name="additionalResearchRequired" type="xs:boolean"/>

<xs:element name="artifactClassWorkTypeList" type="artifactClassWorkTypeList"/>
<xs:complexType name="artifactClassWorkTypeList">
    <xs:sequence>
        <xs:element name="artifactClassWorkTypeGroup" type="artifactClassWorkTypeGroup" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>
<xs:complexType name="artifactClassWorkTypeGroup">
   <xs:sequence>
       <xs:element name="artifactClass" type="xs:string"/>
       <xs:element name="workType" type="xs:string"/>
    </xs:sequence>
</xs:complexType>

<xs:element name="contentEntityList" type="contentEntityList"/>
<xs:complexType name="contentEntityList">
   <xs:sequence>
      <xs:element name="contentEntityGroup" type="contentEntityGroup" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>
<xs:complexType name="contentEntityGroup">
   <xs:sequence>
       <xs:element name="contentEntity" type="xs:string"/>
       <xs:element name="contentEntityType" type="xs:string"/>
    </xs:sequence>
</xs:complexType>

<xs:element name="copyrightStatements">
         <xs:complexType>
                <xs:sequence>
                      <xs:element name="copyrightStatement" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
        </xs:complexType>
</xs:element>

<xs:element name="historicalNoteSources" type="xs:string"/>
Wiki Markup
{cloak}

2. Add the following strings to domain-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c22}

Wiki Markup
{cloak:id=c22}
Code Block
Code Block
controlstrue
languagexml
linenumbersfalse
<field id="provenance" section="mmi">
    <selector>object-identification-provenance</selector>
</field>
<field id="initialCatalogingCompleted" datatype="boolean" section="mmi">
    <selector>object-identification-initialCatalogingCompleted</selector>
</field>
<field id="additionalResearchRequired" datatype="boolean" section="mmi">
    <selector>object-identification-additionalResearchRequired</selector>
</field>
<repeat id="artifactClassWorkTypeList/artifactClassWorkTypeGroup" section="mmi">
    <field id="artifactClass" section="mmi">
         <selector>object-identification-artifactClass</selector>
    </field>
    <field id="workType" section="mmi">
          <selector>object-identification-workType</selector>
    </field>
</repeat>
<repeat id="contentEntityList/contentEntityGroup" section="mmi">
    <field id="contentEntity" autocomplete="organization-organization" section="mmi">
         <selector>object-description-contentEntity</selector>
    </field>
    <field id="contentEntityType" section="mmi">
          <selector>object-description-contentEntityType</selector>
    </field>
</repeat>
<repeat id="copyrightStatements" section="mmi">
    <field id="copyrightStatement" section="mmi">
          <selector>object-description-copyrightStatement</selector>
    </field>
</repeat>

<field id="historicalNoteSources" section="mmi">
    <selector>object-history-association-historicalNoteSources</selector>
</field>
Wiki Markup
{cloak}

3. Edit core-message.properties

Wiki Markup
{toggle-cloak:id=c23}

Wiki Markup
{cloak:id=c23}
Code Block
controlstrue
languagehtml
linenumbersfalse
collection-object-provenanceLabel: Provenance
collection-object-initialCatalogingCompletedLabel: Initial cataloging completed
collection-object-additionalResourcesNeededLabel: Additional resources needed
collection-object-artifactClassWorkTypeGroupLabel: Artifact class / Work type
collection-object-artifactClassLabel: Artifact class
collection-object-workTypeLabel: Work type
collection-object-contentEntityGroupLabel: Content entity
collection-object-contentEntityLabel: Content entity
collection-object-contentEntityTypeLabel: Content entity type
collection-object-copyrightStatementLabel: Copyright statement
collection-object-historicalNoteSourcesLabel: Historical note sources
Wiki Markup
{cloak}

4. Edit CatalogingTemplate.html

Wiki Markup
{toggle-cloak:id=c24}

unmigrated-inline-wiki-markup

{cloak:id=c24}
Code Block
controlstrue
languagehtml
linenumbersfalse
<div class="info-pair">                                                    
    <div class="header">
        <div class="label csc-collection-object-provenance-label"></div>
    </div>
    <div class="content">
        <input type="text" class="csc-object-identification-provenance"/>
    </div>                                                        
</div>
<div class="info-pair">
    <div class="header">
        <div class="label csc-collection-object-initialCatalogingRequired-label"></div>
    </div>
    <div class="content">
        <input type="checkbox" class="csc-object-identification-initialCatalogingRequired"/>
    </div>
</div>
<div class="info-pair">
    <div class="header">
        <div class="label csc-collection-object-additionalResearchRequired-label"></div>
    </div>
    <div class="content">
         <input type="checkbox" class="csc-object-identification-additionalResearchRequired"/>
    </div>
</div>
<div class="info-pair">
    <div class="header">
        <div class="label csc-collection-object-artifactClassWorkTypeGroup-label"></div>
    </div>
    <div class="content">
         <table>
              <thead>
                 <tr>
                    <td class="label csc-collection-object-artifactClass-label"></td>
                    <td class="label csc-collection-object-workType-label"></td>
                 </tr>
               </thead>
               <tbody>
                 <tr class="csc-collection-object-artifactClassWorkTypeGroup">
                    <td><input type="text" class="input-alpha-table csc-object-identification-artifactClass" /></td>
                    <td><input type="text" class="input-alpha-table csc-object-identification-workType" /></td>
                  </tr>
                </tbody>
          </table>
    </div>
</div>

...

<div class="info-pair">
    <div class="header">
        <div class="label csc-collection-object-copyrightStatement-label"></div>
    </div>
    <div class="content">
         <input type="checkbox" class="csc-object-description-copyrightStatement"/>
    </div>
</div>

...

<div class="info-pair">
    <div class="header">
        <div class="label csc-collection-object-contentEntityGroup-label"></div>
    </div>
    <div class="content">
         <table>
              <thead>
                 <tr>
                    <td class="label csc-collection-object-contentEntity-label"></td>
                    <td class="label csc-collection-object-contentEntityType-label"></td>
                 </tr>
               </thead>
               <tbody>
                 <tr class="csc-collection-object-artifactClassWorkTypeGroup">
                    <td><input type="text" class="input-alpha-table csc-object-description-contentEntity" /></td>
                    <td><input type="text" class="input-alpha-table csc-object-description-contentEntityType" /></td>
                  </tr>
                </tbody>
          </table>
    </div>
</div>

...

<div class="info-pair">
    <div class="header">
        <div class="label csc-collection-object-historicalNoteSources-label"></div>
    </div>
    <div class="content">
         <input type="text" class="csc-object-history-association-historicalNoteSources"/>
    </div>
</div>
Wiki Markup
{cloak}

Extract a field from a group of fields

...

1. Update collectionobjects_mmi.xsd with the new fields.

Wiki Markup
{toggle-cloak:id=c31}

Wiki Markup
{cloak:id=c31}
Code Block

Code Block
controlstrue
languagexml
linenumbersfalse
<xs:element name="objectTitles">
        <xs:complexType>
               <xs:sequence>
                      <xs:element name="objectTitle" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
        </xs:complexType>
</xs:element>

<xs:element name="mmiMaterials">
        <xs:complexType>
               <xs:sequence>
                      <xs:element name="mmiMaterial" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
        </xs:complexType>
</xs:element>

<xs:element name="mmiInscriptionContents">
         <xs:complexType>
                <xs:sequence>
                      <xs:element name="mmiInscriptionContent" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
        </xs:complexType>
</xs:element>

<xs:element name="mmiTechniques">
       <xs:complexType>
                <xs:sequence>
                      <xs:element name="mmiTechnique" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
       </xs:complexType>
</xs:element>

Wiki Markup
{cloak}

2. Update domain-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c32}

Wiki Markup
{cloak:id=c32}
Code Block
controlstrue
languagexml
linenumbersfalse
<repeat id="objectTitles" section="mmi">
	<field id="objectTitle" section="mmi">
		<title-selector>titleBar-object-identification-objectTitle</title-selector>
		<selector>object-identification-objectTitle</selector>
	</field>
</repeat>
<repeat id="mmiMaterials" section="mmi">
        <field id="mmiMaterial" section="mmi">
	        <selector>object-description-mmiMaterial</selector>
        </field>
</repeat>
<repeat id="mmiInscriptionContents" section="mmi">
	<field id="mmiInscriptionContent" section="mmi">
		<selector>object-description-mmiInscriptionContent</selector>
	</field>
</repeat>
<repeat id="mmiTechniques" section="mmi">
        <field id="mmiTechnique" section="mmi">
                <selector>object-production-mmiTechnique</selector>
        </field>
</repeat>
Wiki Markup
{cloak}

3. Remove references to fields in base-collectionobject.xml

...

5. Add new fields to CatalogingTemplate.html

Wiki Markup
{toggle-cloak:id=c35}

unmigrated-inline-wiki-markup

{cloak:id=c35}
Code Block
controlstrue
languagehtml
linenumbersfalse
<div class="info-pair">
	<div class="header">
		<div class="label csc-collection-objectTitle-label"></div>
	</div>
	<div class="content">
		<input type="text" class="csc-object-identification-objectTitle editableText">
	</div>
</div>

...

<div class="info-pair">
	<div class="header">
		<div class="label csc-collection-object-mmiMaterial-label"></div>
	</div>
	<div class="content">
		<input type="text" class="csc-object-description-mmiMaterial">
	</div>
</div>

...

<div class="info-pair">
	<div class="header">
		<div class="label csc-collection-object-mmiInscriptionContent-label"></div>
	</div>
	<div class="content">
		<textarea rows="4" cols="30" class="input-textarea csc-object-description-mmiInscriptionContent"></textarea>
	</div>
</div>

...

<div class="info-pair">
	<div class="header">
		<div class="label csc-collection-object-mmiTechnique-label"></div>
	</div>
	<div class="content">
		<input type="class" class="csc-object-description-mmiTechnique" />
	</div>
</div>
Wiki Markup
{cloak}

6. Add/remove entries in core-messages.bundle

Wiki Markup
{toggle-cloak:id=c36}

Wiki Markup
{cloak:id=c36}
Code Block
Code Block
controlstrue
languagexml
linenumbersfalse
#collection-objectTitleGroupLabel: Title
#collection-object-titleLabel: Title
collection-objectTitleLabel: Object title

#collection-object-materialLabel: Material
collection-object-mmiMaterialLabel: Material

#collection-object-inscriptionContentLabel: Inscription Content
collection-object-mmiInscriptionContentLabel: Inscription content

#collection-object-techniqueLabel: Technique
collection-object-mmiTechniqueLabel: Technique
Wiki Markup
{cloak}

Assigning a new field to be required

...

1. Edit domain-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c41}

Wiki Markup
{cloak:id=c41}

Essentially, there is an in-title attribute on line 2 and a new tag, <title-selector ... />, that tells the app layer where to attach the contents of this field.

Code Block
controlstrue
languagexml
linenumberstrue
<repeat id="objectTitles" section="mmi">
	<field id="objectTitle" in-title="yes" section="mmi">			
		<title-selector>titleBar-object-identification-objectTitle</title-selector>
		<selector>object-identification-objectTitle</selector>
	</field>
</repeat>
Wiki Markup
{cloak}

2. Edit cataloging.json to point to our new required field

Wiki Markup
{toggle-cloak:id=c42}

unmigrated-inline-wiki-markup

{cloak:id=c42}

Again, using the previous field as an example, just replace the old field references with the new one. The queryPath string value tells the UI where to find the field group when it is a repeatable group. The path string value tells the UI what field to assign to the titleBar element (where the values of required fields live.)

Code Block
controlstrue
languagejs
firstline20
linenumbersfalse
"titleBar": {
        "type": "cspace.titleBar",
        "options": {
            "fields": [
            "fields.objectNumber", {
                "type": "repeatableMatch",
                "queryPath": "fields.objectTitles",
                "childPath": "_primary",
                "value": true,
                "path": "objectTitle"
            }]
          }
},
Wiki Markup
{cloak}
Adding a dynamic vocabulary term list instance

...

1. For MMI we'll set up a few vocab instances by adding them to domain-vocabularies.xml.

Wiki Markup
{toggle-cloak:id=c51}

Wiki Markup
{cloak:id=c51}
Code Block

Code Block
controlstrue
languagexml
linenumbersfalse
<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>
<instance id="vocab-technicalattribute">
      <web-url>technicalattribute</web-url>
      <title-ref>technicalattribute</title-ref>
      <title>Technical Attribute</title>
      <options>
               <option id="" default="yes"></option>
               <option id="width">Width</option>
               <option id="rotationalspeed">Rotational speed</option>
               <option id="gauge">Gauge</option>
       </options>
</instance>
<instance id="vocab-technicalmeasurement">
      <web-url>technicalmeasurement</web-url>
      <title-ref>technicalmeasurement</title-ref>
      <title>Technical Attribute Measurement</title>
      <options>
               <option id="1s2">1/2</option>
               <option id="3s4">3/4</option>
               <option id="1"> 1</option>
               <option id="2"> 2</option>
               <option id="331s3">33 1/3</option>
               <option id="45">45</option>
               <option id="78">78</option>
               <option id="8"> 8</option>
               <option id="9p5">9.5</option>
               <option id="16">16</option>
               <option id="17p5">17.5</option>
               <option id="22">22</option>
               <option id="28">28</option>
               <option id="35">35</option>
       </options>
</instance>
<instance id="vocab-productionrole">
      <web-url>productionrole</web-url>
      <title-ref>productionrole</title-ref>
      <title>Object Production Entity Role</title>
      <options>
              <option id=""></option>
      </options>
</instance>
<instance id="vocab-technicalmeasurementunit">
      <web-url>technicalmeasurementunit</web-url>
      <title-ref>technicalmeasurementunit</title-ref>
      <title>Technical Attribute Measurement Unit</title>
      <options>
               <option id="inch">inch</option>
               <option id="rpm">rpm</option>
               <option id="mm">mm</option>
      </options>
</instance>
<instance id="vocab-productionrole">
      <web-url>productionrole</web-url>
      <title-ref>productionrole</title-ref>
      <title>Object Production Entity Role</title>
      <options>
               <option id="creator">Creator</option>
               <option id="designer">Designer</option>
               <option id="distributor">Distributor</option>
               <option id="licensor">Licensor</option>
               <option id="illustrator">Illustrator</option>
               <option id="manufacturer">Manufacturer</option>
               <option id="producer">Producer</option>
               <option id="publisher">Publisher</option>
               <option id="owner">Owner</option>
               <option id="authorwriter">Author/Writer</option>
               <option id="exhibitor">Exhibitor</option>
               <option id="performer">Performer</option>
               <option id="signitor">Signitor</option>
      </options>
</instance>
<instance id="vocab-associatedentitytype">
      <web-url>associatedentitytype</web-url>
      <title-ref>associatedentitytype</title-ref>
      <title>Associated Entity Type</title>
      <options>
               <option id="creator">Creator</option>
               <option id="designer">Designer</option>
               <option id="distributor">Distributor</option>
               <option id="licensor">Licensor</option>
               <option id="illustrator">Illustrator</option>
               <option id="manufacturer">Manufacturer</option>
               <option id="producer">Producer</option>
               <option id="publisher">Publisher</option>
               <option id="owner">Owner</option>
               <option id="authorwriter">Author/Writer</option>
               <option id="exhibitor">Exhibitor</option>
               <option id="performer">Performer</option>
               <option id="signitor">Signitor</option>
      </options>
</instance>
<instance id="vocab-material">
	<web-url>material</web-url>
	<title-ref>material</title-ref>
	<title>Material</title>
	<options>
		<option id="acetatefilm">Acetate film</option>
		<option id="cellophane">Cellophane</option>
		<option id="cellulosenitratefilm">Cellulose nitrate film</option>
		<option id="cement">Cement</option>
		<option id="ceramic">Ceramic</option>
		<option id="composition">Composition</option>
		<option id="cork">Cork</option>
		<option id="crystal">Crystal</option>
		<option id="engineeredwood">Engineered wood</option>
		<option id="fiberglass">Fiberglass</option>
		<option id="foam">Foam</option>
		<option id="fur">Fur</option>
		<option id="glass">Glass</option>
		<option id="glycerin">Glycerin</option>
		<option id="hair">Hhair</option>
		<option id="latex">Latex</option>
		<option id="leather">Leather</option>
		<option id="metal">Metal</option>
		<option id="neon">Neon</option>
		<option id="paper">Ppaper</option>
		<option id="photographicnegative">Photographic negative</option>
		<option id="photographicpaper">Photographic paper</option>
		<option id="photographicpapermountedontextile">Photographic paper mounted on textile</option>
		<option id="plaster">Plaster</option>
		<option id="plastic">Plastic</option>
		<option id="polystyrene">Polystyrene</option>
		<option id="polyurethane">Polyurethane</option>
		<option id="resin">Resin</option>
		<option id="rock">Rock</option>
		<option id="rubber">Rubber</option>
		<option id="soap">Soap</option>
		<option id="textile">Textile</option>
		<option id="vinyl">Vinyl</option>
		<option id="wax">Wax</option>
		<option id="wood">Wood</option>
	</options>
</instance>
Wiki Markup
{cloak}

2. We'll attach a reference to the new vocab instance for each necessary field in base-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c52}

Wiki Markup
{cloak:id=c52}
Code Block
controlstrue
languagexml
linenumbersfalse
<field id="numberType" in-tab="yes" autocomplete="vocab-numbertype" ui-type="enum"  seperate_ui_container="true">
...
<field id="technicalAttribute" ui-search="repeatable" autocomplete="vocab-technicalattribute" ui-type="enum" seperate_ui_container="true">
...
<field id="technicalAttributeMeasurement" autocomplete="vocab-technicalmeasurement" ui-type="enum" seperate_ui_container="true">
...
<field id="technicalAttributeMeasurementUnit" autocomplete="vocab-technicalmeasurementunit" ui-type="enum" seperate_ui_container="true">
...
<field id="objectProductionOrganizationRole" autocomplete="vocab-productionrole" ui-type="enum"></field>
...
<field id="assocOrganizationType" autocomplete="vocab-associatedentitytype" ui-type="enum"></field>
...
<field id="mmiMaterial" autocomplete="vocab-material" ui-type="enum" section="mmi">
Wiki Markup
{cloak}

Adding a new (or existing) field into an existing repeatable group.

...

1. Create new repeating group in collectionobjects_mmi.xsd styled after the existing one

Wiki Markup
{toggle-cloak:id=c61}

unmigrated-inline-wiki-markup

{cloak:id=c61}
Code Block
controlstrue
languagexml
linenumbersfalse
<xs:element name="mmiDimensions" type="ns:mmiDimensionList"/>
<xs:complexType name="mmiDimensionList">
    <xs:sequence>
        <xs:element name="mmiDimensionGroup" type="mmiDimensionGroup" minOccurs="0"
            maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>
<xs:complexType name="mmiDimensionGroup">
    <xs:sequence>
        <xs:element name="mmiDimensionSummary" type="xs:string"/>
        <xs:element name="mmiMeasuredPart" type="xs:string"/>
        <xs:element name="mmiMeasurementUnit" type="xs:string"/>
        <xs:element name="mmiValue" type="xs:string"/>
        <xs:element name="mmiValueDate" type="xs:string"/>
        <xs:element name="mmiValueQualifier" type="xs:string"/>
    </xs:sequence>
</xs:complexType>

Wiki Markup
{cloak}

2. Add fields to domain-collectionobjects.xml

Wiki Markup
{toggle-cloak:id=c62}

Wiki Markup
{cloak:id=c62}
Code Block
Code Block
controlstrue
languagexml
linenumbersfalse
        <repeat id="mmiDimensions/mmiDimensionGroup" section="mmi">
                <field id="mmiDimensionSummary" section="mmi">
                        <selector>object-description-dimension-mmiDimensionSummary</selector>
                </field>
                <field id="mmiMeasuredPart" seperate_ui_container="true" section="mmi">
                        <selector>object-description-dimension-mmiMeasuredPart</selector>
                </field>
                <field id="mmiMeasurementUnit" seperate_ui_container="true" section="mmi">
                        <selector>object-description-dimension-mmiMeasurementUnit</selector>
                        <options>
                                <option id="">Please select a value</option>
                                <option id="inches">inches</option>
                                <option id="feet">feet</option>
                                <option id="millimeters">millimeters</option>
                        </options>
                </field>
                <field id="mmiValue" datatype="integer" section="mmi">
                        <selector>object-description-dimension-mmiValue</selector>
                </field>
                <field id="mmiValueDate" ui-type="date" section="mmi">
                        <selector>object-description-dimension-mmiValueDate</selector>
                </field>
                <field id="mmiValueQualifier" section="mmi">
                        <selector>object-description-dimension-mmiValueQualifier</selector>
                </field>
        </repeat>
Wiki Markup
{cloak}

3. Edit CollectionObjectTemplate.html

Wiki Markup
{toggle-cloak:id=c63}

Wiki Markup
{cloak:id=c63}
Code Block
controlstrue
languagehtml
linenumbersfalse
<div class="info-pair">
     <div class="header">
           <div class="label csc-collection-object-mmiDimensionGroup-label"></div>
      </div>
      <div class="content">
             <table>
                <thead>
                    <tr>
                        <td class="csc-collection-object-mmiDimensionSummary-label"></td>
                        <td class="csc-collection-object-mmiMeasuredPart-label"></td>
                        <td class="csc-collection-object-mmiMeasurementUnit-label"></td>
                        <td class="csc-collection-object-mmiValue-label"></td>
                        <td class="csc-collection-object-mmiValueQualifier-label"></td>
                        <td class="csc-collection-object-mmiValueDate-label"></td>
                    </tr>
                 </thead>
                 <tbody>
                    <tr class="csc-collection-object-mmiDimensionGroup">
                        <td>
                            <input type="text" class="csc-object-description-dimension-mmiDimensionSummary">
                        </td>
                        <td>
                            <input type="text" class="csc-object-description-dimension-mmiMeasuredPart" />
                        </td>
                        <td>
                            <select class="csc-object-description-dimension-mmiMeasurementUnit input-select">
                               <option value="">
                                    Options not loaded
                               </option>
                            </select>
                        </td>
                        <td>
                            <input type="text" class="csc-object-description-dimension-mmiValue">
                        </td>
                        <td>
                            <input type="text" class="csc-object-description-dimension-mmivalueQualifier">
                        </td>
                        <td>
                            <input type="text" class="csc-object-description-dimension-mmiValueDate">
                        </td>
                    </tr>
                </tbody>
             </table>
      </div>
 </div>
Wiki Markup
{cloak}

4. edit core-messages.properties

Wiki Markup
{toggle-cloak:id=c64}

unmigrated-inline-wiki-markup

{cloak:id=c64}
Code Block
controlstrue
languagexml
linenumbersfalse
#collection-object-measuredPartLabel: Part
collection-object-mmiMeasuredPartLabel: Part
#collection-object-dimensionLabel: Dimension
#collection-object-valueLabel: Value
collection-object-mmiValueLabel: Value
#collection-object-measurementUnitLabel: Dimension Unit
collection-object-mmiMeasurementUnitLabel: Dimension Unit
#collection-object-valueQualifierLabel: Value Qualifier
collection-object-mmiValueQualifierLabel: Value Qualifier
#collection-object-valueDateLabel: Date
collection-object-mmiValueDateLabel: Date

#collection-object-dimensionGroupLabel: Dimension
collection-object-mmiDimensionGroupLabel: Dimension

#collection-object-dimensionSummaryLabel: Dimension summary
collection-object-mmiDimensionSummaryLabel: Dimension summary
Wiki Markup
{cloak}

Add new Date group for Object History and Association Information group

1. Create new date group in domain-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c71}

Wiki Markup
{cloak:id=c71}

This is This is a copy of objectProductionDateGroup found in base-collectionobject.xml

Code Block
controlstrue
languagexml
linenumbersfalse
<xs:element name="objectProductionDateGroup" type="objectProductionDateGroup"/>

<xs:complexType name="objectHistoryDateGroup">
        <xs:sequence>
            <xs:element name="dateDisplayDate" type="xs:string"/>
            <xs:element name="dateAssociation" type="xs:string"/>
            <xs:element name="dateEarliestSingleYear" type="xs:string"/>
            <xs:element name="dateEarliestSingleMonth" type="xs:string"/>
            <xs:element name="dateEarliestSingleDay" type="xs:string"/>
            <xs:element name="dateEarliestSingleEra" type="xs:string"/>
            <xs:element name="dateEarliestSingleCertainty" type="xs:string"/>
            <xs:element name="dateEarliestSingleQualifier" type="xs:string"/>
            <xs:element name="dateEarliestSingleQualifierValue" type="xs:string"/>
            <xs:element name="dateEarliestSingleQualifierUnit" type="xs:string"/>
            <xs:element name="dateLatestYear" type="xs:string"/>
            <xs:element name="dateLatestMonth" type="xs:string"/>
            <xs:element name="dateLatestDay" type="xs:string"/>
            <xs:element name="dateLatestEra" type="xs:string"/>
            <xs:element name="dateLatestCertainty" type="xs:string"/>
            <xs:element name="dateLatestQualifier" type="xs:string"/>
            <xs:element name="dateLatestQualifierValue" type="xs:string"/>
            <xs:element name="dateLatestQualifierUnit" type="xs:string"/>
            <xs:element name="datePeriod" type="xs:string"/>
            <xs:element name="dateNote" type="xs:string"/>
        </xs:sequence>
</xs:complexType>
Wiki Markup
{cloak}

2. Add date group values into domain-collectionobject.xml

Wiki Markup
{toggle-cloak:id=c72}

Wiki Markup
{cloak:id=c72}
Code Block
controlstrue
languagexml
linenumbersfalse
<field id="objectHistoryDate" ui-search="repeatable" ui-type="groupfield/structureddate" primarykey="objectHistoryDate.dateDisplayDate" ui-func="cspace.structuredDate" section="mmi">
       <services-tag>objectHistoryDateGroup</services-tag>
       <selector>object-history-date</selector>
</field>
Wiki Markup
{cloak}

3. Add field into CollectionobjectTemplate.html

Wiki Markup
{toggle-cloak:id=c73}

Wiki Markup
{cloak:id=c73}
Code Block
controlstrue
languagehtml
linenumbersfalse
<div class="info-pair">
     <div class="header">
          <div class="label csc-collection-object-objectHistoryDate-label"></div>
     </div>
     <div class="content">
          <input type="text" class="csc-object-history-date">
     </div>
</div>
Wiki Markup
{cloak}

4. Add field into core-messages.properties

Wiki Markup
{toggle-cloak:id=c74}

Wiki Markup{cloak:id=c74}

Code Block
controlstrue
languagexml
linenumbersfalse
collection-object-objectHistoryDateLabel: Associated Date
Wiki Markup
{cloak}