Web UI Framework

Layouts and Widgets (Forms, Listings, Grids)

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.   ### 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.

Layout and Widget Definitions — Custom layouts and widgets can be contributed to the web layout service, using its extension points. Standard Layout Types — Some layout types have been extracted to ease up defining layouts. Standard Widget Types — A series of widget types has been defined for the most generic uses cases. Custom Layout and Widget Templates — Some templating features have been made available to make it easier to control the layouts and widgets rendering. Custom Widget Types — Custom widget types can be added to the standard list thanks to another extension point on the web layout service. Layout and Widget Display — Layouts can be displayed thanks to a series a JSF tags that will query the web layout service to get the layout definition and build it for a given mode. Generic Layout Usage — Layouts can be used with other kind of objects than documents.

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

We'd love to hear your thoughts!

All fields required