Additional Services


Updated: December 6, 2021

Functional Overview

Installation & Configuration

The collection module has no specific installation step as it is already included in the default Nuxeo Platform distribution.


How to Implement a New Type of Collection

If you'd like to implement a new collection (for instance to have new metadata) you can simply add the Collection facet to your specific document type. You'll therefore be able to use it as a regular collection.


  <extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
    <schema name="yourSchema" src="schemas/xxx.xsd" prefix="xxx" />
  <extension target="org.nuxeo.ecm.core.schema.TypeService" point="doctype">
    <facet name="YourFacet" >
      <schema name="yourSchema" />

    <doctype name="YourDocumentType" extends="Document">
      <facet name="YourFacet" />
      <facet name="Collection" />



NotCollectionMember Facet

All documents can be added to a collection except:

  • Documents with the facet SystemDocument
  • Documents with the facet NotCollectionMember

By default, documents of type Collection, WorkspaceRoot, TemplateRoot, SectionRoot, Domain and Root have the facet NotCollectionMember. Please see collection-core-types-contrib.xml for more details.

Plugging Business Rules to Collection Specific Events

Several events related to collections are available:

  • beforeAddedToCollection
  • addedToCollection
  • beforeRemovedFromCollection
  • removedFromCollection

The collection reference is available in the event context map. For example, within an event listener which starts an automation chain, you can fetch the collection as described below:

- Document.Fetch:
    value: "@{Event.context.getProperty(\"collectionRef\").reference()}"

Synchronizing a Collection with Nuxeo Drive

To do so you need to add the following XML contribution with either Nuxeo Studio or a custom bundle:

<component name="">
    <extension target="org.nuxeo.ecm.platform.actions.ActionService"
      <filter id="can_sync_current_doc" append="true">
        <rule grant="true">


With this configuration you won't be able to unsynchronize a collection as usual using the icon as this icon will stay grey: .

Yet you can always unsynchronize the collection from the Nuxeo Drive tab in the user Home.


  • Files or folders created in the locally synchronized collection folder will not be added to the collection server-side. For now we have no mechanism to choose their path in the hierarchy.
  • Please be aware that all the limitations applied to online editing with Nuxeo Drive apply to synchronized collections.



Core Implementation

A collection holds the list of references of the documents it contains. Conversely, a document holds the list of references of the collections it belongs to.

Collection operation are offered by the service.

Because a collection can potentially contain a large number of documents and, to a lesser extent, a document can belong to many collections, some tasks are performed asynchronously.

For instance, when deleting a collection, an asynchronous work will update the documents it contains to remove the reference of the deleted collection. In the same way, when a document is removed, an asynchronous work will update the collection it belonged to in order to remove the reference of the deleted document.

Finally, when copying a collection, an asynchronous work will also duplicate its content.