Context-Aware Config Editor: Control Collection and Property inheritance

Description

context-aware configuration supports config resource collection inheritance, and config resource property inheritance (which can be combined with config resource collection inheritance). both are not active by default, but have to be switched on explicitely for each config collection or config.

general handling for special properties:

  • whenever a property with name sling:configCollectionInherit or sling:configPropertyInherit is found, it should not be displaye in the GUI as configuration field.

  • collection properties should not be displayed at all, the current usage is only to contain the sling:configCollectionInherit property or nothing.

property inheritance:

  • for each configuration (singleton or item of a collection) a checkbox "Enable property inheritance" should be displayed

  • it is checked when a property sling:configPropertyInherit is present, and has the value true

  • when saving the configuration: if sling:configPropertyInherit is set, put it in the list of posted config values with value true. if not set, remove it from the list of posted config values.

collection inheritance:

  • if a config collection is displayed a checkbox "Enable collection inheritance" is additionally displayed

  • it is checked when a property sling:configCollectionInherit is present, and has the value true

  • when saving the configuration collection: if sling:configCollectionInherit is set, put it in the collection properties with value true. if not set, remove it from the collection properties.

examples:

(please use the lastest snapshot of sample app & content to reproduce the usecases with the URLs)

Assignee

Unassigned

Reporter

Stefan Seifert

Labels

None

Components

Priority

Major
Configure