← Back to Index

7.2 Release Notes

For Developers

Exports and Renditions

A lot of work has been done around renditions so as to make the rendition concept the standard way to handle binary transformations of documents.

Automation: Scripting and Major Renaming.

Automation Scripting

Automation scripting is a new platform service that allows to deploy at runtime new operations defined via a JavaScript script. Those scripts are executed serverside with Nashorn. In those scripts, developer has access to all automation operations. Scripts can be edited in Nuxeo Studio.

Global Renaming

We have renamed most of the operations so as to provide better readability. The label is now equal to the id of the operation in most of the cases. The following documentation lists renamed operations. Compatibility has been kept with aliases.

Workflow REST API

Endpoints have been added for controlling workflow engine remotely: start workflow instances, complete tasks, query opened tasks and much more. A sample JavaScript application has been implemented for demonstrating the use of this API. This application is also provided as Marketplace package.

Nuxeo JavaScript Client

Some improvements have been done to the JS client during this release:

Note that the authentication configuration has changed, see the Migrating from 0.3.x part.

Elasticsearch

New Elasticsearch Admin API to Wait for Indexing Completion

The following documentation explains how to migrate code from VCS to DB using this new API.

Support Properties on Select Clause Using Elasticsearch

It is now possible to select scalar fields instead of documents from Elasticsearch API. Note that aggregate (COUNT, MAX, MIN, SUM, AVG) are not yet supported.

Visit the following documentation for more information.

Field Constraints, Extended fields and Validation

It is now possible to set field constraints and define references on the schema XSD definition. This validation is performed when submitting a document form.

Visit the "Field Constraints and Validation" documentation and the "How to Customize Document Validation" documentation for more information and the layout showcase for a small demo.

Plugable JSON Marshalling

Nuxeo provides a way to define reusable Marshallers. Each registered marshaller can be used and aggregated. Nuxeo provides built-in and reusable marshallers for many Nuxeo based objects. All marshallers can be used in a web context or in a server-side context (for example, JSON could be logged in audit or used with non HTTP connectors).

Visit the following documentation for more information.

Management of Document's Updates

The dirty flag of document's properties is now more accurate. A property is dirty only if its value has changed. When a document has version 1.0, a 1.0+ version is created while editing only if some property changed. The update date and the list of contributors are updated only if there were changes (Previously, simply saving the document caused the updates, even with identical values).

Dublincore's Extended Fields

"dc:creator", "dc:lastContributor" and "dc:contributors" are now defined as references to Nuxeo users. "dc:subjects", "dc:nature" and "dc:coverage" are now defined as references to the corresponding directories. This provides all benefits from the validation and from the pluggable JSON marshalling.

Blob Manager Service

Blob access in lower layers is now made through a new service, Blob Manager, that provides pluggable implementations. This can be used for fetching blobs from remote storage services, like Google Drive or One Drive, or for handling smarter storage policies.

File Upload Widget Has Been Made Extensible

The current JSF file upload widget (based on UIInputFile code) has been made pluggable in order to be able to create blobs not only based on an HTML file upload from the user's desktop but also based on other kinds of blob creation (for example using an existing file in Google Drive). See NXP-16551 for details on how to contribute an additional file picker.

ACL Related Queries

It is now possible to fetch documents depending on ACLs that are set on it thanks to a new NXQL system field: "ecm:acl". For instance: "SELECT * FROM Document WHERE ecm:acl/*/principal = 'bob'".

Transient Store

A new service `TransientStoreService` has been added to `nuxeo-core-cache`. The goal is to provide a way to handle storage of temporary objects and streams. `TransientStoreService` can be seen as a high level and cluster compliant interface on top of a 2 level Cache and Filesystem storage. This very first version was build to accommodate the requirements of asynchronous renditions, but we expect to have much more use cases soon.

Picture Document Type Evolutions

JDK 1.8+ is required (version 8u25 minimum)

Java 8 update 25+ is required for building Nuxeo and the constraint has been set as an enforcement in the root Nuxeo POM `org.nuxeo:nuxeo-ecm`.
Some products like the Automation Client will still be compiled with Java 7 compliance (source and target) for being usable in Java 7 runtime environments but Java 8 is still required to perform their build.

Deactivation of DoubleClickShield

The Double Click Shield prevents a form from being submitted twice. It is set by default on every action defined in the platform. In some use cases, in the case of a download for example, the DoubleClickShield does not allow another click on the action because the marker for request completion is still present. A new property "disableDoubleClickShield" has been introduced in the action contribution. By default, this property is defined to false.