Nuxeo Server

Layouts and Widgets (Forms, Listings, Grids)

Updated: December 5, 2017 Page Information Edit on GitHub

This page is scheduled for review and update. Check back soon for updated content!

Layouts and widgets have been originally designed to display forms, and have been improved to handle listings as well as summary pages. These configuration elements are used to generate page fragments from XML configurations contributed to Nuxeo Runtime extension points.

In this chapter we will see how to define layouts and associated widgets, and use them in XHTML pages.

Layouts and Widgets can be configured using Studio: Check out the Form Layouts documentation.

Key Concepts

Layouts

In a document oriented perspective, layouts are mostly used to display a document metadata in different use cases: present a form to set its schema fields when creating or editing the document, and present these fields values when simply displaying the document. A single layout definition can be used to address these use cases as it will be rendered for a given document and in a given mode.

 A layout is a group of widgets that specifies how widgets are assembled and displayed. It manages widget rows and has global control on the rendering of each of its widgets.

Widgets

There's a widget in the closet.

– R. Kellise

A widget defines how one or several fields from a schema will be presented on a page. It can be displayed in several modes and holds additional information like for instance the field label. When it takes user entries, it can perform conversion and validation like usual JSF components.

Widgets have been made more generic to handle rendering of elements in listings, for instance, or to render information that is not directly linked to a document metadata, like presenting its relations.

Widget Types

A widget definition includes the mention of its type. Widget types make the association between a widget definition and the JSF component tree or xhtml template that will be used to render it in a given mode.


Table of Content

The following pages explain how to work with layouts and widgets.

7 days ago Manon Lumeau add tags for doc days
a month ago manonlumeau Added content-review-lts2017 label
2 months ago manonlumeau NXDOC-1346-FT review screenshot
a year ago Manon Lumeau 60 | emove children display macr
2 years ago Solen Guitter 59 | Fix formatting issues
3 years ago Solen Guitter 54 | Link update
3 years ago Solen Guitter 55 | Migration of unmigrated content due to installation of a new plugin
3 years ago Solen Guitter 56 | Migration of unmigrated content due to installation of a new plugin
3 years ago Solen Guitter 57 | Migration of unmigrated content due to installation of a new plugin
3 years ago Solen Guitter 58 | Migration of unmigrated content due to installation of a new plugin
4 years ago Solen Guitter 51
4 years ago Solen Guitter 52
4 years ago Solen Guitter 53 | Migration of unmigrated content due to installation of a new plugin
4 years ago Anahide Tchertchian 50 | add link to Studio doc
4 years ago Solen Guitter 49
4 years ago Solen Guitter 48
4 years ago Solen Guitter 47
4 years ago Anahide Tchertchian 45
4 years ago Anahide Tchertchian 46 | Migration of unmigrated content due to installation of a new plugin
4 years ago Anahide Tchertchian 44
4 years ago Anahide Tchertchian 43 | display one level for table of content (sub pages)
4 years ago Anahide Tchertchian 42 | cosmit
4 years ago Anahide Tchertchian 41 | reorganize presentation
4 years ago Anahide Tchertchian 40
4 years ago Solen Guitter 39
4 years ago Solen Guitter 38 | Added excerpts
4 years ago Solen Guitter 37
5 years ago Solen Guitter 34
5 years ago Solen Guitter 35 | Migration of unmigrated content due to installation of a new plugin
5 years ago Solen Guitter 36 | Migration of unmigrated content due to installation of a new plugin
5 years ago Solen Guitter 33
5 years ago Anahide Tchertchian 29
5 years ago Anahide Tchertchian 30 | Migrated to Confluence 4.0
5 years ago Anahide Tchertchian 31 | Migration of unmigrated content due to installation of a new plugin
5 years ago Anahide Tchertchian 32 | Migration of unmigrated content due to installation of a new plugin
5 years ago Anahide Tchertchian 28
5 years ago Anahide Tchertchian 27
5 years ago Anahide Tchertchian 26
7 years ago Anahide Tchertchian 25
7 years ago Anahide Tchertchian 24
7 years ago Anahide Tchertchian 23
7 years ago Anahide Tchertchian 22
7 years ago Anahide Tchertchian 21
7 years ago Anahide Tchertchian 20
7 years ago Solen Guitter 19
7 years ago Anahide Tchertchian 18
7 years ago Anahide Tchertchian 17
7 years ago Solen Guitter 16
7 years ago Florent Guillaume 15
7 years ago Anahide Tchertchian 14
7 years ago Anahide Tchertchian 13
7 years ago Anahide Tchertchian 12
7 years ago Anahide Tchertchian 11
7 years ago Anahide Tchertchian 10
7 years ago Anahide Tchertchian 9
7 years ago Anahide Tchertchian 8
7 years ago Anahide Tchertchian 7
7 years ago Anahide Tchertchian 6
7 years ago Anahide Tchertchian 5
7 years ago Anahide Tchertchian 4
7 years ago Anahide Tchertchian 3
7 years ago Anahide Tchertchian 2
8 years ago Admin name placeholder 1
History: Created by Admin name placeholder