Nuxeo Showcase - Layout Service (forms, views, and actions)

Welcome to the Nuxeo Layout Showcase!

This site presents standard widget types available to the Nuxeo layout service, and can be used as a demo, reference and preview application.
You can browse widget types by clicking on items in the left menu.

This application is running on top of Nuxeo Platform LTS 2019.

Useful Links

About this site

The idea of this application came with Studio integration, as widget types configuration needed to be made user friendly by:
  • providing a library of available widget types, taking care of the widget accepted field type (String, Boolean, Integer....);
  • making it possible to set the widget properties using a form;
  • making it possible to preview the resulting widget.
It was also interesting for functional tests, to verify that default widget types all work as expected, and are styled correctly.

So the widget type definition was improved to hold configuration instructions (title, description, definition of field types that match the widget type...).

To describe the available properties depending on the mode, as well as the form to display them, layouts were the natural choice. So the widget type definition was modified to accept standard layout definitions, with widgets using the property name as a field.

Using this way of describing a widget type is also a good maintenance tool: the information is kept in XML format, accepting HTML rendering for the description. It can be used directly to generate pages like the reference page or preview forms on this showcase application (using the standard JSF implementation of layouts).
It can be exported in JSON format for Nuxeo Studio, as it accepts widget types as JSON contributions and uses them to fill its registries. A specific GWT implementation of layouts has been implemented for this purpose.

A webengine application has also been added to the default Nuxeo platform (since version 5.4.2) so that you can get the list of available widget types on your Nuxeo instance, as well as some configuration details when they have been filled. This application is visible at http://localhost:8080/nuxeo/site/layout-manager/.
These pages do not show the widget properties as there is no Freemarker implementation of layouts - yet ;-).

You can read more about how to setup a custom widget type definition at:

Apart from that, this JSF application shows a standard way of defining a separate application on top of Nuxeo, with custom pages and URLs, that can be accessed without authentication. Check the Navigation URLs documentation for more details!