Nuxeo Tree Snapshot

Updated: September 18, 2019

JSF UI Deprecation
This requires to have the JSF UI addon installed on your server that is deprecated since Nuxeo Platform LTS 2019.
Please refer to the Web UI documentation.

Nuxeo Tree Snapshot enables to snapshot and version a whole folder and its content in a single step. You can then recover the state of a folder for a given version.


This addon requires no specific installation steps. It can be installed like any other package with nuxeoctl command line or from the Marketplace.

Using Nuxeo Tree Snapshot

The addons adds a new document type, Versionable folder, which can be created in Workspaces.

Versionable folders can be published, using the regular Publish tab. When it is published a new version of the folder is automatically created and available in archived versions. The content of the versionable folder is published at the same time, and if needed versioned.

In the versionable folder History > Archived versions tab you can use the regular archived versions actions (View archived version and Restore).

Customization and Configuration

Although the addon by default adds a versionable folder, most of the time you will want to integrate the feature with your own data model.

  1. Add the Document.CreateTreeSnapshot to your Studio project:
    1. Copy the JSON definition of the operation Document.CreateTreeSnapshot from your server's automation doc at http://NUXEO_SERVER/nuxeo/site/automation/Document.CreateTreeSnapshot.
    2. In Studio, paste the operation definition in Settings > Registries > Automation Operations and save.
  2. Add the Snapshotable facet to your Studio project: In Settings > Registries > Document Facets, paste the following facet definition and save.
     "facets": [
         "id": "Snapshotable",
         "description": "Facet Snapshotable to publish and snapshot folders"
  3. Add the Snapshotable facet to your document type and leverage the Document.CreateTreeSnapshot operation in your business logic.

We'd love to hear your thoughts!

All fields required