Studio

Migrate Studio Project From JSF UI to Web UI

Updated: November 7, 2024

When migrating a Studio project from a JSF UI based application to a Web UI one, the configuration flow changes:

  • Nuxeo Studio is divided into Studio Modeler for the backend logic and Studio Designer for all the user interface elements.
  • When disabling the Nuxeo JSF UI as target package, some configuration screens may disappear from Nuxeo Studio Modeler (all the item specific to the JSF UI).

This page is a checklist to let you understand all the major impacts of a migration to Web UI. The needed migration actions are listed and classified by configuration category.

Prerequisites

Before digging into the different configuration elements:

Branding

  • The login page configuration remains on Nuxeo Studio Modeler.
  • The header, footer, colors and font defined in the Branding should be migrated into a new theme under UI > Theme in Studio Designer.
  • Custom CSS is removed, which means that specific CSS contributions should be migrated either into a new theme or directly inside the corresponding element in the <style> section in your custom theme in Studio Designer.
  • Workspace administration is no longer available in Web UI, which means that you can no longer specify a theme per workspace.

Document Type Layouts

  • All the document type layout contributions from the Create, View, Edit, Header layouts tabs should be moved to Nuxeo Studio Modeler, in UI > Layouts > Local Document Types or Built-In Document Types.
  • The JSF UI View form corresponds to the Web UI Metadata Layout.
  • The View Layout corresponds to the page section where is generally displayed the document preview and its additional information and actions.

Workflow

The task form menu displayed from the Workflow template configuration screen in Studio Modeler is now in Studio Designer, in the UI > Layouts > Workflows section.

A search in Web UI is composed of a Page Provider in Studio Modeler and its associated form and result layouts in Studio Designer.

The Listing & Views menu (and therefore the Content Views and Search submenus) disappears, the configuration has to be migrated to Studio Designer, in the UI > Layouts > Page Providers section.

JSF UI Web UI
migration-jsf-search.png
migration-jsf-search.png
migration-webui-search.png
migration-webui-search.png

User Actions

User actions are specific to Nuxeo JSF UI. In Nuxeo Web UI, User actions are called Buttons and can be found under UI > Buttons menu.

These actions can either be linked to an automation chain (or an automation scripting) or a specific element.

Automation Chains

Automation chains are core logic and are only impacted by all operations from the Category User Interface. It corresponds to all operations prefixed by Seam.* or Navigation.*.

For these operations, specific properties are available from the Action elements, for example:

  • download: it downloads the output of the automation operations
  • notification: Text displayed in a notification
  • error-label: Text displayed in case an error occurred when executing an automation chain.

Translations

Document type label and vocabulary entry label are still created from Studio Modeler and automatically replicated in Studio Designer in the main translation file (messages.json).
Document properties labels should be created in a translation file.

JSF UI Web UI
migration-jsf-translation.png
migration-jsf-translation.png
migration-webui-translation.png
migration-webui-translation.png

XML Extensions

XML Extensions may not be impacted by the Web UI migration, except the one which refers to specific JSF UI components, as the following extension point for example:

<extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions"

Going Further

A Migration Service can be activated to migrate some Studio Configuration from JSF UI to Web UI. This migration tool is a safe and automated way to migrate your configuration to Web UI based on your existing JSF UI configuration.

Note that it will let you save time but depending on the complexity of your configuration, some manual actions will still be required