[MGNLUI-4997] Phase out ViewProvider and ViewContextKeyRegistry by merging their functionality directly into framework session mgmt Created: 04/Feb/19  Updated: 01/Jul/19  Resolved: 12/Jun/19

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: None
Fix Version/s: 6.1

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Aleksandr Pchelintcev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 3.65h
Original Estimate: Not Specified

Issue Links:
relation
is related to MGNLUI-5024 New detail sub-app implementation set... Closed
supersession
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: UI framework: basic features
Sprint: 6.1 Release Sprint
Story Points: 8

 Description   

The main goal is to simplify the way of creating new UI contexts, so that it would be a matter of one-two commands to create injection context for even a field or a table cell (so that it'd get its own datasource definitions injectable as well as other definitions etc).

To make this easier for the framework user, we can try to move the complexity away from them to the lower level. I.e. while before there'd be a created view registry (to maintain the hierarchy), we can now move it all the way down to the session storage and maintain it automatically, cleaning up everything in cascading fashion and making the hierarchical instance look-up transparent to the user (they wouldn't have to worry about how it works).

changeset:

enhance lookup capabilities of BeanStorage
eliminate ViewProvider abstraction
instead let the session store maintain such hierarchy on its own
augment add direct parent refs in ui ctx refs
let all the sub-apps be part of the framework, expand by default on the base sub-app
add Destructible interface case support directly in bean store
in-build hierarchy support into the session store
add API for the reachable context references
bind/create stuff directly in the content detail sub-app
adapt tasks app
adapt notifications app



 Comments   
Comment by Roman Kovařík [ 12/Jun/19 ]

QA:

  • close handler is not bound to close action anymore
    • to reproduce, try to close the contact-v8 detail via close/commit action
  • property set factory is not bound when opening a dialog via open dialog action
    • to reproduce, trigger rename action in contacts-v8
  • opening detail throws an exception if external resource is not specified
    • to reproduce, open detail on contacts-v8
    • info.magnolia.ui.framework.datasource.impl.OptionDefinitionSelectFieldSupport#getIconGenerator
Comment by Aleksandr Pchelintcev [ 12/Jun/19 ]

> close handler is not bound to close action anymore

oof, that rings the bell (looks like I removed the handle for that when was tidying up the PR before pushing...)

> opening detail throws an exception if external resource is not specified

was also a last-minute handling of a long-standing TODO, will revert that part and extract a separate PR for the future

Generated at Mon Feb 12 09:22:12 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.