[
https://jira.nuxeo.com/browse/NXP-7614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anahide Tchertchian resolved NXP-7614.
--------------------------------------
Resolution: Fixed
Upgrade notes:
- removed interfaces LayoutManagerLocal and LayoutManagerRemote: LayoutManager
is enough
- added method LayoutManager#getDefaultStoreCategory
- added new service LayoutStore handle storage and retrieval of layout items,
independant from JSF
- layout runtime descriptors do not follow corresponding layout interfaces
anymore
See the issue comments for details.
Summary of changes done:
- added new module nuxeo-platform-forms-layout-core, exposing a service and
runtime component to declare widget types, widgets and layouts per category.
New service follows interface "LayoutStore".
This service also handles API and registration of layout and widget converters,
that are useful to change a layout and/or widget definition for export.
- changed nuxeo-platform-forms-layout-client module (in charge of the JSF
rendering of layouts) to store and retrieve definitions from the new service
LayoutStore, using the category "jsf" by default.
Layout rows can now reference widgets defined in another category than the
default one "jsf". This is useful for widget types configuration for instance,
where several widgets for common properties like "required" for instance can
now be declared globally without polluting the main registry of global widgets
(they can use a specific category to reference them)
- changed layout descriptors used for registration: they're now available in
new module forms-layout-core and do not follow anymore the equivalent
interfaces of layouts objects as it's useless (and as they have new methods to
provide the correponding element: for instance, LayoutDescriptor now holds a
method returning the corresponding LayoutDefinition instance)
- removed useless interfaces LayoutManagerLocal and LayoutManagerRemote,
interface LayoutManager is enough.
- nuxeo-platform-forms-layout-io to removed dependencies to other modules than
layout-api and the json lib, so that it can be used again in Studio for
instance.
- added module nuxeo-platform-forms-layout-io-plugins to contribute default
converters useful for a mobile application (translation of labels, extraction
and translation of directory entries)
> Extract LayoutManager service independent from the JSF layer
> ------------------------------------------------------------
>
> Key: NXP-7614
> URL: https://jira.nuxeo.com/browse/NXP-7614
> Project: Nuxeo Enterprise Platform
> Issue Type: Improvement
> Components: Web Foundations
> Reporter: Thierry Delprat
> Assignee: Anahide Tchertchian
> Fix For: 5.5
>
>
> For now the WebLayoutManager service depends on JSF layer because of EL
> resolution requirements.
> In some cases it would be useful to have a non-JSF LayoutManager that
> contains only the logic used for managing the {{LayouDefinition}},
> {{WidgetDefinitions}}.
> For exemple, in order to be able to have full JSON export of a Layout
> including non-local widgets, we need to access the WebLayoutManager, but it
> creates a dependency issue that prohibit to use the bundle in a non-JSF
> environement.
> => split interfaces (currently LayoutManager interface already holds
> WebLayoutManager interface methods that do not depend on JSF classes) so that
> the low-level layout service handles:
> - widget types, widgets and layouts registries for a given category. This
> will make it possible to define widget instances in specific categories (for
> instance to declare global widget instances only used in widgets types
> configuration doc). And this will prepare work for a layout service managing
> widget types for freemarker/gwt layout system for instance.
> - layout/widget definition conversion: the forms-layout-io plugin currently
> depends on core-api and directory-api to perform conversions of definitions
> to be rendered on a mobile (android plugin need) and this could be
> interesting for other features (for instance gadgets, in case freemarker can
> render a layout someday) as well as layout preview (as some configuration
> would need to be filtered otherwise preview would fail)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets