[MGNLUI-4583] Migrate an example Assets app to new framework APIs Created: 15/Jun/18  Updated: 08/Mar/21  Resolved: 24/Sep/19

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

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Roman Kovařík
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 4h 23m
Time Spent: 7h 31m
Original Estimate: Not Specified

Issue Links:
Cloners
is cloned by MGNLUI-5345 Migrate JCR browser app to new framew... Closed
Issue split
split to MGNLUI-4650 Migrate an example non-JCR-backed con... Closed
dependency
depends upon MGNLUI-4584 Provide strategy of old app descripto... Closed
is depended upon by MGNLDAM-800 Migrate Assets app to new framework Closed
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: Migrate apps to new UI framework
Sprint: UI Framework 3, UI Framework 4, UI Framework 5, UI Framework 6
Story Points: 8

 Description   

With 6.0 we would want examples of app migrated to new APIs. Migrate one example of a JCR-backed app (Configuration app) to new API.

Acceptance criteria:

  • Migrate Assets app to new API.
  • consider moving away from generic JCR data binding to using the Assets API (would that render Assets Ext app obsolete?)
  • Functionality is preserved.
  • Resulting configuration is not more complex than it used to be. Simpler to understand and work with. 


 Comments   
Comment by Cedric Reichenbach [ 21/Sep/18 ]

If it's gonna be the contacts app: info.magnolia.ui.contentapp.temp.ContactPreviewComponent (in UI) should be moved to that one, once it's moved to the new framework.

Comment by Milan Divilek [ 23/Aug/19 ]

Reopen:

Issue 1

"Delete item" action doesn't work.

Caused by: javax.jcr.PathNotFoundException: info.magnolia.ui.datasource.jcr.JcrNodeWrapper

at org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2167) ~[jackrabbit-core-2.18.1.jar:2.18.1]

at org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2161) ~[jackrabbit-core-2.18.1.jar:2.18.1]

at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-core-2.18.1.jar:2.18.1]

at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) ~[jackrabbit-core-2.18.1.jar:2.18.1]

at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2161) ~[jackrabbit-core-2.18.1.jar:2.18.1]

at info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:204) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:151) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:204) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:151) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:204) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:151) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:204) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:151) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:204) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:151) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.commands.impl.MarkNodeAsDeletedCommand.execute(MarkNodeAsDeletedCommand.java:90) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.commands.CommandsManager.executeCommand(CommandsManager.java:257) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.commands.CommandsManager.executeCommand(CommandsManager.java:245) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.commands.CommandsManager.executeCommand(CommandsManager.java:225) ~[magnolia-core-6.2-SNAPSHOT.jar:?]

at info.magnolia.ui.contentapp.action.CommandAction.execute(CommandAction.java:76) ~[magnolia-ui-framework-6.2-SNAPSHOT.jar:?]

Issue 2

"Restore version" action doesn't work.

Caused by: java.lang.IllegalStateException: Duplicate key info.magnolia.ui.dialog.ActionButton@7d630d6d

at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133) ~[?:1.8.0_161]

at java.util.HashMap.merge(HashMap.java:1254) ~[?:1.8.0_161]

at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320) ~[?:1.8.0_161]

at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[?:1.8.0_161]

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_161]

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_161]

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_161]

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_161]

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_161]

at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_161]

at info.magnolia.ui.dialog.EditorActionBar.layout(EditorActionBar.java:90) ~[magnolia-ui-framework-6.2-SNAPSHOT.jar:?]

at info.magnolia.ui.dialog.actions.OpenDialogAction.execute(OpenDialogAction.java:118) ~[magnolia-ui-framework-6.2-SNAPSHOT.jar:?]

at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:62) ~[magnolia-ui-api-6.2-SNAPSHOT.jar:?]

... 131 more

Issue 3

"Publish" action doesn't refresh actionbar

Issue 4

Inconsistent behaviour when closing "view" and "edit" detail subapps. When "Close" and "Save" buttons are used then "JCR assets" subapp is focused, but when closing via "cross" button then "Assets" subapp is focused.

Issue 5

Media field allows upload new asset in "view" detail suabpp

Issue 6

"Cut" action deselects item, but action bar for "JCR asset" is still available (like asset would be selected). So actions like "Copy Item", "Duplicate Item", "Rename Item", etc. are still available. Some of them then fails with exception "java.lang.IllegalStateException: No item in value context" and some just do nothing...

Comment by Roman Kovařík [ 26/Aug/19 ]

Issue 4 seems to be caused by MGNLUI-4983. The solution there always returns to the first tab.

Comment by Milan Divilek [ 10/Sep/19 ]

Reopen: see https://jira.magnolia-cms.com/browse/MGNLDAM-800?focusedCommentId=196631&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-196631

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