You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

On 23.05.2018 we have had a workshop where we discussed the proposed features. Even though the general feedback was positive and none of the features was rejected, there's still a lot of work to do to take the effort to the production-grade level.


Below is the proposed mind-map with possible further steps that we could take (the source XMind file is also attached).

UI improvements.xmind

Rough effort estimation

Below can be found a table with description and coarse estimates of the possible further steps (time-wise* and priority-wise**).

* (Time-wise the tasks are estimated relatively to Aleksandr Pchelintcev, i.e. if the assignee of the issue wasn't fiddling with the UI thoroughly lately, some time has to be added to get in the context.)

** (Priority-wise the tasks go from the brightest (star)... (red star)...(green star) to the coldest (blue star))

New features

NameDescription:EstimateResurface?Delivery
(red star) Rest integration

Develop an alternative to JCR for browsing and form viewing/editing. See the synergy with the REST client (or use some other approach). Goal - to have easily configurable REST browser and REST-based forms

MGNLUI-4439 - Getting issue details... STATUS

13

No

Validate foundation, APIs before next major.

Ship with new major of REST Client any time.

(star) Cross-field validation support

The field hierarchy is now kept in the form binders, so technically it is available while form is active and could be injectable in the validators and/or fields themselves. Need to see how to better expose such hierarchy and how to address at least some of the issues related to the topic.

Timebox to 13 SP, possible followed by smaller efforts.

DEV-920 - Getting issue details... STATUS

Enables:

MGNLUI-2542 - Getting issue details... STATUS

13NoBefore 6.0 because new APIs are introduced.
(green star) Forms with alternative layoutShip 1-2 alternative ways to layout forms (the API's are in place, even some implementation has started)3-5 days

(green star) Validation within composite fieldsRe-use 'validation bubble' effort from the past, try to provide universal validation/description UI regardless of the layout1 week (though be trickier)

(blue star) [optional] Master-detail sub-appTest the flexibility of the new UI framework views and combine browser and detail in one sub-app (should be as easy as binding the pre-created form to the current selection in e.g. tree view)3-5 days

(blue star) [optional] Filterable columns in GridsThe PoC solution contains column renderer which allows to filter tree grid by path. Consider productising such feature and see how would it be possible to incorporate it into configuration and implementation of the content views.1-2 weeks

Essential features

NameDescriptionEstimate
(red star) Chooser dialog

DEV-974 - Getting issue details... STATUS

1-2 weeks
(star) Multi-value field UI

DEV-976 - Getting issue details... STATUS

1 week
(red star) Migrate more fields

DEV-978 - Getting issue details... STATUS

3 weeks (can be parallelised tho)
(green star) Port more column renderers

DEV-977 - Getting issue details... STATUS

1-2 weeks (can be parallelised)
(red star) Harden JCR browsing implementation(remaining DS configuration, full-text search support etc)1-2 weeks
(star) Multi-selection support in browserValueContext needs generalisation (to conveniently cover the single vs multi selection cases)3-5 days
(star) Harden DS observation mechanismContentChangeEvent replacement needs to be hardened: should be memory-leak safe, should be clear, corner-cases should be considered. Observation should also work for the case of the detail sub-app1-2 weeks
Re-instate previews in actionbarRe-add the feature (should be simple with ValueContext). Question the abstraction of ImageProvider.3-5 days
(green star) Shortcuts in the grids and formsCurrently not ported over from the old implementation. Need to see also how to do it better.3-5 days
(red star) Port form-dialogThanks to the view-contexts and view improvements it is probably possible to make a form dialog implementation that shares most of the code with the detail sub-app, still requires quite some work.1-2 weeks
(green star) Implement Vaadin 8 - based inline row editingGrid/TreeGrid has in-built editor API, which can play together with parts of the from framework improvements that we introduced (binders/propertysets etc). Add support for inline editing in Grid/TreeGrid1-2 weeks

Migration strategy

NameDescriptionEstimate
(blue star) App descriptor migrationThink of a strategy (special sub-app that takes an old descriptor and translates to the new or some hybrid descriptor). Consider migrating whatever is easily migrated (fields, columns etc).2-3 weeks
(blue star) Legacy action supportIt seems to be fairly sufficient to expose the selection context a set of JcrNodeAdapter to make some UI actions work. See how many we can cover by this and what is needed to cover more.1-2 weeks

Configuration

NameDescriptionEstimate
(blue star) Content type powered configRequires content type solution to be available. Would be nice to shave some config parts off the detail sub-app and form dialogs.1 week (once content types are in)
(star) Apply the type references where possibleNew UI improvements do not make the descriptors any leaner as is (in order to not make the configuration less powerful). With type references for whatever possible we could mitigate this fact.2-2.5 weeks

Actions

NameDescriptionEstimate
(blue star) Re-start async action effortUse Java 8 instead of Quartz. Try to ship the asynchronous-ness as a trait/mix-in of an action, not as some base abstract class2 weeks

Misc

NameDescriptionEstimate
(star) Unit testingThe effort is almost not covered by unit tests (the state of the API and implementation was fluctuating too much so far)3 weeks (+ maybe more since we'll need even more tests before final release)
(blue star) UI testsSee if it would be possible to re-use the UI tests for our own apps when they are ported to the new framework2 weeks
(blue star) UI push supportfinally incorporate Vaadin's push support1 week

Unknown unknowables

There are probably bugs in the new UI implementation, maybe there will be potential blockers even. I can't estimate that, but I'd add at least 2.5-3 weeks for that on top of the total estimate.



  • No labels