...
1 This is a new field that will be added as a schema extension for the person authority. Since there is no current sub-module for our custom schema the first step is to add an person sub-module nuxeo-platform-cs-person-mmi
that defines the custom mmi schema. The following steps have been adapted from Rick's helpful How to add an extension schema page.
Wiki Markup |
---|
{composition-setup}{composition-setup} |
- a. add a custom person schema file
persons_mmi.xsd
with new field name nameType
unmigrated-inline-wiki-markup
{toggle-cloak:id=p11a} |
Wiki Markup |
---|
{cloak:id=p11a} |
Note new field on line 23. Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
MMI Person schema (XSD)
Entity : Person
Part : local - Museum of the Moving Image (MMI)
Used for: Nuxeo EP core document type
$LastChangedRevision: 860 $
$LastChangedDate: 2009-10-14 14:48:05 -0700 (Wed, 14 Oct 2009) $
-->
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns="http://collectionspace.org/services/person/local/mmi"
xmlns="http://collectionspace.org/services/person/local/mmi"
targetNamespace="http://collectionspace.org/services/person/local/mmi"
version="0.1"
>
<!-- See http://wiki.collectionspace.org/display/collectionspace/Person+Service+Home -->
<xs:element name="nameTypes">
<xs:complexType>
<xs:sequence>
<xs:element name="nameType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
|
- b. edit
MANIFEST.MF
to reference new mmi
module Wiki Markup |
---|
{toggle-cloak:id=p11b} |
Wiki Markup |
{cloak:id=p11b}
Note references to lowercase mmi
tenant string name on lines 3, 4, and 18.
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
Manifest-Version: 1.0
Bundle-ManifestVersion: 1
Bundle-Name: org.collectionspspace.personTenant42
Bundle-SymbolicName: org.collectionspace.personTenant42;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.personTenant42
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
|
unmigrated-inline-wiki-markup |
{cloak} |
- c. add a custom schema to parent document type
core-types-contrib.xml
and reference new person authority schema Wiki Markup |
---|
{toggle-cloak:id=p11c} |
Wiki Markup |
---|
{cloak:id=p11c} |
Note reference to mmi
schema names and Note reference to mmi
schema names and tenant string names on lines 2, 8, 21 and 26. Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0"?>
<component name="org.collectionspace.personTenant42.coreTypes">
<!--<extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
<schema name="personauthorities_common" prefix="personauthorities_common" src="schemas/personauthorities_common.xsd"/>
</extension>-->
<extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
<schema name="persons_mmi" prefix="persons_mmi" src="schemas/persons_mmi.xsd"/>
</extension>
<!--<extension target="org.nuxeo.ecm.core.schema.TypeService" point="doctype">
<doctype name="Personauthority" extends="Document">
<schema name="common"/>
<schema name="dublincore"/>
<schema name="collectionspace_core"/>
<schema name="personauthorities_common"/>
</doctype>
</extension>-->
<extension target="org.nuxeo.ecm.core.schema.TypeService" point="doctype">
<doctype name="PersonTenant42" extends="Document">
<schema name="common"/>
<schema name="dublincore"/>
<schema name="collectionspace_core"/>
<schema name="persons_common"/>
<schema name="persons_mmi"/>
<!--<prefetch>persons_common:displayName persons_common:refName persons_common:shortIdentifier</prefetch>-->
</doctype>
</extension>
</component>
|
Wiki Markup |
---|
{cloak} |
- d. edit
ecm-types-contrib.xml
to reference new mmi
component Wiki Markup |
---|
{toggle-cloak:id=p11d} |
Wiki Markup |
---|
{cloak:id=p11d} |
Note reference to mmi
tenant string name on lines 2, 31, 39, 45 and 51. Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0"?>
<component name="org.collectionspace.personTenant42.ecm.types">
<!--<extension target="org.nuxeo.ecm.platform.types.TypeService" point="types">
<type id="Personauthority" coretype="Personauthority">
<label>org.collectionspace.personauthority</label>
<default-view>view_documents</default-view>
<layouts mode="any">
<layout>heading</layout>
<layout>collectionspace_core</layout>
<layout>cspersonauthority</layout>
</layouts>
</type>
<type id="Folder" coretype="Folder">
<subtypes>
<type>Personauthority</type>
</subtypes>
</type>
<type id="Workspace" coretype="Workspace">
<subtypes>
<type>Personauthority</type>
</subtypes>
</type>
</extension>-->
<extension target="org.nuxeo.ecm.platform.types.TypeService" point="types">
<type id="PersonTenant42" coretype="PersonTenant42">
<label>org.collectionspace.person</label>
<!--icon>/icons/file.gif</icon-->
<default-view>view_documents</default-view>
<layouts mode="any">
<layout>heading</layout>
<layout>collectionspace_core</layout>
<layout>personTenant42</layout>
</layouts>
</type>
<type id="Folder" coretype="Folder">
<subtypes>
<type>PersonTenant42</type>
</subtypes>
</type>
<type id="Workspace" coretype="Workspace">
<subtypes>
<type>PersonTenant42</type>
</subtypes>
</type>
</extension>
</component>
|
- e. edit
layouts-contrib.xml
to reference new mmi
component Wiki Markup |
---|
{toggle-cloak:id=p11e1} |
Wiki Markup |
---|
{cloak:id=p11e1} |
Wiki Markup |
{align:mode|class=myclass}
Note reference to {{mmi}} tenant string name on line 3
{newcode:language=xml|linenumbers=true|controls=true} Align |
---|
|
Note reference to mmi tenant string name on line 3 Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0"?>
<component name="org.collectionspace.personTenant42.layouts.webapp">
...
| {newcode}
and on line 76.
{newcode:language=xml|linenumbers=true|controls=true|firstline=73} Code Block |
---|
controls | true |
---|
language | xml |
---|
firstline | 73 |
---|
linenumbers | true |
---|
|
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="layouts">
<layout name="personTenant42">
<templates>
<template mode="any">/layouts/layout_default_template.xhtml</template>
</templates>
...
| {newcode}
{align} |
unmigrated-inline-wiki-markup |
{cloak} |
- f. edit
life-cycle-contrib.xml
to reference new mmi
component Wiki Markup |
---|
{toggle-cloak:id=p11f} |
Wiki Markup |
---|
{cloak:id=p11f} |
Note reference to mmi
tenant string name on lines 2 and 7. Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0"?>
<component name="org.collectionspace.ecm.platform.personTenant42.LifeCycleManagerExtensions">
<extension target="org.nuxeo.ecm.core.lifecycle.LifeCycleService" point="types">
<types>
<!--<type name="Personauthority">default</type>-->
<type name="PersonTenant42">default</type>
</types>
</extension>
</component>
|
- g. edit
3rdparty/nuxeo-platform-cs-person-mmi/build.xml
so to build the custom sub-module Wiki Markup |
---|
{toggle-cloak:id=p11g} |
Wiki Markup |
{cloak:id=p11g}
Note reference to mmi
project name on line 1, and tenant string name on lines 13 and 15.
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<project name="nuxeo-platform-cs-personTenant42" default="package" basedir=".">
<description>
person nuxeo document type
</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="nuxeo.person.jar"
value="org.collectionspace.services.personTenant42.3rdparty.nuxeo-${cspace.release}.jar"/>
<property name="nuxeo.person.jars.all"
value="org.collectionspace.services.personTenant42.3rdparty.nuxeo-*.jar"/>
...
|
- h. edit
3rdparty/nuxeo-platform-cs-person-mmi/pom.xml
to reference new mmi
component Wiki Markup |
---|
{toggle-cloak:id=p11h} |
Wiki Markup |
{cloak:id=p11h} component Note reference to mmi
tenant string name on lines 12, 13, and description on line 15.
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<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.person.3rdparty</artifactId>
<version>1.11-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.personTenant42.3rdparty.nuxeo</artifactId>
<name>services.personTenant42.3rdparty.nuxeo</name>
<packaging>jar</packaging>
<description>
MMI Person Nuxeo Document Type
</description>
...
|
Wiki Markup |
---|
{cloak} |
- i. edit
3rdparty/build.xml
so to build the custom sub-module Wiki Markup |
---|
{toggle-cloak:id=p11i} |
Wiki Markup |
---|
{cloak:id=p11i} |
Wiki Markup |
{align:mode|class=myclass}
Note reference to {{mmi}} custom module on lines 11, 116, 122, 128 and 134.
{newcode:language=xml|linenumbers=true|controls=true} Align |
---|
|
Note reference to mmi custom module on lines 11, 116, 122, 128 and 134. Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<project name="person.3rdparty" default="package" basedir=".">
<description>
person service 3rdparty
</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="mvn.opts" value="" />
<property name="src" location="src"/>
<property name="nuxeo-platform-person" value="nuxeo-platform-person"/>
<property name="nuxeo-platform-person-mmi" value="nuxeo-platform-person-mmi"/>
...
| {newcode}
and further down the file
{newcode:language=xml|linenumbers=true|controls=true|firstline=113}file Code Block |
---|
controls | true |
---|
language | xml |
---|
firstline | 113 |
---|
linenumbers | true |
---|
|
<target name="deploy" depends="install"
description="deploy person in ${jboss.server.nuxeo}">
<ant antfile="nuxeo-platform-cs-person/build.xml" target="deploy" inheritall="false"/>
<ant antfile="nuxeo-platform-cs-person-mmi/build.xml" target="deploy" inheritall="false"/>
</target>
<target name="undeploy"
description="undeploy person from ${jboss.server.nuxeo}">
<ant antfile="nuxeo-platform-cs-person/build.xml" target="undeploy" inheritall="false"/>
<ant antfile="nuxeo-platform-cs-person-mmi/build.xml" target="undeploy" inheritall="false"/>
</target>
<target name="dist"
description="generate distribution for person" depends="package">
<ant antfile="nuxeo-platform-cs-person/build.xml" target="dist" inheritall="false"/>
<ant antfile="nuxeo-platform-cs-person-mmi/build.xml" target="dist" inheritall="false"/>
</target>
<target name="dist_installer"
description="generate distribution for collectionobject" depends="package">
<ant antfile="nuxeo-platform-cs-person/build.xml" target="dist_installer" inheritall="false"/>
<ant antfile="nuxeo-platform-cs-person-mmi/build.xml" target="dist_installer" inheritall="false"/>
</target>
</project> |
{newcode}{align} |
- j. edit
3rdparty/pom.xml
to reference new mmi
component Wiki Markup |
---|
{toggle-cloak:id=p11j} |
Wiki Markup |
---|
{cloak:id=p11j} |
Note reference to mmi
custom module on line 21. Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<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.person</artifactId>
<version>1.9-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.person.3rdparty</artifactId>
<name>services.person.3rdparty</name>
<packaging>pom</packaging>
<description>
3rd party build for person service
</description>
<modules>
<module>nuxeo-platform-cs-person</module>
<module>nuxeo-platform-cs-person-mmi</module>
</modules>
</project>
|
- k. add this code chunk to tenant binding
tenant-bindings-delta.xml
ABOVE the tenant binding chunk for Acquisitions Wiki Markup |
---|
{toggle-cloak:id=a21k} |
Wiki Markup |
---|
{cloak:id=a21k} |
code chunk to tenant binding tenant-bindings-delta.xml
ABOVE the tenant binding chunk for Acquisitions This needs to be placed before Acquisitions because of the layout of the tenant-bindings.proto.xml file and because of how XMLMerge parses the -delta file.
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<?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="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>
|
Wiki Markup |
---|
{cloak} |
2. add field id and selector to domain-authority-person.xml
Wiki Markup |
---|
{toggle-cloak:id=p12} |
Wiki Markup |
---|
{cloak:id=p12} |
Note the section
attribute for the new field. Every new field will have this identifying attribute.
Code Block |
---|
<repeat id="nameTypes" section="mmi">
<field id="nameType" section="mmi">
<selector>personAuthority-nameType</selector>
<options>
<option id="display" default="yes">Display</option>
<option id="index">Index</option>
<option id="maiden">Maiden</option>
<option id="pseudonym">Pseudonym</option>
</options>
</field>
</repeat>
|
3. edit base-authority-person.xml
to point to new schema
Wiki Markup |
---|
{toggle-cloak:id=p13} |
...
3. edit base-authority-person.xml
to point to new schema
Note the id
attribute on line 11. This connects with the section
attribute from the domain-authority-person.xml
file.
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
<record id="person" type="authority,compute-displayname">
<terms-used>false</terms-used>
<!-- XXX servcie layer doesn't currently support person terms but it does on organisations - go figure -->
<web-url>person</web-url>
<services-tenant-auth-singular>Personauthority</services-tenant-auth-singular>
<services-tenant-auth-plural>Personauthorities</services-tenant-auth-plural>
<services-tenant-singular>Person</services-tenant-singular>
<services-instances-path>personauthorities_common:http://collectionspace.org/services/person,abstract-common-list/list-item</services-instances-path>
<services-single-instance-path>personauthorities_common:http://collectionspace.org/services/person,personauthorities_common</services-single-instance-path>
<services-list-path>http://collectionspace.org/services/person,abstract-common-list/list-item</services-list-path>
<services-record-path id="mmi">persons_mmi:http://collectionspace.org/services/person/local/mmi,persons_mmi</services-record-path>
<services-record-path>persons_common:http://collectionspace.org/services/person,persons_common</services-record-path>
...
|
4. add field label to core-messages.properties
Wiki Markup |
---|
{toggle-cloak:id=p14} |
Wiki Markup |
---|
{cloak:id=p14} |
Code Block |
---|
person-nameTypesLabel: Name type
|
5. added to PersonTemplate.html
Wiki Markup |
---|
{toggle-cloak:id=p15} |
Wiki Markup |
---|
{cloak:id=p15}: Name type
|
5. added to PersonTemplate.html
Code Block |
---|
<div class="info-pair">
<div class="header">
<div class="csc-person-nameTypes-label label"></div>
</div>
<div class="content">
<select type="text" class="csc-personAuthority-nameType input-select" >
<option value="">Options not loaded</option>
</select>
</div>
</div>
|
unmigrated-inline-wiki-markup |
{cloak} |
6. run mini-build scripts to deploy changes across all layers and then build & deploy updated services module from source unmigrated-inline-wiki-markup
{toggle-cloak:id=p16} |
Wiki Markup |
---|
{cloak:id=p16} |
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | true |
---|
|
cd /tmp/tenant-customizations-v1.9/application
ant deploy
cd /tmp/tenant-customizations-v1.9/ui
ant deploy
cd /tmp/v1.9/services/person
mvn clean install -DskipTests
cd /tmp/v1.9/services/person
ant undeploy deploy
|
Wiki Markup |
---|
{cloak} |
Added two fields which are a repeating group with a name authority field and a controlled list:
Affiliated organization and Affiliated organization type.
1. added to persons_mmi.xsd
Wiki Markup |
---|
{toggle-cloak:id=p21} |
unmigrated-inline-wiki-markup
{cloak:id=p21} |
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | false |
---|
|
<xs:element name="affiliatedPersonOrgGroupList" type="affiliatedPersonOrgGroupList"/>
<xs:complexType name="affiliatedPersonOrgGroupList">
<xs:sequence>
<xs:element name="affiliatedPersonOrgGroup" type="affiliatedPersonOrgGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="affiliatedPersonOrgGroup">
<xs:sequence>
<xs:element name="affiliatedPersonOrg" type="xs:string"/>
<xs:element name="affiliatedPersonOrgType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
|
Wiki Markup |
---|
{cloak} |
2. added to domain-authority-person.xml
Wiki Markup |
---|
{toggle-cloak:id=p22} |
unmigrated-inline-wiki-markup
{cloak:id=p22} |
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | false |
---|
|
<repeat id="affiliatedPersonOrgGroupList/affiliatedPersonOrgGroup" section="mmi">
<field id="affiliatedPersonOrg" autocomplete="person-person" section="mmi">
<selector>personAuthority-affiliatedPersonOrg</selector>
</field>
<field id="affiliatedPersonOrgType" section="mmi">
<selector>personAuthority-affiliatedPersonOrgType</selector>
<options>
<option id="">Please select a value</option>
<option id="employee">Employee</option>
<option id="founder">Founder</option>
<option id="member">Member</option>
<option id="partner">Partner</option>
</options>
</field>
</repeat>
|
Wiki Markup |
---|
{cloak} |
3. added to core-messages.properties
Wiki Markup |
---|
{toggle-cloak:id=p23} |
Wiki Markup |
---|
{cloak:id=p23} |
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | false |
---|
|
person-affiliatedPersonOrgGroupLabel: Affiliated person/organization
person-affiliatedPersonOrgLabel: Affiliated person/organization
person-affiliatedPersonOrgTypeLabel: Affiliated person/organization type
|
4. added to PersonTemplate.html
Wiki Markup |
---|
{toggle-cloak:id=p24} |
Wiki Markup |
---|
{cloak:id=p24} type
|
4. added to PersonTemplate.html
Code Block |
---|
controls | true |
---|
language | xml |
---|
linenumbers | false |
---|
|
<div class="info-pair">
<div class="header">
<div class="label csc-person-affiliatedPersonOrgGroup-label label"></div>
</div>
<div class="content">
<table>
<thead>
<tr>
<td class="csc-person-affiliatedPersonOrg-label label"></td>
<td class="csc-person-affiliatedPersonOrgType-label label"></td>
</tr>
</thead>
<tbody>
<tr class="csc-person-affiliatedPersonOrgGroup">
<td>
<input type="text" class="input-alpha-table csc-personAuthority-affiliatedPersonOrg" />
</td>
<td><select class="input-select csc-personAuthority-affiliatedPersonOrgType">
<option value="">Options not loaded</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
</div>
|
Wiki Markup |
---|
{cloak} |
Next, changed Person's Salutation and Person's Title from a controlled list to a normal text field.
1. commented out the <options> ... </options>
portion from both fields in base-authority-person.xml
Wiki Markup |
---|
{toggle-cloak:id=p31} |
Wiki Markup |
---|
{cloak:id=p31} |
Code Block |
---|
controls | true |
---|
language | xml |
---|
firstline | 80 |
---|
linenumbers | true |
---|
|
<field id="salutation">
<selector>personAuthority-salutation</selector>
<!--<options>
<option id="dear" default="yes">Dear</option>
<option id="hello">Hello</option>
<option id="to">To</option>
</options>-->
</field>
<field id="title">
<selector>personAuthority-title</selector>
<!--<options>
<option id="" default="yes">Please select a value</option>
<option id="Mr">Mr</option>
<option id="Mrs">Mrs</option>
<option id="Ms">Ms</option>
<option id="Miss">Miss</option>
<option id="Dr">Dr</option>
<option id="Professor">Professor</option>
<option id="Sir">Sir</option>
<option id="Dame">Dame</option>
<option id="Baron">Baron</option>
<option id="Baroness">Baroness</option>
<option id="Lord">Lord</option>
<option id="Lady">Lady</option>
</options>-->
</field>
|
2. Changed input type for the two fields in PersonTemplate.html
from <select
to <input
Wiki Markup |
---|
{toggle-cloak:id=p32} |
unmigrated-inline- |
wiki-markup{cloak:id=p32}->
</field>
|
2. Changed input type for the two fields in PersonTemplate.html
from <select
to <input
Code Block |
---|
controls | true |
---|
language | html |
---|
linenumbers | false |
---|
|
<tr class="csc-personAuthority-name">
<td><input type="text" class="csc-personAuthority-salutation"/></td>
<td><input type="text" class="csc-personAuthority-title"/></td>
...
|
Changed Term Status from normal text field into a controlled list field
1. added an <options> ... </options>
section to the termStatus section in base-authority-person.xml
Wiki Markup |
---|
{toggle-cloak:id=p41} |
Wiki Markup |
---|
{cloak:id=p41} |
Code Block |
---|
controls | true |
---|
language | xml |
---|
firstline | 71 |
---|
linenumbers | true |
---|
|
<field id="termStatus" seperate_ui_container="true">
<selector>personAuthority-status</selector>
<options>
<option id="quickaddedneedsattention" default="yes">Quick added, needs attention</option>
<option id="inprogress">In progress</option>
<option id="complete">Complete</option>
</options>
</field>
|
Added seven new fields:
Source; Entity type; Life span; Scope notes; Source notes; Organization's contact name; and Function
1. added to persons_mmi.xsd
Wiki Markup |
---|
{toggle-cloak:id=p51} |
...
and Function
1. added to persons_mmi.xsd
Code Block |
---|
<xs:element name="nameSource" type="xs:string"/>
<xs:element name="entityType" type="xs:string"/>
<xs:element name="lifeSpan" type="xs:string"/>
<xs:element name="scopeNote" type="xs:string"/>
<xs:element name="sourceNote" type="xs:string"/>
<xs:element name="orgContactNames">
<xs:complexType>
<xs:sequence>
<xs:element name="orgContactName" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="nameFunctions">
<xs:complexType>
<xs:sequence>
<xs:element name="nameFunction" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
|
unmigrated-inline-wiki-markup |
{cloak} |
2. added to domain-authority-person.xml
unmigrated-inline-wiki-markup
{toggle-cloak:id=p52} |
Wiki Markup |
---|
{cloak:id=p52} |
Code Block |
---|
<field id="nameSource" seperate_ui_container="true" section="mmi">
<selector>personAuthority-nameSource</selector>
<options>
<option id="" default="yes">Please select a value</option>
<option id="aficatalog">AFI Catalog</option>
<option id="encyclopediaofearlycinema">Encyclopedia of Early Cinema</option>
<option id="halliwellswhoswhointhemovies">Halliwell's Who's Who in the Cinema</option>
<option id="libraryofcongressnameauthority">Library of Congress Name Authority</option>
<option id="other">Other</option>
<option id="root">Root</option>
<option id="silentfilmnecrology2ndedition">Silent Film Necrology, 2nd Edition</option>
<option id="thefilmencyclopedia4thedition">The Film Encyclopedia, 4th Edition</option>
</options>
</field>
<field id="entityType" seperate_ui_container="true" section="mmi">
<selector>personAuthority-entityType</selector>
<options>
<option id="" default="yes">Please select a value</option>
<option id="corporation">Corporation</option>
<option id="group">Group</option>
<option id="individual">Individual</option>
</options>
</field>
<field id="lifeSpan" section="mmi">
<selector>personAuthority-lifeSpan</selector>
</field>
<field id="scopeNote" section="mmi">
<selector>personAuthority-scopeNote</selector>
</field>
<field id="sourceNote" section="mmi">
<selector>personAuthority-sourceNote</selector>
</field>
<!-- new MMI repeatable field -->
<repeat id="orgContactNames" section="mmi">
<!--<selector>personAuthority-orgContactName</selector>-->
<field id="orgContactName" autocomplete="person-person section="mmi">
<selector>personAuthority-orgContactName</selector>
</field>
</repeat>
<repeat id="nameFunctions section="mmi"">
<!--<selector>personAuthority-nameFunction</selector>-->
<field id="nameFunction" section="mmi">
<selector>personAuthority-nameFunction</selector>
</field>
</repeat>
|
Wiki Markup |
---|
{cloak} |
3. added to core-messages.properties
Wiki Markup |
---|
{toggle-cloak:id=p53} |
unmigrated-inline-wiki-markup
{cloak:id=p53} |
Code Block |
---|
person-nameSourceLabel: Source
person-entityTypeLabel: Entity type
person-lifeSpanLabel: Life span
person-scopeNoteLabel: Scope note
person-sourceNoteLabel: Source note
person-orgContactNamesLabel: Organization's contact name
person-nameFunctionsLabel: Function
|
Wiki Markup |
---|
{cloak} Function
|
4. added to PersonTemplate.html
Wiki Markup |
---|
{toggle-cloak:id=p54} |
unmigrated-inline-wiki-markup
{cloak:id=p54} |
Code Block |
---|
<div class="info-pair">
<div class="header">
<div class="csc-person-nameSource-label label"></div>
</div>
<div class="content">
<select class="csc-personAuthority-nameSource input-select" ><option value="">Options not loaded</option></select>
</div>
</div>
<div class="info-pair-select">
<div class="header">
<div class="csc-person-entityType-label label"></div>
</div>
<div class="content">
<select class="csc-personAuthority-entityType input-select" ><option value="">Options not loaded</option></select>
</div>
</div>
<div class="info-pair-select">
<div class="header">
<div class="csc-person-lifeSpan-label label"></div>
</div>
<div class="content">
<input type="text" class="csc-personAuthority-lifeSpan" disabled="disbaled" />
</div>
</div>
<div class="info-pair">
<div class="header">
<div class="csc-person-scopeNote-label label"></div>
</div>
<div class="content">
<textarea rows="4" cols="30" class="csc-personAuthority-scopeNote" />
</div>
</div>
<div class="info-pair">
<div class="header">
<div class="csc-person-sourceNote-label label"></div>
</div>
<div class="content">
<textarea rows="4" cols="30" class="csc-personAuthority-sourceNote" />
</div>
</div>
<div class="info-pair">
<div class="header">
<div class="csc-person-orgContactNames-label label"></div>
</div>
<div class="content">
<input type="text" class="csc-personAuthority-orgContactName" />
</div>
</div>
<div class="info-pair">
<div class="header">
<div class="csc-person-nameFunctions-label label"></div>
</div>
<div class="content">
<input type="text" class="csc-personAuthority-nameFunction" />
</div>
</div>
|
unmigrated-inline-wiki-markup |
{cloak} |
Recreated Contact Information Group for Person(Name) Authority. I still need to find a way to activate this authority within the larger Person Authority record
...
1. added to persons_common.xsd
Wiki Markup |
---|
{toggle-cloak:id=p61} |
Wiki Markup |
---|
{cloak:id=p61} |
Code Block |
---|
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns="http://collectionspace.org/contact/"
xmlns="http://collectionspace.org/contact/"
targetNamespace="http://collectionspace.org/contact/"
version="0.1">
<xs:element name="csid" type="xs:string" />
<xs:element name="inAuthority" type="xs:string" />
<xs:element name="inItem" type="xs:string" />
<!-- Email Group -->
<xs:element name="emailGroupList" type="emailGroupList"/>
<xs:complexType name="emailGroupList">
<xs:sequence>
<xs:element name="emailGroup" type="emailGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="emailGroup">
<xs:sequence>
<xs:element name="email" type="xs:string"/>
<xs:element name="emailType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- telephone Group -->
<xs:element name="telephoneGroupList" type="telephoneGroupList"/>
<xs:complexType name="telephoneGroupList">
<xs:sequence>
<xs:element name="telephoneGroup" type="telephoneGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="telephoneGroup">
<xs:sequence>
<xs:element name="telephoneNumber" type="xs:string"/>
<xs:element name="telephoneNumberType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- fax number Group -->
<xs:element name="faxNumberGroupList" type="faxNumberGroupList"/>
<xs:complexType name="faxNumberGroupList">
<xs:sequence>
<xs:element name="faxNumberGroup" type="faxNumberGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="faxNumberGroup">
<xs:sequence>
<xs:element name="faxNumber" type="xs:string"/>
<xs:element name="faxNumberType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- web Group -->
<xs:element name="webGroupList" type="webGroupList"/>
<xs:complexType name="webGroupList">
<xs:sequence>
<xs:element name="webGroup" type="webGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="webGroup">
<xs:sequence>
<xs:element name="web" type="xs:string"/>
<xs:element name="webType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- address Group -->
<xs:element name="addressGroupList" type="addressGroupList"/>
<xs:complexType name="addressGroupList">
<xs:sequence>
<xs:element name="addressGroup" type="addressGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="addressGroup">
<xs:sequence>
<xs:element name="addressPlace" type="xs:string"/>
<xs:element name="addressPlace2" type="xs:string"/>
<xs:element name="addressCity" type="xs:string"/>
<xs:element name="addressState" type="xs:string"/>
<xs:element name="addressPostcode" type="xs:string"/>
<xs:element name="addressCountry" type="xs:string"/>
<xs:element name="addressType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
|
Wiki Markup |
---|
{cloak} |
2. added to cspace-config-core.xml
Wiki Markup |
---|
{toggle-cloak:id=p62} |
Wiki Markup |
{cloak:id=p62}. added to cspace-config-core.xml
Code Block |
---|
<section>
<!-- new MMI repeatable email group -->
<repeat id="emailGroupList/emailGroup">
<field id="email">
<selector>contactAuthority-email</selector>
</field>
<field id="emailType">
<selector>contactAuthority-emailType</selector>
<options>
<option id="">Please select a value</option>
<option id="home">Home</option>
<option id="work">Work</option>
<option id="other">Other</option>
</options>
</field>
</repeat>
<!-- new MMI repeatable telephone number group -->
<repeat id="telephoneNumberGroupList/telephoneNumberGroup">
<field id="telephoneNumber">
<selector>contactAuthority-telephoneNumber</selector>
</field>
<field id="telephoneNumberType">
<selector>contactAuthority-telephoneNumberType</selector>
<options>
<option id="">Please select a value</option>
<option id="home">Home</option>
<option id="mobile">Mobile</option>
<option id="work">Work</option>
<option id="other">Other</option>
</options>
</field>
</repeat>
<!-- new MMI repeatable fax number group -->
<repeat id="faxNumberGroupList/faxNumberGroup">
<field id="faxNumber">
<selector>contactAuthority-faxNumber</selector>
</field>
<field id="faxNumberTypeType">
<selector>contactAuthority-faxNumberType</selector>
<options>
<option id="">Please select a value</option>
<option id="home">Home</option>
<option id="work">Work</option>
<option id="other">Other</option>
</options>
</field>
</repeat>
<!-- new MMI repeatable web group -->
<repeat id="webGroupList/webGroup">
<field id="web">
<selector>contactAuthority-web</selector>
</field>
<field id="webType">
<selector>contactAuthority-webType</selector>
<options>
<option id="">Please select a value</option>
<option id="home">Home</option>
<option id="work">Work</option>
<option id="other">Other</option>
</options>
</field>
</repeat>
<!-- new MMI repeatable address group -->
<repeat id="addressGroupList/addressGroup">
<field id="addressPlace">
<selector>contactAuthority-addressPlace</selector>
</field>
<field id="addressPlace2">
<selector>contactAuthority-addressPlace2</selector>
</field>
<field id="addressCity">
<selector>contactAuthority-addressCity</selector>
</field>
<field id="addressState">
<selector>contactAuthority-addressState</selector>
</field>
<field id="addressPostcode">
<selector>contactAuthority-addressPostcode</selector>
</field>
<field id="addressCountry">
<selector>contactAuthority-addressCountry</selector>
<options>
<option id="">Please select a value</option>
<option id="home">Home</option>
<option id="work">Work</option>
<option id="other">Other</option>
</options>
</field>
</repeat>
</section>
|
unmigrated-inline-wiki-markup |
{cloak} |
3. added to core-messages.properties
unmigrated-inline-wiki-markup
{toggle-cloak:id=p63} |
Wiki Markup |
---|
{cloak:id=p63} |
Code Block |
---|
#Contact
contact: Contact
contact-emailGroupLabel: Email
contact-telephoneNumberGroupLabel: Telephone number
contact-faxNumberGroupLabel: Fax number
contact-webGroupLabel: Web address
contact-addressGroupLabel: Address line 1
contact-emailLabel: Email
contact-emailTypeLabel: Email type
contact-telephoneNumberLabel: Telephone number
contact-telephoneNumberTypeLabel: Telephone number type
contact-faxNumberLabel: Fax number
contact-faxNumberTypeLabel: Fax number type
contact-webLabel: Web address
contact-webTypeLabel: Web address type
contact-addressPlaceLabel: Address line 1
contact-addressPlace2Label: Address line 2
contact-addressCityLabel: City/Town/Municipality
contact-addressStateLabel: Province/Territory/State
contact-addressPostcodeLabel: Postcode
contact-addressCountryLabel: Country
contact-addressTypeLabel: Address type
|
Wiki Markup |
---|
{cloak} |
4. added to PersonTemplate.html
Wiki Markup |
---|
{toggle-cloak:id=p64} |
unmigrated-inline-wiki-markup
{cloak:id=p64} |
Code Block |
---|
<div class="info-column">
<div class="info-column2-50 fl-force-left">
<div class="info-pair">
<div class="header">
<div class="label csc-contact-emailGroup-label label"></div>
</div>
<div class="content">
<table>
<thead>
<tr>
<td class="csc-contact-email-label label"></td>
<td class="csc-contact-emailType-label label"></td>
</tr>
</thead>
<tbody>
<tr class="csc-contact-emailGroup">
<td><input type="text" class="input-alpha-table csc-contactAuthority-email" /></td>
<td><select class="input-select csc-contactAuthority-emailType"><option value="">Options not loaded</option></select></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="info-pair">
<div class="header">
<div class="label csc-contact-telephoneNumberGroup-label label"></div>
</div>
<div class="content">
<table>
<thead>
<tr>
<td class="csc-contact-telephoneNumber-label label"></td>
<td class="csc-contact-telephoneNumberType-label label"></td>
</tr>
</thead>
<tbody>
<tr class="csc-contact-telephoneNumberGroup">
<td><input type="text" class="input-alpha-table csc-contactAuthority-telephoneNumber" /></td>
<td><select class="input-select csc-contactAuthority-telephoneNumberType"><option value="">Options not loaded</option></select></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="info-column2-50 fl-force-right">
<div class="info-pair">
<div class="header">
<div class="label csc-contact-faxNumberGroup-label label"></div>
</div>
<div class="content">
<table>
<thead>
<tr>
<td class="csc-contact-faxNumber-label label"></td>
<td class="csc-contact-faxNumberType-label label"></td>
</tr>
</thead>
<tbody>
<tr class="csc-contact-faxNumberGroup">
<td><input type="text" class="input-alpha-table csc-contactAuthority-faxNumber" /></td>
<td><select class="input-select csc-contactAuthority-faxNumberType"><option value="">Options not loaded</option></select></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="info-pair">
<div class="header">
<div class="label csc-contact-webGroup-label label"></div>
</div>
<div class="content">
<table>
<thead>
<tr>
<td class="csc-contact-web-label label"></td>
<td class="csc-contact-webType-label label"></td>
</tr>
</thead>
<tbody>
<tr class="csc-contact-webGroup">
<td><input type="text" class="input-alpha-table csc-contactAuthority-web" /></td>
<td><select class="input-select csc-contactAuthority-webType"><option value="">Options not loaded</option></select></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="info-column">
<div class="info-pair">
<div class="header">
<div class="label csc-contact-addressGroup-label label"></div>
</div>
<div class="content">
<table>
<thead>
<tr>
<td class="csc-contact-addressPlace-label label"></td>
<td class="csc-contact-addressPlace2-label label"></td>
<td class="csc-contact-addressCity-label label"></td>
<td class="csc-contact-addressState-label label"></td>
<td class="csc-contact-addressPostcode-label label"></td>
<td class="csc-contact-addressCountry-label label"></td>
<td class="csc-contact-addressType-label label"></td>
</tr>
</thead>
<tbody>
<tr class="csc-contact-addressGroup">
<td><input type="text" class="input-alpha-table csc-contactAuthority-addressPlace" /></td>
<td><input type="text" class="input-alpha-table csc-contactAuthority-addressPlace2" /></td>
<td><input type="text" class="input-alpha-table csc-contactAuthority-addressCity" /></td>
<td><input type="text" class="input-alpha-table csc-contactAuthority-addressState" /></td>
<td><input type="text" class="input-alpha-table csc-contactAuthority-addressPostcode" /></td>
<td><input type="text" class="input-alpha-table csc-contactAuthority-addressCountry" /></td>
<td><select class="input-select csc-contactAuthority-addressType"><option value="">Options not loaded</option></select></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
|
Wiki Markup |
---|
{cloak} |