Addons

Document Layouts

Updated: December 17, 2024

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.

Layouts can be linked to a document type by specifying the layout names in its definition.

Here is a sample configuration excerpt:

<type id="Note">
  [...]
  <layouts mode="any">
    <layout>heading</layout>
    <layout>note</layout>
  </layouts>
</type>

Layouts are defined in a given mode; layouts in the "any" mode will be used as default when no layouts are given in specific modes.

It is possible to merge layouts when redefining the document type, adding a property append="true":

<layouts mode="any" append="true">
  <layout>newLayout</layout>
</layouts>

The property named display set on the layout configuration is enough to handle a two columns rendering, it can be set to value table_2_columns for this purpose.

Document Layouts Display

The documentLayout tag can be used to display the layouts of a document:

<div xmlns="http://www.w3.org/1999/xhtml"
    xmlns:nxl="http://nuxeo.org/nxforms/layout">
  <nxl:documentLayout mode="view" value="#{currentDocument}" />
</div>

It is possible to make a distinction between the layouts defined in a given mode on the document, and the mode used to render layouts, for instance:

<nxl:documentLayout
  documentMode="header"
  mode="view"
  value="#{currentDocument}"
  defaultLayout="document_header"
  includeAnyMode="false" />

It is also possible to define a fallback mode on documents, for instance when retrieving layouts for document mode driveEdit, if no layout is resolved, it can fallback to layouts defined for document mode edit:

<nxl:documentLayout
  documentMode="edit"
  documentModeFallback="driveEdit"
  mode="view"
  value="#{currentDocument}" />