Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

View file
nameUI improvements.xmind
height250

Rough effort estimation

About 300 story points

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

...

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

Advanced Tables - Table Plus
columnTypes,,F
enableHeadingAttributesfalse
enableSortingfalse
autoTotaltrue
enableHighlightingfalse

New features

NameDescription:Estimate SPDepended upon by Resurface?Delivery
(red star) Rest integration
Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyMGNLUI-4439

13

No

Validate foundation, APIs before next major.

Ship with new major of REST Client any time.

(star) Cross-field
validation
interaction 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.

User benefit:

  • See only relevant values in form fields. Make fewer mistakes and fill the form faster.
  • Populate and validate the options in one field based on what the user chooses in another field.

Timebox to 13 SP, possible followed by smaller efforts.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-920

Enables:

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyMGNLUI-2542

13NoBefore 6.0 because new APIs are introduced.
(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

User benefit:

  • View and manipulate data from REST sources directly in a Magnolia app. Save time and effort.
  • Easily configure apps that operate on REST sources. Avoid 4-6 weeks of Java development.
  • Faster integrations. See Light Integration Stories

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyMGNLUI-4439

13

No

Validate foundation, APIs before next major.

Ship with new major of REST Client any time.

(green star) Forms with alternative layout

Ship 1-2 alternative ways to layout forms

(the API's

. The APIs are in place, even some implementation has started

)

.

User benefit:

  • Usability: Set address fields visually apart from other fields. Related controls are easier to identify.
  • Make it easier for people to focus on smaller and more manageable groups.
  • Reduce visual clutter and only show relevant information.
  • Progressive disclosure: Defers advanced or rarely used features to a secondary screen, making applications easier to learn and less error-prone.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-983

8MaybeDEV-983 Before 6.0
(green star) Validation within composite fields

Re-use 'validation bubble' effort from the past, try to provide universal validation/description UI regardless of the layout.

User benefit:

  • Pinpoint which sub-field in a more complex field has invalid entry, so the user knows what to fix.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-992

8Yes, considerIdeally in 6.0
(blue star) [optional] Master-detail
sub-app
subapp

Test the flexibility of the new UI framework views and combine browser and detail in one

sub-app

subapp (should be as easy as binding the pre-created form to the current selection in e.g. tree view)

User benefit:

  • Select an item in an app and edit it immediately.
  • Make small edits quickly without having to jump from one subapp to another.
  • For example, scheduling many events. Several small edits.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-991

3-5 days
5Noafter 6.0, independently
(blue star) [optional] Filterable columns in Grids

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

User benefit:

  • Search content by title, creation date, author, duration, rank, or any combination of properties.

  • (Find Bar does a full-text search and serves a different use case.)
  • Find items faster.
  • Configure searchable properties for an app so that they are relevant for users.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-993

1-2 weeks

8Noafter 6.0, independently

Essential features

(star) Multi-value field UI976(red star) Migrate more fields978(remaining DS etc)f
NameDescriptionEstimate SPDepended upon by Resurface?Delivery
(star) Multi-value field UI(red star) Chooser dialog

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-974

1-2 weeks

-976

8No6.0
(star) Multi-selection support in browser

ValueContext needs generalisation (to conveniently cover the single vs multi selection cases)

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-999
8No6.0
(star) Harden DS observation mechanism

ContentChangeEvent 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-app

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-

1 week

1001

13Noideally 6.0
(red star) Chooser dialog

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-974

13No6.0
(red star) Migrate more fields3 weeks (can be parallelised tho)(green star) Port more column renderers

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-977978

21No6.01-2 weeks (can be parallelised)
(red star) Harden JCR browsing implementation

Remaining JCR data source configuration, full-text search support

1-2 weeks
(star) Multi-selection support in browserValueContext needs generalisation (to conveniently cover the single vs multi selection cases)3-5 days

in lists etc.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1000

13No6.0
(red star) Port form-dialog

Thanks 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.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1006

8Noideally in 6.0 but could be later
(green star) Port more column renderers

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-977

8No6.0, grid doesn't know about the old renderers. Compatibility wrapper is an alternative.(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 actionbar

Re-add the feature (should be simple with ValueContext). Question the abstraction of ImageProvider.

3-5 days

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1002

5Nocan be after 6.0 but some work must be done before 6.0
(green star) Keyboard shortcuts (green star) Shortcuts in the grids and forms

Currently 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.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1005

8No6.0, otherwise keyboard shortcuts won't work. Can be timeboxed to 5 SP.1-2 weeks
(green star) Implement Vaadin 8 - based inline row editing

Grid/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/TreeGrid

1-2 weeks

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1003

8No6.0, basic inline editing capability is required. Enhancements can come later.

Migration strategy

NameDescriptionEstimateResurfaceDelivery
(blue star) App descriptor migration

Think 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).

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-989

8No6.02-3 weeks
(blue star) Legacy action support

It 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.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-990

1-2 weeks

Configuration

8Noideally 6.0
(blue star) Migrate bundled content apps to new APIs

With 6.0 we would want to ship our own apps that are already based on the new API's. Ideally we'd just migrate the configuration and deprecate the current ones.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1010

21

Noideally 6.0

Configuration simplifications

Users expect simpler configuration with the new UI framework. Consider using the improvements we get from content types effort and type references. We use type references for fields today but the mechanism can be used also elsewhere.

1 week (once content types are in)
NameDescriptionEstimateResurfaceDelivery
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.
(star) Apply the type references where possible

New 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.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-798

13Noafter 6.2-2.5 weeks

Actions

0
(blue star) Content type powered config

Requires content type solution to be available. Would be nice to shave some config parts off the detail sub-app and form dialogs.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1007

8Noideally in 6.0 but technically can be later

Actions
Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-959

NameDescriptionEstimateResurfaceDelivery
(blue star) Re-start async action effort

Use Java 8 instead of Quartz. Try to ship the asynchronous-ness as a trait/mix-in of an action, not as some base abstract class

User benefit:

  • Asynchronous actions may improve the perceived performance of the UI. Actions don't hang the UI.
  • Triggering actions from a REST endpoint, without having to click the UI.
  • Knowing when a command is done. Today, you execute a command and it doesn't come back and tell you when done.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-816

21NoCan be done after 6.0, should probably postpone.2 weeks

Misc

3 weeks (+ maybe more since we'll need even more tests before final release)
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)ResurfaceDelivery
(blue star) UI tests

See if it would be possible to re-use the UI tests for our own apps when they are ported to the new framework

. Port the UI tests so they work with the newly migrated apps.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-1009

21Yes, possibly. Resurface may introduce style name changes that break the UI tests.6.0 if we migrate all our own apps to the UI framework by release date2 weeks
(blue star) UI push supportfinally

Finally incorporate Vaadin's push support

. Replace poll with push.

User benefits:

  • Snappier UI, better perceived performance
  • UI reflects the current state on the server.

Jira
serverMagnolia - Issue tracker
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyDEV-797

8NoCan be done after 6.01 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.

21Yes, Resurface may cause bugs6.0