Aleksandr Pchelintcev, Mikaël Geljić,
Magnolia 5.6 was upgraded to Vaadin 8, using the compatibility—now deprecated—v7 packages.
We now initiate an audit of the current state of UI, to assess where best we can leverage the Vaadin 8 features gradually.
Status
DONE Sync and align on overarching goals of the effort
DEV-714 - Getting issue details... STATUS
OPEN Carry on prototype free-form work on the two leading topics (content-app & composability)
We should then refine / split these topics into appropriate actions, as the current outlook is probably too coarse to digest and plan.
High-level areas of interest
- Content app
- Forms, fields
- Actions
- Composability & IoC
- view mixins/snippets from foreign modules
- ad-hoc component decorators (instead of subclass & rebind)
- view-states vs. event buses
- Pulse
Goals
- Use the
TreeGrid
finally - Use the Vaadin 8 data-bindings in forms (farewell JCR adapters, transformers too?)
- Leave the app framework intact (± our
View
interface) - Keep offering backwards (V7) compatible content-apps
- Simplify coding patterns for app components (farewell MVP)
- Simplify customization of app components/views
Side-goals
- Dismiss actions in their current shape (awkward type hierarchy, injecting selection)
- Simplify usage of choosers
- data services - backing for chooser, pass the data-provider, specify the UI in distinct ways
- Offer a clearer structure/module for developers to build upon (vs. framework, admincentral, content-app separate modules & submodules)
- pave the way for UI framework flexibility vs. Admincentral encapsulation
- New APIs to be non-JCR-opinionated, though JCR support must be implemented
- keep in mind core vs. UI eventual split up (adapting should boil down to a finite set of components)
- Simplify config of content apps, since Vaadin 8-based apps are unlikely to be compatible with current configs
Non-goals
Although tempting and relevant in several respects, we do *not* consider the following as part of this effort:
- Changes to the shell/Admincentral itself, or location handling
- Changes to Magnolia components (action bar, upload field, etc.)
- Changes to most client side GWT components and extensions
- Changes to the magnolia & admincentral themes, in particular with Valo
- Changes to the widgetset setup
- Changes to the Vaadin integration (servlet-wise)
- Changes to UX or Accessibility, although using Vaadin 8 will help on that, case by case