Platform Explorer / Nuxeo Platform 11.3

Extension point schema

Documentation

Extension Point to register new schemas.

Schemas are defined using XSD files. The schema extension XML may containg several 'schema' objects as the following ones:

    <schema name="common" src="schema/common.xsd"/>
    <schema name="dublincore" prefix="dc" src="schema/dublincore.xsd"/>

The name attribute uniquely identify the schema, the src attribute specify the path to that schema (relative to the bundle root) and the prefix is used as a prefix (short name) of the schema namespace. The schema namespace is the targetNamespace defined inside the XSD file

Note that multiple schemas can share the same target namespace and prefix

You can also create a Nuxeo Schema from a sub part of the XSD schema. For that you can use the xsdRootElement attribute to indicate the complex type to use.

    <schema name="employeeSchema" src="schema/testExtension.xsd" xsdRootElement="employee"/>

A schema can be completely disabled with:

    <schema enabled="false" name="myOldSchema"/>

Schemas with enabled=false will be ignored in all document types and facets still referencing them, and will not be returned when listing available schemas.

Extension Point is also used to register additional property information, called property characteristic, such as:

  • secured: only administrators can edit it
  • deprecation: flag property as deprecated or removed

XML extensions may contain any number of 'property' elements of the form:

    <property name="creator" schema="dublincore" secured="true"/>
    <property deprecation="deprecated" name="size" schema="common"/>
    <property deprecation="removed" fallback="content/name"
        name="filename" schema="file"/>

Properties declared with secured attribute can only be edited by administrators.

Properties declared with deprecation attribute enable deprecation mechanism inside Nuxeo Platform. This generates WARN message of usage to help to remove deprecated usage.

A contribution is one of these types:

  • deprecated: property still exists in schema definition, but it'll be removed in next version
  • removed: property has been removed from schema definition, relax platform behavior. This will avoid Nuxeo property not found exceptions for remaining use of the property

The fallback attribute is optional, its value has to be a xpath referencing an existing property in the same schema than deprecated/removed property. When presents, it is used:

  • to set the value to the fallback property
  • to get the value from the fallback property if it exists

Note: for a deprecated property, setValue also set value to property and getValue get value from property if fallback value is null.

For example, the contribution below enables WARN message of usage of property file:filename . This will also get/set the value from/to file:content/name for deprecated usage of file:filename property.

    <property deprecation="deprecated" fallback="content/name"
        name="filename" schema="file"/>

As it, each usage of this property will automatically fallback on the fallback and avoid exception from platform. This will also allows to import document declaring the removed property.

Contribution Descriptors

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-core-11.3.56.jar /OSGI-INF/CoreExtensions.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <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" prefix="collection" src="schema/collection.xsd"/>
        <schema isVersionWritable="true" name="collectionMember" prefix="collectionMember" src="schema/collectionMember.xsd"/>
    
        <property name="created" schema="dublincore" secured="true"/>
        <property name="modified" schema="dublincore" secured="true"/>
        <property name="creator" schema="dublincore" secured="true"/>
        <property name="contributors" schema="dublincore" secured="true"/>
        <property name="lastContributor" schema="dublincore" secured="true"/>
        <!-- Removed since 9.1 -->
        <property deprecation="removed" name="size" schema="common"/>
        <property deprecation="removed" fallback="content/name" name="filename" schema="file"/>
        <property deprecation="removed" fallback="files/*/file/name" name="files/*/filename" schema="files"/>
      </extension>
  • nuxeo-apidoc-repo-20.0.0.jar /OSGI-INF/schema-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
    
        <schema name="nxbundle" prefix="nxbundle" src="schemas/nxbundle.xsd"/>
        <schema name="nxbundlegroup" prefix="nxbundlegroup" src="schemas/nxbundlegroup.xsd"/>
        <schema name="nxcomponent" prefix="nxcomponent" src="schemas/nxcomponent.xsd"/>
        <schema name="nxcontribution" prefix="nxcontribution" src="schemas/nxcontribution.xsd"/>
        <schema name="nxdistribution" prefix="nxdistribution" src="schemas/nxdistribution.xsd"/>
        <schema name="nxextensionpoint" prefix="nxextensionpoint" src="schemas/nxextensionpoint.xsd"/>
        <schema name="nxservice" prefix="nxservice" src="schemas/nxservice.xsd"/>
        <schema name="nxoperation" prefix="nxop" src="schemas/nxoperation.xsd"/>
        <schema name="nxpackage" prefix="nxpackage" src="schemas/nxpackage.xsd"/>
        <schema name="apidoccommon" prefix="adc" src="schemas/apidoccommon.xsd"/>
    
      </extension>
  • nuxeo-core-management-11.3.56.jar /OSGI-INF/core-management-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="status" src="schemas/status.xsd"/>
      </extension>
  • nuxeo-admin-center-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="permissions_search" prefix="rs" src="schemas/permissions_search.xsd"/>
      </extension>
  • nuxeo-dam-11.3.56.jar /OSGI-INF/dam-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="assets_search" src="schemas/assets_search.xsd"/>
      </extension>
  • nuxeo-drive-core-11.3.56.jar /OSGI-INF/nuxeodrive-core-types.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="driveroot" prefix="drv" src="schema/driveroot.xsd"/>
      </extension>
  • nuxeo-easyshare-core-11.3.56.jar /OSGI-INF/extensions.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="easysharefolder" prefix="eshare" src="data/schemas/easysharefolder.xsd"/>
      </extension>
  • nuxeo-invite-11.3.56.jar /OSGI-INF/user-registration-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="registration" prefix="registration" src="schemas/registration.xsd"/>
        <schema name="userinfo" prefix="userinfo" src="schemas/userinfo.xsd"/>
        <schema name="registrationconfiguration" prefix="registrationconfiguration" src="schemas/registrationconfiguration.xsd"/>
      </extension>
  • nuxeo-liveconnect-google-drive-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="blobconversions" prefix="blobconversions" src="schema/blobconversions.xsd"/>
      </extension>
  • nuxeo-localconf-simple-11.3.56.jar /OSGI-INF/simple-local-configuration.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
    
        <schema name="simpleconfiguration" prefix="sconf" src="schemas/simpleconfiguration.xsd"/>
    
      </extension>
  • nuxeo-multi-tenant-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="tenantconfig" prefix="tenantconfig" src="schemas/tenantconfig.xsd"/>
    
        <!-- multi tenant vocabulary -->
        <schema name="multitenantvocabulary" src="schemas/multi_tenant_vocabulary.xsd"/>
        <schema name="multitenantxvocabulary" src="schemas/multi_tenant_xvocabulary.xsd"/>
        <schema name="multitenantl10nvocabulary" src="schemas/multi_tenant_l10nvocabulary.xsd"/>
        <schema name="multitenantl10nxvocabulary" src="schemas/multi_tenant_l10nxvocabulary.xsd"/>
      </extension>
  • nuxeo-permissions-11.3.56.jar /OSGI-INF/directories-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="aceinfo" prefix="aceinfo" src="schemas/aceinfo.xsd"/>
      </extension>
  • nuxeo-platform-3d-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="threed" prefix="threed" src="schemas/threed.xsd"/>
      </extension>
  • nuxeo-platform-audit-core-11.3.56.jar /OSGI-INF/core-type-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="basicauditsearch" prefix="bas" src="schemas/basicauditsearch.xsd"/>
      </extension>
  • nuxeo-platform-comment-11.3.56.jar /OSGI-INF/comment-schemas-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="comment" prefix="comment" src="schema/comment.xsd"/>
        <schema name="annotation" prefix="annotation" src="schema/annotation.xsd"/>
        <schema name="externalEntity" prefix="externalEntity" src="schema/externalEntity.xsd"/>
      </extension>
  • nuxeo-multi-tenant-core-11.3.56.jar /OSGI-INF/directories-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="tenant" src="schemas/tenant.xsd"/>
      </extension>
  • nuxeo-platform-directory-core-11.3.56.jar /OSGI-INF/directory-local-configuration.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="directory_configuration" prefix="dirconf" src="schemas/directory_configuration.xsd"/>
      </extension>
  • nuxeo-platform-directory-types-contrib-11.3.56.jar /OSGI-INF/DirectoryTypes.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="user" src="directoryschema/user.xsd"/>
        <schema name="group" src="directoryschema/group.xsd"/>
        <schema name="vocabulary" src="directoryschema/vocabulary.xsd"/>
        <schema name="xvocabulary" src="directoryschema/xvocabulary.xsd"/>
        <schema name="l10nvocabulary" src="directoryschema/l10nvocabulary.xsd"/>
        <schema name="l10nxvocabulary" src="directoryschema/l10nxvocabulary.xsd"/>
        <schema name="documentsLists" src="directoryschema/documentsLists.xsd"/>
      </extension>
  • nuxeo-platform-imaging-core-11.3.56.jar /OSGI-INF/picturebook-schemas-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="picturebook" src="schema/picturebook.xsd"/>
      </extension>
  • nuxeo-platform-login-digest-11.3.56.jar /OSGI-INF/digest-authentication-schema-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="digestauth" src="schema/digestauth.xsd"/>
      </extension>
  • nuxeo-platform-login-shibboleth-11.3.56.jar /OSGI-INF/shibboleth-group-type-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="shibbolethGroup" src="schema/shibb-group.xsd"/>
      </extension>
  • nuxeo-platform-login-token-11.3.56.jar /OSGI-INF/token-authentication-directory-types.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="authtoken" src="directoryschema/authtoken.xsd"/>
      </extension>
  • nuxeo-platform-mail-types-11.3.56.jar /OSGI-INF/nxmail-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
    
        <schema name="mail" prefix="mail" src="schemas/mail.xsd"/>
        <schema name="protocol" prefix="prot" src="schemas/protocol.xsd"/>
    
      </extension>
  • nuxeo-platform-notification-core-11.3.56.jar /OSGI-INF/core-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema isVersionWritable="true" name="notification" prefix="notif" src="schemas/notification.xsd"/>
      </extension>
  • nuxeo-platform-oauth-11.3.56.jar /OSGI-INF/schema-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="oauth2ServiceProvider" src="schemas/oauth2serviceprovider.xsd"/>
        <schema name="oauth2Token" src="schemas/oauth2token.xsd"/>
        <schema name="oauth2Client" src="schemas/oauth2client.xsd"/>
      </extension>
  • nuxeo-platform-oauth1-11.3.56.jar /OSGI-INF/schema-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="oauthConsumer" src="schemas/oauthconsumer.xsd"/>
        <schema name="oauthServiceProvider" src="schemas/oauthserviceprovider.xsd"/>
        <schema name="oauthToken" src="schemas/oauthtoken.xsd"/>
      </extension>
  • nuxeo-platform-rendition-core-11.3.56.jar /OSGI-INF/rendition-schemas-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="rendition" prefix="rend" src="schemas/rendition.xsd"/>
      </extension>
  • nuxeo-platform-signature-core-11.3.56.jar /OSGI-INF/schema-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="cert" src="schemas/cert.xsd"/>
      </extension>
  • nuxeo-platform-tag-core-11.3.56.jar /OSGI-INF/tag-service-core-types.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="tag" prefix="tag" src="schemas/tag.xsd"/>
      </extension>
  • nuxeo-platform-tag-core-11.3.56.jar /OSGI-INF/faceted-tag-service-core-types.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
    
        <schema name="facetedTag" prefix="nxtag" src="schemas/facetedTag.xsd"/>
    
      </extension>
  • nuxeo-platform-imaging-core-11.3.56.jar /OSGI-INF/picture-schemas-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="picture" src="schema/picture.xsd"/>
        <schema name="image_metadata" prefix="imd" src="schema/image_metadata.xsd"/>
        <schema name="iptc" prefix="iptc" src="schema/iptc.xsd"/>
      </extension>
  • nuxeo-platform-audio-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="audio" prefix="aud" src="schema/audio.xsd"/>
      </extension>
  • nuxeo-platform-task-core-11.3.56.jar /OSGI-INF/task-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
    
        <schema name="task" prefix="nt" src="schemas/task.xsd"/>
    
      </extension>
  • nuxeo-platform-types-core-11.3.56.jar /OSGI-INF/ui-types-local-configuration.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="ui_types_configuration" prefix="uitypesconf" src="schemas/ui_types_configuration.xsd"/>
      </extension>
  • nuxeo-platform-types-core-11.3.56.jar /OSGI-INF/contentview-local-configuration.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="content_view_configuration" prefix="cvconf" src="schemas/content_view_configuration.xsd"/>
      </extension>
  • nuxeo-platform-video-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="video" prefix="vid" src="schemas/video.xsd"/>
      </extension>
  • nuxeo-platform-webapp-types-11.3.56.jar /OSGI-INF/ecm-schemas-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="advanced_search" prefix="search" src="schemas/advanced_search.xsd"/>
        <schema name="advanced_content" prefix="advanced_content" src="schemas/advanced_content.xsd"/>
        <schema name="content_view_display" prefix="cvd" src="schemas/content_view_display.xsd"/>
        <schema name="expired_search" prefix="expired_search" src="schemas/expired_search.xsd"/>
      </extension>
  • nuxeo-quota-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
    
        <schema name="documents_count_statistics" prefix="dcs" src="schemas/documents_count_statistics.xsd"/>
    
        <schema name="documents_size_statistics" prefix="dss" src="schemas/documents_size_statistics.xsd"/>
    
        <schema name="quota_heaviest_containers_cv" prefix="quota_heaviest_containers_cv" src="schemas/quota_heaviest_containers_cv.xsd"/>
    
      </extension>
  • nuxeo-routing-core-11.3.56.jar /OSGI-INF/document-routing-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="document_route_instance" prefix="docri" src="schemas/document_route_instance.xsd"/>
        <schema name="document_route_model" prefix="docrm" src="schemas/document_route_model.xsd"/>
        <schema name="step_folder" prefix="stepf" src="schemas/step_folder.xsd"/>
        <schema name="info_comments" prefix="infocom" src="schemas/info_comments.xsd"/>
        <schema name="conditional_step_folder" prefix="condstepf" src="schemas/conditional_step_folder.xsd"/>
        <schema name="route_node" prefix="rnode" src="schemas/route_node.xsd"/>
      </extension>
  • nuxeo-routing-default-11.3.56.jar /OSGI-INF/extensions.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="var_global_Task2169" override="true" prefix="var_global_Task2169" src="data/schemas/var_global_Task2169.xsd"/>
        <schema name="var_Task2169" override="true" prefix="var_Task2169" src="data/schemas/var_Task2169.xsd"/>
        <schema name="var_Task21a0" override="true" prefix="var_Task21a0" src="data/schemas/var_Task21a0.xsd"/>
        <schema name="var_Task2225" override="true" prefix="var_Task2225" src="data/schemas/var_Task2225.xsd"/>
        <schema name="var_Task22b4" override="true" prefix="var_Task22b4" src="data/schemas/var_Task22b4.xsd"/>
        <schema name="var_Task232e" override="true" prefix="var_Task232e" src="data/schemas/var_Task232e.xsd"/>
        <schema name="var_global_Task2556" override="true" prefix="var_global_Task2556" src="data/schemas/var_global_Task2556.xsd"/>
        <schema name="var_Task2556" override="true" prefix="var_Task2556" src="data/schemas/var_Task2556.xsd"/>
        <schema name="var_global_Task328d" override="true" prefix="var_global_Task328d" src="data/schemas/var_global_Task328d.xsd"/>
        <schema name="var_Task328d" override="true" prefix="var_Task328d" src="data/schemas/var_Task328d.xsd"/>
        <schema name="var_ParallelDocumentReview" override="true" prefix="var_ParallelDocumentReview" src="data/schemas/var_ParallelDocumentReview.xsd"/>
        <schema name="var_Task375f" override="true" prefix="var_Task375f" src="data/schemas/var_Task375f.xsd"/>
        <schema name="var_global_Task38e" override="true" prefix="var_global_Task38e" src="data/schemas/var_global_Task38e.xsd"/>
        <schema name="var_Task38e" override="true" prefix="var_Task38e" src="data/schemas/var_Task38e.xsd"/>
        <schema name="var_Task542" override="true" prefix="var_Task542" src="data/schemas/var_Task542.xsd"/>
        <schema name="var_Task5c1" override="true" prefix="var_Task5c1" src="data/schemas/var_Task5c1.xsd"/>
        <schema name="var_global_Task6d8" override="true" prefix="var_global_Task6d8" src="data/schemas/var_global_Task6d8.xsd"/>
        <schema name="var_Task6d8" override="true" prefix="var_Task6d8" src="data/schemas/var_Task6d8.xsd"/>
        <schema name="var_SerialDocumentReview" override="true" prefix="var_SerialDocumentReview" src="data/schemas/var_SerialDocumentReview.xsd"/>
      </extension>
  • nuxeo-search-core-11.3.56.jar /OSGI-INF/savedsearch-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="saved_search" prefix="saved" src="schemas/saved_search.xsd"/>
      </extension>
  • nuxeo-search-core-11.3.56.jar /OSGI-INF/search-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="default_search" prefix="defaults" src="schemas/default_search.xsd"/>
      </extension>
  • nuxeo-template-rendering-core-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="documenttemplate" prefix="tmpl" src="schemas/documenttemplate.xsd"/>
        <schema name="templatesupport" prefix="nxts" src="schemas/templatesupport.xsd"/>
      </extension>
  • nuxeo-theme-styling-11.3.56.jar /OSGI-INF/theme-local-configuration.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="theme_configuration" prefix="themeconf" src="schemas/theme_configuration.xsd"/>
      </extension>
  • nuxeo-thumbnail-11.3.56.jar /OSGI-INF/thumbnail-core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="thumbnail" prefix="thumb" src="schemas/thumbnail.xsd"/>
      </extension>
  • nuxeo-user-profile-11.3.56.jar /OSGI-INF/core-types-contrib.xml
    <extension point="schema" target="org.nuxeo.ecm.core.schema.TypeService">
        <schema name="userprofile" prefix="userprofile" src="schemas/userprofile.xsd"/>
      </extension>