← Back to Index

Nuxeo 5.7.1 Tag Release Notes

For Developers

Content Automation

Automation client is fully OSGi, which means you can use it from any OSGi container (Felix, Equinox etc..)

Even though we have a new version coming out, we've kept Nuxeo 5.7.1 compatible with the 5.6 automation client.

You can fetch dirty properties of a modified document to send only modified properties with automation client

JSON Marshalling enhancement. You can send POJO in input or parameters. (5.7.1 only)

New operations

Add Message

Category: User Interface

Operation Id: Seam.AddMessage

Add a feedback message to be displayed. The message will be internationalized. You can specify the severity of the message using INFO, WARN and ERROR, INFO being the default. Message parameters are extracted from the context using the 'AddMessage.messageParams'.

Add entry into multi-valued metadata

Category: Document

Operation Id: AddEntryToMultivaluedProperty

Add value to the field expressed by the xpath parameter. This field must be a multivalued metadata.

Convert to given mime-type

Category: Conversion

Operation Id: Blob.Convert

Convert the input file to a file of the given mime-type and return the new file.

Create Asset(s) from file(s)

Category: Dam

Operation Id: Dam.Import

Create Asset(s) from Blob(s) using the FileManagerService.

Create Proxy Live

Category: Document

Operation Id: CreateProxyLive

This operation will create a proxy that points the given document as input. This is like a symbolic link for File System. The proxy will be created into the destination specified as parameter.

Creates directory entries

Category: Services

Operation Id: Directory.CreateEntries

Creates directory entries. Entries are sent as a JSON array. Returns the created entry ids as a JSON array.

Deletes directory entries

Category: Services

Operation Id: Directory.DeleteEntries

Deletes directory entries. Entry ids to be delete are sent through a JSON array. Returns the deleted entry ids as a JSON array.

Get Live Document

Category: Document

Operation Id: GetLiveDocument

Get the live document even if this is a Proxy or Version Document.

Get Nuxeo Principal

Category: Users & Groups

Operation Id: NuxeoPrincipal.Get

Retrieve Nuxeo principal and export it as a DocumentModel. If login parameter is not set, the operation will return information about the current user, otherwise Directory Administration rights are required.

QueryAndFetch

Category: Fetch

Operation Id: Resultset.PageProvider

Perform a query or a named provider query on the repository. The result is paginated. The result is returned as a RecordSet (QueryAndFetch) rather than as a List of Document. The query result will become the input for the next operation. If no query or provider name is given, a query returning all the documents that the user has access to will be executed.

Raise Seam events

Category: User Interface

Operation Id: Seam.RaiseEvents

Raise Seam events without parameters. This is a void operation - the input object is returned back as the output

Reads directory entries

Category: Services

Operation Id: Directory.ReadEntries

Reads directory entries. Entry ids to be read are sent as a JSON array. Returns the entries as a JSON array of JSON objects containing all fields.

Remove Entry Of Multivalued Property

Category: Document

Operation Id: RemoveEntryOfMultivaluedProperty

Removes the first entry of the giving value in the multivalued xpath, does nothing if does not exist. If 'is Remove All' is checked, all entry instances in the list will be removed. if not then just the first one found will be removed.

UI Selected documents form list

Category: Fetch

Operation Id: Seam.GetDocumentsFromSelectionList

Fetch the documents selected in the selection list passed as a parameter. If the list name is empty, the current folder selection list is used.

Updates directory entries

Category: Services

Operation Id: Directory.UpdateEntries

Updates directory entries. Entries to be updated are sent as a JSON array. Returns the updated entry ids as a JSON array of JSON objects containing all fields.

CSS 3 Support in Theme Engine

The flute CSS parser has now been replaced by phloc-css, allowing CSS3 to be used in the Theme engine.

UI Style Guide

The Nuxeo UI Style Guide is an online help to design your content, explore all the available CSS classes for the different elements, and to check the list of icons embedded in the platform.

UI Framework

Widget Label properties now accept an EL expression. This allows you to have dynamic labels.

Every richfaces ajax call use a global default ajax event queue. You can of course still specify your own queue. This results in more stable pages.

HTML5 PlaceHolder

You can use the HTML5 placeHolder attribute on inputtext and textarea. It's available as a widget property. You can put text(that will be translated) or an EL.

New drop zone Widget

This widget allows you to execute an operation with the files you've dropped as input.

Widget Actions

One can use automatic JS confirmation popup. If you add a confirmMessage property in the actions, it generates the appropriate js method. It accepts any EL as parameter. Here's an example:

 <action id="JenkinsReportSendMail">
   <properties>
     <property name="confirmMessage">label.jenkins.sendMail.confirm</property>
     <propertyList name="confirmMessageArgs">
       <value>#{docSuggestionActions.getDocumentWithId(currentSuperSpace.id)
         .getPropertyValue('jenkinsreports:report_email')}</value>
     </propertyList>
   </properties>
 </action>
messages:
label.jenkins.sendMail.confirm=This will send an email to {0},
 are you sure that you would like to continue?

You can now include widgets that render actions. This is particularly useful in Nuxeo Studio. This allows us to easily blend different action types like a submit button, an outgoing link and an action that opens a fancybox. You can also merge all of them in any order you want.

We have a better support of form inside fancybox opened by actions. You can submit the associated form without submitting every other form on the page. No need to do nested form anymore.

You can mix any type of action. If one action does not support ajax (like a download), it can be in the same tool bar as an ajax action.

You can associate selected documents of a content view to actions outside the content view. That's how we made bulk edit.

We allow resetting of JSF components state when using ajax. JSF action listener #{jsfResetActions.resetComponents} can be used in actions that need to reset all components in the same JSF naming container.

Nuxeo Visible Content Store (VCS)

Issues list

Enhancements

Single datasource mode, removes the extra cost of XA transactions when all datasources points to the same database (which is the most common setup). It simplifies configuration and enhances performance.

Soft delete, more efficient deletion using delayed batching.

Optimized id generation, using database-native sequences (PostgreSQL, SQL Server) or UUIDs (PostgreSQL). This improves performance and database size.

Flag to disable proxies, if you don't use proxies, then this removes the extra work at the SQL level and improves performance.

Allow attaching schemas to proxies

Database Support

Microsoft SQL Server 2012 support, including Azure.

PostgreSQL 9.2 support for cluster mode (non-clustered mode already worked in Nuxeo 5.6).

IBM DB2 9.5 preliminary support (non-optimized, therefore only for small databases).

NXQL

See the NXQL Documentation for the current state of NXQL.

ecm:tag: allows NXQL queries on a document's tags.

ecm:proxyTargetId: allows NXQL queries on the id of the target of a proxy.

ecm:proxyVersionableId: allows NXQL queries on the id of the versionable document of a proxy (the versionable document is the one from which the version to which the proxy is pointing was created).

Misc

Various performance enhancements for PostgreSQL, Oracle and SQL Server

Added "NotFulltextIndexable" facet to avoid indexing documents with this facet.

Allow clustering for Oracle on Amazon RDS.

Optimize complex list property update (use UPDATE instead of DELETE + INSERT).

Support Microsoft's JDBC driver for SQL Server.