In the exo-Tomcat/common/lib/exo-ecm.services.cms.impl-1.0.jar package of ECM, there are two file defining node types, CONF/nodetypes-config.xml and CONF/nodetypes-extended-config.xml, respectively, for the DTD of these two files, see http://www.exoplatform.org/documents/exo-jcr.site/ntdefinition.html.
Where the nodetypes-config.xml file:
<Nodetypes xmlns: NT = "http://www.jcp.org/jcr/nt/1.0" xmlns: mix = "http://www.jcp.org/jcr/mix/1.0" xmlns: JCR = "http://www.jcp.org/jcr/1.0">
<! -- Org. exoplatform. Services. CMS. Actions. * types -->
<Nodetype name = "Exo: Action" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> NT: Base </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: name "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: description "requiredtype =" string "autocreated =" false "mandatory =" false "onparentversion =" Ignore "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: lifecyclephase" requiredtype = "string" autocreated = "false" mandatory = "true" onparentversion = "Ignore" protected = "false" multiple = "false">
<Defavaluvalues>
<Defaultvalue> Add </defaultvalue>
</Defaultvalues>
</Propertydefinition>
<Propertydefinition name = "Exo: Roles" requiredtype = "string" autocreated = "true" mandatory = "true" onparentversion = "Ignore" protected = "false" multiple = "true">
<Defavaluvalues>
<Defaultvalue> * </defaultvalue>
</Defaultvalues>
</Propertydefinition>
</Propertydefinitions>
</Nodetype>
<Nodetype name = "Exo: businessprocessaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: Action </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: businessprocess "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
</Propertydefinitions>
</Nodetype>
<Nodetype name = "Exo: scriptaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: Action </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: script "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
</Propertydefinitions>
</Nodetype>
<Nodetype name = "Exo: ruleaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: Action </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: rule "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
</Propertydefinitions>
</Nodetype>
<Nodetype name = "Exo: actionable" ismixin = "true" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> NT: Base </supertype>
</Supertypes>
<Childnodedefinitions>
<Childnodedefinition name = "*" defaultprimarytype = "" autocreated = "false" mandatory = "false" onparentversion = "version" protected = "false" samenamesiblings = "true">
<Requiredprimarytypes>
<Requiredprimarytype> exo: Action </requiredprimarytype>
</Requiredprimarytypes>
</Childnodedefinition>
</Childnodedefinitions>
</Nodetype>
<Nodetype name = "Exo: Move" ismixin = "true" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> NT: Base </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: destworkspace "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: destpath "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
</Propertydefinitions>
</Nodetype>
<! -- Org. exoplatform. Services. CMS. scripts. * types -->
</Nodetypes>
Nodetypes-extended-config.xml files:
<Nodetypes xmlns: NT = "http://www.jcp.org/jcr/nt/1.0" xmlns: mix = "http://www.jcp.org/jcr/mix/1.0" xmlns: JCR = "http://www.jcp.org/jcr/1.0">
<! -- Org. exoplatform. Services. CMS. scripts. * types -->
<Nodetype name = "Exo: sendmailaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: scriptaction </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: script" requiredtype = "string" autocreated = "true" mandatory = "true" onparentversion = "Ignore" protected = "true" multiple = "false">
<Defavaluvalues>
<Defaultvalue> sendmailscript. Groovy </defaultvalue>
</Defaultvalues>
</Propertydefinition>
<Propertydefinition name = "Exo: to "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
</Propertydefinitions>
</Nodetype>
<Nodetype name = "Exo: transformbinarytotextaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: scriptaction </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: script" requiredtype = "string" autocreated = "true" mandatory = "true" onparentversion = "Ignore" protected = "true" multiple = "false">
<Defavaluvalues>
<Defaultvalue> transformbinarychildrentotextscript. Groovy </defaultvalue>
</Defaultvalues>
</Propertydefinition>
</Propertydefinitions>
</Nodetype>
<! -- Org. exoplatform. Services. CMS. workflow. * -->
<Nodetype name = "Exo: workflowaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: businessprocessaction </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: validator "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: businessprocess" requiredtype = "string" autocreated = "true" mandatory = "true" onparentversion = "Ignore" protected = "true" multiple = "false">
<Defavaluvalues>
<Defaultvalue> content-Validation </defaultvalue>
</Defaultvalues>
</Propertydefinition>
</Propertydefinitions>
</Nodetype>
<Nodetype name = "Exo: backupaction" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> exo: businessprocessaction </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: businessprocess" requiredtype = "string" autocreated = "true" mandatory = "true" onparentversion = "Ignore" protected = "true" multiple = "false">
<Defavaluvalues>
<Defaultvalue> content-Backup </defaultvalue>
</Defaultvalues>
</Propertydefinition>
</Propertydefinitions>
</Nodetype>
<! -- Org. exoplatform. Services. CMS. Publications. impl. * -->
<Nodetype name = "Exo: article" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> NT: Base </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: title "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" copy "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: summary "requiredtype =" string "autocreated =" false "mandatory =" false "onparentversion =" copy "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: text "requiredtype =" string "autocreated =" false "mandatory =" false "onparentversion =" copy "protected =" false "multiple =" false "/>
</Propertydefinitions>
<Childnodedefinitions>
<Childnodedefinition name = "Exo: Image" defaultprimarytype = "NT: resource "autocreated =" false "mandatory =" false "onparentversion =" version "protected =" false "samenamesiblings =" false ">
<Requiredprimarytypes>
<Requiredprimarytype> NT: Resource </requiredprimarytype>
</Requiredprimarytypes>
</Childnodedefinition>
</Childnodedefinitions>
</Nodetype>
<Nodetype name = "Exo: published" ismixin = "true" hasorderablechildnodes = "false" primaryitemname = "">
<Propertydefinitions>
<Propertydefinition name = "Exo: startpublication "requiredtype =" date "autocreated =" false "mandatory =" true "onparentversion =" copy "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: endpublication "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" copy "protected =" false "multiple =" false "/>
</Propertydefinitions>
</Nodetype>
<! -- Org. exoplatform. Services. CMS. categories. * -->
<Nodetype name = "Exo: categorized" ismixin = "true" hasorderablechildnodes = "false" primaryitemname = "">
<Propertydefinitions>
<Propertydefinition name = "Exo: category "requiredtype =" Reference "autocreated =" false "mandatory =" true "onparentversion =" copy "protected =" false "multiple =" true "/>
</Propertydefinitions>
</Nodetype>
<! -- Org. exoplatform. Services. CMS. Templates. impl. * -->
<Nodetype name = "Exo: Template" ismixin = "false" hasorderablechildnodes = "false" primaryitemname = "">
<Supertypes>
<Supertype> NT: Base </supertype>
</Supertypes>
<Propertydefinitions>
<Propertydefinition name = "Exo: templatefile "requiredtype =" string "autocreated =" false "mandatory =" true "onparentversion =" Ignore "protected =" false "multiple =" false "/>
<Propertydefinition name = "Exo: Roles" requiredtype = "string" autocreated = "true" mandatory = "true" onparentversion = "Ignore" protected = "false" multiple = "true">
<Defavaluvalues>
<Defaultvalue> * </defaultvalue>
</Defaultvalues>
</Propertydefinition>
</Propertydefinitions>
</Nodetype>
</Nodetypes>