Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 
Use CaseOSGiConfMgrCSCwcm.io ConfSling ConfCAConfwcm.io Conf V2

A) Configuration Hierarchy

    

 





A1) Global Configuration

(tick)(tick)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


A2) Default values for global configurations(tick)(tick)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


A3) Configuration levels based on content hierarchy(error)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


A4) Nesting of configuration levels with parameter inheritance (object/resource-level)

(error)(tick)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


A5) Nesting of configuration levels with parameter inheritance (property-level)(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


A6) Explicit linking of content with config hierarchy via property in content nodes(error)(tick)(error)(error)
Status
colourGreen
titlePrio 1
 

(tick)


A7) Declarative linking of content with config hierarchy via configuration(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(error)


A8) Declarative linking of content with config hierarchy via pluggable strategies(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


B) Describing configurations

     

 





B1) Bundles provide metadata which configuration parameters are available(tick)(error)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


B2) Parameter definitions with Parameter Group, Name, Data Type and Default Value(tick)(error)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


B3) Multi-valued parameter type (Array)(tick)(error)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


B4) Map parameter type (Key/Value pairs)(error)(error)(error)(tick)

(question)

 

(error)


B5) Parameter metadata for Edit GUIs like labels, descriptions, list options(tick)(error)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


B6) i18n Support for parameter metadata for Edit GUIs(tick)(error)(tick)(tick)


Status
colourGreen
titlePrio 1

 



B7) Define lists of parameter groups (like OSGi factory configs)(tick)(error)(tick)(error)
Status
colourGreen
titlePrio 1
 

(tick)


B8) Define parameters via typed annotation classes(tick)(error)(error)(error)
Status
colourGreen
titlePrio 1
 

(tick)


B9) Distinction between technical/infrastructure and business/application parameters(error)(error)(error)(error)

Status
colourYellow
titlePrio 2

 

C) Reading configurations (API)

   

   





C1) Access configurations via dedicated service interface(tick)(tick)(tick)(error)
Status
colourGreen
titlePrio 1
 


(tick)



C2) Access configurations via adaptTo()(error)(tick)(error)(tick)
Status
colourGreen
titlePrio 1
 

(error)


C3) Parameters are divided in groups/sections accessible individually(tick)(tick)(error)(error)
Status
colourGreen
titlePrio 1
 

(tick)


C4) Support of nested parameter groups/deep hierarchies(error)(tick)(error)(error)
Status
colourYellow
titlePrio 2
 

(tick)


C5) Support list of parameter groups (like OSGi factory configs)(tick)(tick)(error)(error)
Status
colourGreen
titlePrio 1
 

(tick)


C6) Support merging of lists of parameter groups along with inheritance(error)(tick)(error)(error)
Status
colourYellow
titlePrio 2
 

(tick)


C7) Access parameters as key/value maps (Map)(tick)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


C8) Access parameters as ValueMap with easy type conversion(error)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


C9) Access parameters via Resource wrapper(error)(tick)(tick)(error)(question)(tick) 
C10) Access parameters via typed annotation classes(tick)(error)(error)(error)
Status
colourGreen
titlePrio 1
 

(tick)


C11) Direct access to configuration parameters in Sightly bindings(error)(error)(error)(tick)

Status
colourYellow
titlePrio 2

 


C12) Easy access to configuration parameters in Sling Models(error)(tick)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


C13) Easy access to configuration parameters in OSGi services(tick)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


C14) Support lowlevel access to other configuration-like resource structures beyond configuration parameter lists (e.g. workflow configurations)(error)(tick)(tick)(error)
Status
colourGreen
titlePrio 1
 

(tick)


D) Storing configurations

      







D1) Store configuration in repository(tick)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


D2) Store configuration in hierarchies linked to content(error)(tick)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


D3) Store configuration in folder separate from content like /conf(error)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


D4) Store configuration together with content in /content(error)(error)(error)(tick)

Status
colourGreen
titlePrio 1

 
D5) Pluggable storage strategies(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


D6) Store technical/infrastructure parameter on different location than business/application parameters(error)(error)(error)(error)

Status
colourYellow
titlePrio 2

 

E) Managing Configurations

      





E1) Provide configuration management API for reading and writing configuration(tick)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


E2) Provide GUI editor to edit configurations(tick)(error)(tick)(tick)

 (error)

Status
colourGreen
titlePrio 1

E3) Provide web console plugin for inspecting configurations(tick)(tick)(error)(error)
Status
colourYellow
titlePrio 2
 

(tick)


E4) Allow to lock parameter values on a certain configuration hierarchy level to disallow overriding it on deeper levels(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(error)


E5) Configuration change listener - notification when configuration changes(tick)(error)(error)(error)

Status
colourYellow
titlePrio 2

 


F) Parameter overriding

     

 





F1) Allow overriding content-specific parameters via OSGi configuration

(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


F2) Allow overriding content-specific parameters via JVM system environment parameters(error)(error)(error)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


F3) Allow overriding content-specific parameters via request header (activate only on test instances)(error)(error)(error)(tick)

Status
colourYellow
titlePrio 2

 


G) AEM-specific features

     

 





G1) Support storing configurations in cq:Page nodes due to support around this (versioning, replication etc.)(error)(tick)(tick)(tick)

 


Status
colourGreen
titlePrio 1

G2) Configuration editor integrated in AEM Touch UI(error)(error)(error)(tick)

 


Status
colourGreen
titlePrio 1

H) Advanced Features

  

    





H1) Switch configurations depending on Sling Run Modes(tick)(error)(error)(error)(question) (error)
H2) Support different configuration hierarchy/persistence strategies for different applications deployed in the same instance(error)(error)(error)(tick)(question)(error) 
H3) Placeholders within configuration values to reference other parameters(error)(error)(error)(error)(question)(error) 
H4) Multi tenancy-support(error)(tick)(tick)(tick)
Status
colourGreen
titlePrio 1
 

(tick)


H5) Multi tenancy-support with full isolation(error)(error)(error)(error)

Status
colourYellow
titlePrio 2

 
H6) Security: Easy protection of configuration via ACLs(tick)(tick)(tick)(tick)(error)
Status
colourGreen
titlePrio 1
 

(tick)


H7) Detect "AEM Site root" via configuration (most times the most-inner configuration scope)(error)(error)(error)(tick) 
(question)