Collections of Collections break the editor

Description

When you start exploring the possibilities of multi collection setups you start running into inconsistencies and errors.

e.g: say we have a footer configuration which has the option to create columns which in turn contain a bunch of links (pushing that one step further you could say that MenuLinkConfig contains another property for another hierarchical menu which again contains links)

Issue:

  • after adding the footer config for the first time it seems at some point of adding configs you need to reload the entire editor app to be able to add the next item - it sometimes seems to forget what exactly it's editing and usually misses the collectionItemName in between the path. e.g. /menu/links instead of /menu/menu1/links.

Note: strangely enough a reload of the entire editor seems to momentarily fix the issue - this seems to suggest it's somewhere in the angular app which loses its footing at some point

Activity

Show:
Stefan Seifert
March 21, 2019, 4:24 PM

first one general remark: i'm not sure if you are using the right tool for your requirements of defining a complex footer configuration using nested collections of collections. what you have modeled currently should work (if the problems in the editor are fixed) but once there are more requirements in customizing your footer, some more advanced customization like editing rich text, replacing logo images etc. you may get into trouble. maybe a better solution would be to create an experience fragment for the footer, and reference the path to the experience fragment via a single caconfig parameter.

leaving this general remark aside the editor should not break or throw errors if such a configuration is used.

i've created a branch with your sample code from above added to our "sample-app" which we are using to test the editor:
https://github.com/wcm-io/wcm-io-caconfig/tree/feature/WCON-60-collection-of-collections

with this it's possible to reproduce the problem, i quickly ran into "no context path detected" issues when clicking deeper into the hierarchy. i was not able at all to go to the deepest level - with or without reloading the editor - so i had not the exact same experience as you.

p.s. i'm not sure how fast we can fix the issue, PRs are always welcome...

Stefan Seifert
March 21, 2019, 8:51 PM

@david: can you play around a bit with the branch and the configuration "WCON-60 Footer Configuration"?
the first time i tried i was not able to get down to the third level at all.
no it's working, but e.g. on the third level i get always the same options for each "navigational menu" i select, although i've only added some links to the first one.

Bart Wulteputte
March 22, 2019, 8:43 AM

The experience fragment is actually an interesting suggestion. Thanks for that, it didn't make my initial list for some reason.

This issue was actually the most complex issue to try and explain. It's important to that there is a difference between first time adding (when there is no config instance under /conf yet) and reloading later on after that. Both produce errors but not necessarily in the same location - which makes it even more complex.

I also must plead guilty that my case was slightly different because I took the PagePersistence strategy and and updated the CollectionItemName implementation a bit. You still get into similar trouble, but yet slightly different.

David Ding
April 26, 2019, 8:22 PM

Fix committed to feature/WCON-60-collection-of-collections branch:

https://github.com/wcm-io/wcm-io-caconfig/commit/b66e5e5d22393124a3457d25bb193d4ecb47130c

Stefan Seifert
April 29, 2019, 2:01 PM

thanks - i've updated the changelog as well & merged the branch

Assignee

Unassigned

Reporter

Bart Wulteputte

Labels

None

Components

Affects versions

Priority

Major
Configure