Nuxeo Platform Forms Layout Demo addon
Switch branches/tags
release-10.3-I20180919_0126 release-10.2 release-10.2-I20180705_0132 release-10.2-I20180703_0125 release-10.2-I20180515_0125 release-10.1 release-9.10 release-9.10-HF19 release-9.10-HF18 release-9.10-HF17 release-9.10-HF16 release-9.10-HF15 release-9.10-HF14 release-9.10-HF13 release-9.10-HF12 release-9.10-HF11 release-9.10-HF10 release-9.10-HF09 release-9.10-HF08 release-9.10-HF07 release-9.10-HF06 release-9.10-HF05 release-9.10-HF04 release-9.10-HF03 release-9.10-HF02 release-9.10-HF01 release-9.3 release-9.2 release-9.1 release-8.10 release-8.10-HF37 release-8.10-HF36 release-8.10-HF35 release-8.10-HF34 release-8.10-HF33 release-8.10-HF32 release-8.10-HF31 release-8.10-HF30 release-8.10-HF29 release-8.10-HF28 release-8.10-HF27 release-8.10-HF26 release-8.10-HF25 release-8.10-HF24 release-8.10-HF23 release-8.10-HF22 release-8.10-HF21 release-8.10-HF20 release-8.10-HF19 release-8.10-HF18 release-8.10-HF17 release-8.10-HF16 release-8.10-HF15 release-8.10-HF14 release-8.10-HF13 release-8.10-HF12 release-8.10-HF11 release-8.10-HF10 release-8.10-HF09 release-8.10-HF08 release-8.10-HF07 release-8.10-HF06 release-8.10-HF05 release-8.10-HF04 release-8.10-HF03 release-8.10-HF02 release-8.10-HF01 release-8.3 release-8.2 release-8.1 release-7.10 release-7.10-HF46 release-7.10-HF45 release-7.10-HF44 release-7.10-HF43 release-7.10-HF42 release-7.10-HF41 release-7.10-HF40 release-7.10-HF39 release-7.10-HF38 release-7.10-HF37 release-7.10-HF36 release-7.10-HF35 release-7.10-HF34 release-7.10-HF33 release-7.10-HF33-I20171026_0823 release-7.10-HF32 release-7.10-HF31 release-7.10-HF30 release-7.10-HF29 release-7.10-HF28 release-7.10-HF27 release-7.10-HF26 release-7.10-HF25 release-7.10-HF24 release-7.10-HF23 release-7.10-HF22 release-7.10-HF21 release-7.10-HF20 release-7.10-HF19
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ftest/webdriver
nuxeo-platform-forms-layout-demo
.gitignore
README.md
pom.xml

README.md

Nuxeo Platform Layout Demo

This addon presents layouts and widgets in a "show-case like" web site.

The application is visible at http://localhost:8080/nuxeo/layoutDemo

Webdriver tests also ensure that all standard widget types are working ok.

Unit Tests: Build Status

Webdriver Tests: Build Status

Webdriver List Widget Compat Tests: Build Status

The application 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.

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.

Building

mvn clean install

Deploying

  1. Put generated jar nuxeo-platform-forms-layout-demo to your nxserver/bundles directory
  2. Start the server.

Launching Webdriver Tests

mvn clean install -Pitest

Development

Adding a New Widget Type

To add a new widget type to the application, you need to:

  • add a xhtml template in nuxeo.war/layoutDemo/demoWidgets
  • declare this template with a view id in OSGI-INF/deployment-fragment.xml
  • provide the widget sample xml configuration in OSGI-INF/demo and reference it in the MANIFEST
  • configure the widget type in OSGI-INF/layout-demo-contrib.xml

About Nuxeo

Nuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.