Visual indication of configuration inheritance state in overview (was: Make Configuration Copy Optional while creating a CAC Page)

Description

Currently when we create a configuration using the CAC editor template, it by default brings all the configurations from parent level. Some of which are not required sometimes and can be edited by the editor by breaking the inheritance and can cause problems.

Use case:
There are header/footer configurations at the language root level and also a navigation configuration. Now the header/footer config has to remain same across the website but navigation can be different on product page, article detail page, article landing page and rest of the website. By using the CAC editor, we can configure all three of the above mentioned configurations at the language root level and make them inheritable. And for product, article pages, we can break the inheritance for Navigation. But in this case when we create the CAC page, at the product page level for example, by default other two configurations will be shown to the editor which are inherited always and not needed to be shown here.

My idea is to have checkboxes in the Advanced tab while page creation and editor can select the CACs he wants to edit for that particular page and corresponding child pages. And the remaining configs can still work the way they work with inheritance.

Activity

Show:
Stefan Seifert
May 15, 2019, 9:12 PM

the tooltip display issue is fixed.
i changed the icon labels to something that is more clear (in my view).

David Ding
May 15, 2019, 7:17 PM
Edited

i was not able to see the tooltip because they are all displayed on the right side of the icon in the last column - and thus are displayed out of the screen. do we have control on which side the tooltips are shown? if not we should perhaps put the icon column on the left side.

I fixed this here: https://github.com/wcm-io/wcm-io-caconfig/commit/ab162b233e37cc78c395fbdd4a931e916f7e154b

For some reason, in AEM 6.2, it worked fine - even though the tooltip was on the "wrong" side, it took the edge of the viewport into account and moved it.

the description for the broken link may be confusing: e.g. "This configuration is not inherited"

Yes, I found it difficult to capture what inherited: false really means for a configuration, in language.

How about "This configuration is not inherited as a whole, but it may contain inherited properties."
Or something like that?

Stefan Seifert
May 15, 2019, 2:36 PM

i've tested the branch:

  • i was not able to see the tooltip because they are all displayed on the right side of the icon in the last column - and thus are displayed out of the screen. do we have control on which side the tooltips are shown? if not we should perhaps put the icon column on the left side.

  • the description for the broken link may be confusing: e.g. "This configuration is not inherited" - but when you open it you see that it's mixed, some parameters are inherited and some not.
    example: the first one in this list: http://localhost:4502/content/contextaware-config-sample/en/sub-page/config.html
    we kann keep the icon, but should change the label

David Ding
May 15, 2019, 11:23 AM

Icons now in right column with tooltips added: https://github.com/wcm-io/wcm-io-caconfig/pull/28

Stefan Seifert
May 7, 2019, 2:27 PM

i like the idea of an additional icon column - especially if accompanied with a proper tooltip text explaining the icon.

in my pov the lockOn suits better for the overridden usecase than the exclude icon.

attaches is an example of the AEM page properties dialog when using MSM and inheritance of properties:

this is a comparable usecase. proposals following this use case:

  • but the icons on the right side

  • perhaps use link/unlink icons for showing inherited/inheritance broken state

we may think about using the link/unlinks symbols also in the config edit detail page when single properties are overwritten, so it is as similar as possible to the page properties dialog example.

Fixed

Assignee

Unassigned

Reporter

Om Pandey

Labels

None

Components

Priority

Minor