Platform Explorer / Nuxeo Platform 2023.11

Component org.nuxeo.ecm.core.CoreExtensions

Documentation

This component is contributing the core types and schemas and other core extensions.

Resolution Order

85
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Contributions

XML Source

<?xml version="1.0"?>

<component name="org.nuxeo.ecm.core.CoreExtensions" version="1.0">

  <documentation>
    This component is contributing the core types and schemas and other core extensions.

    @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a>
  </documentation>

  <extension target="org.nuxeo.ecm.core.schema.TypeService"
      point="schema">
    <documentation>The core schemas</documentation>
    <!-- XXX AT: prefixes should be set, see NXP-1152 -->
    <schema name="core-types" src="schema/core-types.xsd"/>
    <schema name="base" src="schema/base.xsd"/>
    <schema name="relation" prefix="relation" src="schema/relation.xsd"/>
    <schema name="common" src="schema/common.xsd"/>
    <schema name="dublincore" prefix="dc" src="schema/dublincore.xsd"/>
    <schema name="uid" src="schema/uid.xsd"/>
    <schema name="file" src="schema/file.xsd"/>
    <schema name="files" src="schema/files.xsd"/>
    <schema name="note" src="schema/note.xsd"/>
    <schema name="domain" src="schema/domain.xsd"/>
    <schema name="relatedtext" src="schema/relatedtext.xsd"/>

    <schema name="publishing" prefix="publish" src="schema/publishing.xsd" />
    <schema name="webcontainer" prefix="webc" src="schema/webcontainer.xsd"/>

    <schema name="collection" src="schema/collection.xsd" prefix="collection" />
    <schema name="collectionMember" src="schema/collectionMember.xsd"
      prefix="collectionMember" isVersionWritable="true"/>

    <property schema="collection" name="documentIds" indexOrder="ascending" />
    <property schema="collectionMember" name="collectionIds" indexOrder="ascending" />
    <property schema="dublincore" name="created" secured="true" />
    <property schema="dublincore" name="modified" secured="true" indexOrder="descending" />
    <property schema="dublincore" name="creator" secured="true" />
    <property schema="dublincore" name="contributors" secured="true" />
    <property schema="dublincore" name="lastContributor" secured="true" />
    <!-- Removed since 9.1 -->
    <property schema="common" name="size" deprecation="removed" />
    <property schema="file" name="filename" deprecation="removed" fallback="content/name" />
    <property schema="files" name="files/*/filename" deprecation="removed" fallback="files/*/file/name" />
  </extension>

  <extension target="org.nuxeo.ecm.core.schema.TypeService"
      point="configuration">
    <documentation>The default type manager configuration</documentation>
    <configuration>
      <prefetch>common, dublincore</prefetch>
      <clearComplexPropertyBeforeSet>true</clearComplexPropertyBeforeSet> <!-- false is DEPRECATED since 9.3 -->
      <allowVersionWriteForDublinCore>false</allowVersionWriteForDublinCore> <!-- true is DEPRECATED since 10.3 -->
    </configuration>
  </extension>

  <extension target="org.nuxeo.ecm.core.schema.TypeService"
      point="doctype">
    <documentation>The core document types</documentation>

    <!-- standard facets with no schema -->
    <facet name="Folderish" perDocumentQuery="false"/> <!-- used by system -->
    <facet name="Orderable" /> <!-- used by system -->
    <facet name="Versionable" /> <!-- used by system -->
    <facet name="Downloadable" />
    <facet name="Publishable" />
    <facet name="PublishSpace" />
    <facet name="MasterPublishSpace" />
    <facet name="Commentable" />
    <facet name="WebView" />
    <facet name="SuperSpace" />
    <facet name="HiddenInNavigation" perDocumentQuery="false"/>
    <facet name="SystemDocument" />
    <facet name="NotFulltextIndexable" />
    <facet name="BigFolder" />
    <facet name="HiddenInCreation" perDocumentQuery="false"/>

    <!-- facet to be used for full-text indexing of related text content
      (e.g. comments, annotations, tags...) -->
    <facet name="HasRelatedText">
      <schema name="relatedtext" />
    </facet>

    <facet name="Collection" perDocumentQuery="false" >
      <schema name="collection" />
    </facet>

    <facet name="NotCollectionMember" perDocumentQuery="false"/>

    <facet name="CollectionMember">
      <schema name="collectionMember" />
    </facet>

    <proxies>
      <schema name="collectionMember" />
    </proxies>

    <doctype name="Folder" extends="Document">
      <schema name="common"/>
      <schema name="dublincore"/>
      <facet name="Folderish"/>
      <subtypes>
        <type>Collection</type>
        <type>Folder</type>
        <type>OrderedFolder</type>
        <type>File</type>
        <type>Note</type>
      </subtypes>
    </doctype>

    <doctype name="OrderedFolder" extends="Folder">
      <facet name="Orderable"/>
      <subtypes>
        <type>Folder</type>
        <type>OrderedFolder</type>
        <type>File</type>
        <type>Note</type>
      </subtypes>
    </doctype>

    <doctype name="HiddenFolder" extends="Folder">
      <facet name="HiddenInNavigation" />
    </doctype>

    <doctype name="Root" extends="Folder">
      <facet name="NotCollectionMember" />
      <subtypes>
        <type>Domain</type>
      </subtypes>
    </doctype>

    <doctype name="Relation"> <!-- no extends -->
      <schema name="relation"/>
      <schema name="dublincore"/>
    </doctype>

    <doctype name="Domain" extends="Folder">
      <schema name="domain"/>
      <facet name="SuperSpace"/>
      <facet name="NotCollectionMember" />
      <subtypes>
        <type>WorkspaceRoot</type>
        <type>SectionRoot</type>
        <type>TemplateRoot</type>
      </subtypes>
    </doctype>

    <doctype name="WorkspaceRoot" extends="Folder">
      <facet name="SuperSpace"/>
      <facet name="HiddenInCreation" />
      <facet name="NotCollectionMember" />
      <subtypes>
        <type>Workspace</type>
      </subtypes>
    </doctype>

    <doctype name="Workspace" extends="Folder">
      <!-- for logo -->
      <schema name="file"/>
      <schema name="webcontainer"/>
      <schema name="publishing"/>
      <!-- the content of webcontainer -->
      <schema name="files" />
      <facet name="SuperSpace"/>
      <subtypes>
        <type>Collection</type>
        <type>Workspace</type>
        <type>Folder</type>
        <type>OrderedFolder</type>
        <type>File</type>
        <type>Note</type>
      </subtypes>
    </doctype>

    <doctype name="TemplateRoot" extends="Folder">
      <facet name="SuperSpace"/>
      <facet name="HiddenInCreation" />
      <facet name="NotCollectionMember" />
      <subtypes>
        <type>Workspace</type>
      </subtypes>
    </doctype>

    <doctype name="SectionRoot" extends="Folder">
      <facet name="SuperSpace"/>
      <facet name="HiddenInCreation" />
      <facet name="MasterPublishSpace" />
      <facet name="NotCollectionMember" />
      <subtypes>
        <type>Section</type>
      </subtypes>
    </doctype>

    <doctype name="Section" extends="Folder">
      <!-- for logo -->
      <schema name="file"/>
      <facet name="SuperSpace"/>
      <facet name="PublishSpace" />
      <subtypes>
        <type>Section</type>
      </subtypes>
    </doctype>

    <doctype name="File" extends="Document">
      <schema name="common"/>
      <schema name="file"/>
      <schema name="dublincore"/>
      <schema name="uid"/>
      <schema name="files"/>
      <facet name="Downloadable"/>
      <facet name="Versionable"/>
      <facet name="Publishable"/>
      <facet name="Commentable"/>
      <facet name="HasRelatedText"/>
    </doctype>

    <doctype name="Note" extends="Document">
      <schema name="common"/>
      <schema name="note"/>
      <schema name="uid"/>
      <schema name="files"/>
      <schema name="dublincore"/>
      <facet name="Versionable"/>
      <facet name="Publishable"/>
      <facet name="Commentable"/>
      <facet name="HasRelatedText"/>
    </doctype>

    <doctype name="Collection" extends="Document">
      <schema name="uid"/>
      <facet name="Versionable"/>
      <facet name="Collection" />
      <facet name="NotCollectionMember" />
      <schema name="dublincore" />
      <schema name="common" />
    </doctype>

    <doctype name="Collections" extends="Folder">
      <facet name="NotCollectionMember" />
      <subtypes>
        <type>Collection</type>
      </subtypes>
    </doctype>

  </extension>

   <extension target="org.nuxeo.ecm.core.event.EventServiceComponent"
    point="listener">

    <listener name="emptyNameFixer"
        class="org.nuxeo.ecm.core.model.EmptyNameFixer" priority="1000">
      <event>aboutToImport</event>
      <event>aboutToCreate</event>
      <event>aboutToMove</event>
    </listener>

    <listener name="duplicatedNameFixer"
        class="org.nuxeo.ecm.core.model.DuplicatedNameFixer" priority="2000">
      <event>aboutToImport</event>
      <event>aboutToCreate</event>
      <event>aboutToMove</event>
    </listener>

  </extension>

</component>