AnsweredAssumed Answered

how to create submodel of custom model

Question asked by sharifu on May 17, 2012
Latest reply on May 17, 2012 by jpotts
I want to create a a hierarchy of models. not sure exactly how to do this.

my top level is called sp:contract

sp:contract -> sp:finance

from sp:finance it brakes down into two

sp:finance -> sp:annualreturn
sp:finance -> sp:bonds

here are my files


<?xml version="1.0" encoding="UTF-8"?>

<!– Custom Model –>

<!– Note: This model is pre-configured to load at startup of the Repository.
   So, all custom –>
<!– types and aspects added here will automatically be registered –>

<model name="sp:spectrummodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>
   <description>Spectrum Custom Model</description>
   <author></author>
   <version>1.0</version>

   <imports>
      <!– Import Alfresco Dictionary Definitions –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0"
         prefix="d" />
      <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
   </imports>

   <namespaces>
      <!– Define a Namespace for my new definitions –>
      <namespace uri="sp.new.model" prefix="sp" />
   </namespaces>

   <constraints>
      <constraint name="sp:location" type="LIST">
         <parameter name="allowedValues">
            <list>
               <value>UK</value>
            </list>
         </parameter>
      </constraint>
   </constraints>
   <constraints>
      <constraint name="sp:locations" type="LIST">
         <parameter name="allowedValues">
            <list>
               <value>UK</value>
               <value>USA</value>
            </list>
         </parameter>
      </constraint>
   </constraints>

   <!– Type and Aspect definitions go here –>
   <types>
      <type name="sp:contract">
         <title>Spectrum Contract Document</title>
         <parent>cm:content</parent>
         <!– <properties> <property name="sp:thirdParties"> <title>Third Parties</title>
            <type>d:text</type> </property> <property name="sp:responsibleEmp"> <title>Resposible
            Employee</title> <type>d:text</type> </property> <property name="sp:effectiveDate">
            <title>Effective Date</title> <type>d:date</type> </property> <property name="sp:expiryDate">
            <title>Expiry Date</title> <type>d:date</type> </property> </properties> –>
      </type>
      <type name="sp:finance">
         <title>Spectrum Finance Document</title>
         <parent>sp:contract</parent>
      </type>
      <type name="sp:annualreturn">
         <title>Spectrum Annual Return Document</title>
         <parent>sp:finance</parent>
      </type>
      <type name="sp:bonds">
         <title>Spectrum Bonds and Garantees Document</title>
         <parent>sp:finance</parent>
      </type>
   </types>

   <aspects>
      <aspect name="sp:contractFields">
         <title>Contract Meta Data</title>
         <properties>
            <property name="sp:thirdParties">
               <title>Third Parties</title>
               <type>d:text</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
            <property name="sp:location">
               <title>Location</title>
               <type>d:text</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
               <constraints>
                  <constraint ref="sp:location" />
               </constraints>
            </property>
            <property name="sp:responsibleEmp">
               <title>Responsible Spectrum Employee</title>
               <type>d:text</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
            <property name="sp:contractRef">
               <title>Internal Reference</title>
               <type>d:text</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
            <property name="sp:logNumber">
               <title>Log Number</title>
               <type>d:text</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
            <property name="sp:effectiveDate">
               <title>Effective Date</title>
               <type>d:date</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
            <property name="sp:expiryDate">
               <title>Expiry Date</title>
               <type>d:date</type>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
         </properties>
      </aspect>


      <aspect name="sp:financeFields">
         <title>Finance Meta Data</title>
         <properties>            
         </properties>
      </aspect>
      
      <aspect name="sp:annualreturnFields">
         <title>Annual Return Meta Data</title>
         <properties>
         </properties>
      </aspect>



   <aspect name="sp:bondsFields">
      <title>Bonds Meta Data</title>
      <properties>
         <property name="sp:refNo">
            <title>Reference Number (optional)</title>
            <type>d:text</type>
            <index enabled="true">
               <atomic>true</atomic>
               <stored>true</stored>
               <tokenised>true</tokenised>
            </index>
         </property>
         <property name="sp:value">
            <title>Value</title>
            <type>d:text</type>
            <index enabled="true">
               <atomic>true</atomic>
               <stored>true</stored>
               <tokenised>true</tokenised>
            </index>
         </property>
      </properties>
   </aspect>
</aspects>

</model>




<alfresco-config>

   <config evaluator="string-compare" condition="Content Wizards">
      <content-types>
         <type name="sp:contract" />
         <type name="sp:finance" >
            <subtype name="sp:annualreturn" />
            <subtype name="sp:bonds" />
         </type>
         
      </content-types>
   </config>

   <config evaluator="string-compare" condition="Action Wizards">
      <!– The list of types shown in the is-subtype condition –>
      <subtypes>
         <type name="sp:contract" />
         <type name="sp:finance" >
            <subtypes name="sp:annualreturn" />
            <subtypes name="sp:bonds" />
         </type>
         
      </subtypes>

      <!– The list of content and/or folder types shown in the specialise-type
         action –>
      <specialise-types>
         <type name="sp:contract" display-label="Spectrum Contract" />
         <type name="sp:finance" display-label="Spectrum Finance" />
         <type name="sp:annualreturn" display-label="Spectrum Annual Return" />
         <type name="sp:bonds" display-label="Spectrum Bonds and Garantees" />
      </specialise-types>

      <!– The list of aspects to show in the add/remove features action –>
      <!– and the has-aspect condition –>
      <aspects>
         <aspect name="sp:contractFields" />
         <aspect name="sp:financeFields" />
         <aspect name="sp:annualreturnFields" />
         <aspect name="sp:bondsFields" />
         <!– do we need these? <aspect name="generalclassifiable"/> <aspect name="complianceable"/>
            <aspect name="dublincore"/> <aspect name="effectivity"/> <aspect name="summarizable"/>
            <aspect name="versionable"/> <aspect name="templatable"/> <aspect name="emailed"/>
            <aspect name="emailserver:aliasable"/> <aspect name="taggable"/> –>
      </aspects>
   </config>

   <config evaluator="aspect-name" condition="sp:contractFields">
      <property-sheet>
         <show-property name="sp:thirdParties" display-label="Third Parties" />
         <show-property name="sp:location" display-label="Location" />
         <show-property name="sp:responsibleEmp" display-label="Responsible Spectrum Employee" />
         <show-property name="sp:contractRef" display-label="Internal Reference" />
         <show-property name="sp:logNumber" display-label="Log Number" />
         <show-property name="sp:effectiveDate" display-label="Effective Date" />
         <show-property name="sp:expiryDate" display-label="Expiry Date" />
      </property-sheet>
   </config>

   <config evaluator="aspect-name" condition="sp:financeFields">
      <property-sheet>
      </property-sheet>
   </config>

   <config evaluator="aspect-name" condition="sp:annualreturnFields">
      <property-sheet>
      </property-sheet>
   </config>

   <config evaluator="aspect-name" condition="sp:bondsFields">
      <property-sheet>
         <show-property name="sp:refNo" display-label="Reference Number (optional)" />
         <show-property name="sp:value" display-label="Value" />
      </property-sheet>
   </config>



</alfresco-config>



<alfresco-config>

   <!– Repository Library config section –>
   <config evaluator="string-compare" condition="RepositoryLibrary"
      replace="true">
      <!– Whether the link to the Repository Library appears in the header component
         or not. –>
      <visible>true</visible>
   </config>

   <config evaluator="string-compare" condition="Replication">
      <share-urls>
         <!– To discover a Repository Id, browse to the remote server's CMIS landing
            page at: http://{server}:{port}/alfresco/service/cmis/index.html The Repository
            Id field is found under the "CMIS Repository Information" expandable panel.
            Example config entry: <share-url repositoryId="622f9533-2a1e-48fe-af4e-ee9e41667ea4">http://new-york-office:8080/share/</share-url>
            <share-url repositoryId="1b76e86b-1d37-43cf-bf5b-944db18fe18c">http://xxx.usa.domain.com:8080/share</share-url> –>
      </share-urls>
   </config>

   <!– Changed for AD SSO <config evaluator="string-compare" condition="Remote">
      <remote> <endpoint> <id>alfresco-noauth</id> <name>Alfresco - unauthenticated
      access</name> <description>Access to Alfresco Repository WebScripts that
      do not require authentication</description> <connector-id>alfresco</connector-id>
      <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url> <identity>none</identity>
      </endpoint> <endpoint> <id>alfresco</id> <name>Alfresco - user access</name>
      <description>Access to Alfresco Repository WebScripts that require user authentication</description>
      <connector-id>alfresco</connector-id> <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
      <identity>user</identity> </endpoint> <endpoint> <id>alfresco-feed</id> <name>Alfresco
      Feed</name> <description>Alfresco Feed - supports basic HTTP authentication
      via the EndPointProxyServlet</description> <connector-id>http</connector-id>
      <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url> <basic-auth>true</basic-auth>
      <identity>user</identity> </endpoint> </remote> </config> –>

   <config evaluator="string-compare" condition="Remote">
      <remote>
         <connector>
            <id>alfrescoCookie</id>
            <name>Alfresco Connector</name>
            <description>Connects to an Alfresco instance using cookie-based
               authentication
            </description>
            <class>org.springframework.extensions.webscripts.connector.AlfrescoConnector
            </class>
         </connector>

         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require
               user authentication
            </description>
            <connector-id>alfrescoCookie</connector-id>
            <endpoint-url>http://xxx.uk.domain.com:8080/alfresco/wcs
            </endpoint-url>
            <identity>user</identity>
            <external-auth>true</external-auth>
         </endpoint>

      </remote>
   </config>

   <!– Document Library config section –>
   <config evaluator="string-compare" condition="DocumentLibrary">

      <types>
         <type name="cm:content">
            <subtype name="sp:contract" />
            <subtype name="sp:finance" />
         </type>
         
         <type name="sp:finance" >
            <subtype name="sp:annualreturn" />
            <subtype name="sp:bonds" />         
         </type>

         <type name="cm:folder">
         </type>
      </types>

      <!– Used by the "Manage Aspects" action For custom aspects, remember to
         also add the relevant i18n string(s) cm_myaspect=My Aspect –>
      <aspects>
         <!– Aspects that a user can see –>
         <visible>
         <!–
            <aspect name="cm:generalclassifiable" />
            <aspect name="cm:complianceable" />
            <aspect name="cm:dublincore" />
            <aspect name="cm:effectivity" />
            <aspect name="cm:summarizable" />
            <aspect name="cm:versionable" />
            <aspect name="cm:templatable" />
            <aspect name="cm:emailed" />
            <aspect name="emailserver:aliasable" />
            <aspect name="cm:taggable" />
            –>
            <aspect name="app:inlineeditable" />
            <aspect name="sp:contractFields" />
            <aspect name="sp:financeFields" />
            <aspect name="sp:annualreturnFields" />
            <aspect name="sp:bondsFields" />
         </visible>

         <!– Aspects that a user can add. Same as "visible" if left empty –>
         <addable>
         </addable>

         <!– Aspects that a user can remove. Same as "visible" if left empty –>
         <removeable>
         </removeable>
      </aspects>
   </config>




   <!– cm:content type (existing nodes) –>
   <config evaluator="node-type" condition="cm:content">
      <forms>
         <!– Default form configuration used on the document details and edit
            metadata pages –>
         <form>
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:logNumber" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />

               <show id="sp:refNo" />
               <show id="sp:value" />

            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />
            </appearance>
         </form>

         <!– Document Library pop-up Edit Metadata form –>
         <form id="doclib-simple-metadata">
            <field-visibility>
               <hide id="cm:creator" />
               <hide id="cm:modified" />
               <hide id="cm:modifier" />
               <hide id="cm:accessed" />
               <hide id="cm:author" />
               <hide id="cm:encoding" />
               <hide id="cm:mimetype" />
               
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:logNumber" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />

               <show id="sp:refNo" />
               <show id="sp:value" />
            </field-visibility>
            <!– <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"
               /> –>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />
            </appearance>
         </form>

         <!– Document Library Inline Edit form –>
         <form id="doclib-inline-edit">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:logNumber" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />

               <show id="sp:refNo" />
               <show id="sp:value" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />
            </appearance>
         </form>
      </forms>
   </config>

   <!– sp:contract –>
   <config evaluator="node-type" condition="sp:contract">
      <forms>
         <!– Default form configuration used on the document details and edit
            metadata pages –>
         <form>
            <field-visibility>            
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:logNumber" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />               
               <show id="cm:name" force="true" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
               <field id="cm:name" label-id="Original File Fane" read-only="true" />
            </appearance>
         </form>

         <!– Document Library pop-up Edit Metadata form –>
         <form id="doclib-simple-metadata">
            <field-visibility>
               <hide id="cm:creator" />
               <hide id="cm:modified" />
               <hide id="cm:modifier" />
               <hide id="cm:accessed" />
               <hide id="cm:author" />
               <hide id="cm:encoding" />
               <hide id="cm:mimetype" />
               
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:logNumber" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
               <show id="cm:name" force="true" />
            </field-visibility>
            <!– <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"
               /> –>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
               <field id="cm:name" label-id="Original File Fane" read-only="true" />
            </appearance>
         </form>

         <!– Document Library Inline Edit form –>
         <form id="doclib-inline-edit">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:logNumber" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
               <show id="cm:name" force="true" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
               <field id="cm:name" label-id="Original File Fane" read-only="true" />
            </appearance>
         </form>
      </forms>
   </config>
   
   
   <!– sp:finance –>
   <config evaluator="node-type" condition="sp:finance">
      <forms>
         <!– Default form configuration used on the document details and edit
            metadata pages –>
         <form>
            <field-visibility>            
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>

         <!– Document Library pop-up Edit Metadata form –>
         <form id="doclib-simple-metadata">
            <field-visibility>

               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <!– <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"
               /> –>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>

         <!– Document Library Inline Edit form –>
         <form id="doclib-inline-edit">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>
      </forms>
   </config>
   
   
   <!– sp:annualreturn –>
   <config evaluator="node-type" condition="sp:annualreturn">
      <forms>
         <!– Default form configuration used on the document details and edit
            metadata pages –>
         <form>
            <field-visibility>            
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <appearance>
               <field id="cm:title" label-id="Year" />
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Effective Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>

         <!– Document Library pop-up Edit Metadata form –>
         <form id="doclib-simple-metadata">
            <field-visibility>
               <hide id="cm:creator" />
               <hide id="cm:modified" />
               <hide id="cm:modifier" />
               <hide id="cm:accessed" />
               <hide id="cm:author" />
               <hide id="cm:encoding" />
               <hide id="cm:mimetype" />
               
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <!– <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"
               /> –>
            <appearance>
               <field id="cm:title" label-id="Year" />
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>

         <!– Document Library Inline Edit form –>
         <form id="doclib-inline-edit">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" />
               <show id="sp:location" />
               <show id="sp:responsibleEmp" />
               <show id="sp:contractRef" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <appearance>
               <field id="cm:title" label-id="Year" />
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>
      </forms>
   </config>


   <!– sp:bonds –>
   <config evaluator="node-type" condition="sp:bonds">
      <forms>
         <!– Default form configuration used on the document details and edit
            metadata pages –>
         <form>
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:contractRef" />

               <show id="sp:refNo" />
               <show id="sp:value" />

               <show id="sp:responsibleEmp" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:contractRef" label-id="Reference" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />

               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>

         <!– Document Library pop-up Edit Metadata form –>
         <form id="doclib-simple-metadata">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:contractRef" />

               <show id="sp:refNo" />
               <show id="sp:value" />

               <show id="sp:responsibleEmp" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <!– <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"
               /> –>
            <appearance>
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:contractRef" label-id="Reference" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />

               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>

         <!– Document Library Inline Edit form –>
         <form id="doclib-inline-edit">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:contractRef" />

               <show id="sp:refNo" />
               <show id="sp:value" />

               <show id="sp:responsibleEmp" />
               <show id="sp:effectiveDate" />
               <show id="sp:expiryDate" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:contractRef" label-id="Reference" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />

               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:effectiveDate" label-id="Date" />
               <field id="sp:expiryDate" label-id="Expiry Date" />
            </appearance>
         </form>
      </forms>
   </config>



   <config evaluator="string-compare" condition="Content Wizards">
      <types>
         <type name="cm:content">
            <subtype name="sp:contract" />
            <subtype name="sp:finance" />
         </type>
         
         <type name="sp:finance" >
            <subtype name="sp:annualreturn" />
            <subtype name="sp:bonds" />            
         </type>

         <type name="cm:folder">
         </type>
      </types>

   </config>

   <config evaluator="string-compare" condition="AdvancedSearch">
      <advanced-search>
         <!– Forms for the advanced search type list –>
         <forms>
            <!– The 'form' config element contains the name of the model type of
               the form to display. The element supports the following optional attributes:
               id = form id, the id of "search" will be assumed if not set label = label
               text to display - defaults to model type if not set labelId = I18N message
               id of label text to display description = description text to display descriptionId
               = I18N message id of description text to display <form labelId="search.form.label.cm_content"
               descriptionId="search.form.desc.cm_content">cm:content</form> <form labelId="search.form.label.cm_folder"
               descriptionId="search.form.desc.cm_folder">cm:folder</form> –>
            <form label="Contract Document" description="Spectrum Contract Document">sp:contract</form>
            <form label="Finance Document" description="Spectrum Finance document">sp:finance</form>
            <form label="Finance Annual Return" description="Spectrum Finance Annual Return">sp:annualreturn</form>
            <form label="Finance Bonds and Garantees" description="Spectrum Finance Bonds and Garantees">sp:bonds</form>
         </forms>
      </advanced-search>
   </config>

   <!– Customisation to support contract metadata search <config evaluator="model-type"
      condition="cm:content"> –>
   <config evaluator="model-type" condition="sp:contract">
      <forms>
         <form id="search">
            <field-visibility>
               <show id="cm:name" />
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" force="true" />
               <show id="sp:location" force="true" />
               <show id="sp:responsibleEmp" force="true" />
               <show id="sp:contractRef" force="true" />
               <show id="sp:logNumber" force="true" />
               <show id="sp:effectiveDate" force="true" />
               <show id="sp:expiryDate" force="true" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Internal Reference" />
               <field id="sp:logNumber" label-id="Log Number" />
               <field id="sp:effectiveDate" label-id="Effective Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
               <field id="sp:expiryDate" label-id="Expiry Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
            </appearance>
         </form>
      </forms>
   </config>
   
   
   <config evaluator="model-type" condition="sp:finance">
      <forms>
         <form id="search">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" force="true" />
               <show id="sp:location" force="true" />
               <show id="sp:responsibleEmp" force="true" />
               <show id="sp:contractRef" force="true" />
               <show id="sp:effectiveDate" force="true" />
               <show id="sp:expiryDate" force="true" />
            </field-visibility>
            <appearance>
               <field id="sp:thirdParties" label-id="Third Parties" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Effective Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
               <field id="sp:expiryDate" label-id="Expiry Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
            </appearance>         
         </form>
      </forms>
   </config>
   
   
   <config evaluator="model-type" condition="sp:annualreturn">
      <forms>
         <form id="search">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" force="true" />
               <show id="sp:location" force="true" />
               <show id="sp:responsibleEmp" force="true" />
               <show id="sp:contractRef" force="true" />
               <show id="sp:effectiveDate" force="true" />
               <show id="sp:expiryDate" force="true" />
            </field-visibility>
            <appearance>
               <field id="cm:title" label-id="Year" />
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:location" label-id="Location" />
               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:contractRef" label-id="Reference" />
               <field id="sp:effectiveDate" label-id="Effective Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
               <field id="sp:expiryDate" label-id="Expiry Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
            </appearance>         
         </form>
      </forms>
   </config>
   

   <config evaluator="model-type" condition="sp:bonds">
      <forms>
         <form id="search">
            <field-visibility>
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
               <show id="sp:thirdParties" force="true" />
               <show id="sp:contractRef" force="true" />

               <show id="sp:refNo" force="true" />
               <show id="sp:value" force="true" />

               <show id="sp:responsibleEmp" force="true" />
               <show id="sp:effectiveDate" force="true" />
               <show id="sp:expiryDate" force="true" />
            </field-visibility>

            <appearance>
               <field id="sp:thirdParties" label-id="Company Name" />
               <field id="sp:contractRef" label-id="Reference" />

               <field id="sp:refNo" label-id="Reference number (optional)" />
               <field id="sp:value" label-id="Value" />

               <field id="sp:responsibleEmp" label-id="Responsible Spectrum Employee" />
               <field id="sp:effectiveDate" label-id="Effective Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
               <field id="sp:expiryDate" label-id="Expiry Date">
                  <control template="/org/alfresco/components/form/controls/daterange.ftl" />
               </field>
            </appearance>
         </form>
      </forms>
   </config>


</alfresco-config>

Outcomes