Versions Compared

Key

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

...

Use CaseOSGiConfMgrCSCwcm.io ConfConf V2

A) Configuration Hierarchy

     

A1) Global Configuration

(tick)(tick)(error)(tick)

Status
colourGreen
titlePrio 1

A2) Default values for global configurations(tick)(tick)(error)(tick)

Status
colourGreen
titlePrio 1

A3) Configuration levels based on content hierarchy(error)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

A4) Nesting of configuration levels with parameter inheritance

(error)(tick)(error)(tick)

Status
colourGreen
titlePrio 1

A5) Explicit linking of content with config hierarchy via property in content nodes(error)(tick)(error)(error)

Status
colourGreen
titlePrio 1

A6) Declarative linking of content with config hierarchy via configuration(error)(error)(error)(tick)

Status
colourGreen
titlePrio 1

A7) Declarative linking of content with config hierarchy via pluggable strategies(error)(error)(error)(tick)

Status
colourGreen
titlePrio 1

B) Describing configurations

     
B1) Bundles provide metadata which configuration parameters are available(tick)(error)(tick)(tick)

Status
colourGreen
titlePrio 1

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

Status
colourGreen
titlePrio 1

B3) Multi-valued parameter type (Array)(tick)(error)(tick)(tick)

Status
colourGreen
titlePrio 1

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

Status
colourYellow
titlePrio 2

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

Status
colourGreen
titlePrio 1

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

B8) Define parameters via typed annotation classes(tick)(error)(error)(error)

Status
colourGreen
titlePrio 1

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
colourYellow
titlePrio 2

C2) Access configurations via adaptTo()(error)(tick)(error)(tick)

Status
colourGreen
titlePrio 1

C3) Parameters are divided in groups/sections accessible individually(tick)(tick)(error)(error)

Status
colourGreen
titlePrio 1

C4) Support of nested parameter groups/deep hierarchies(error)(tick)(error)(error)

Status
colourYellow
titlePrio 2

C5) Support list of parameter groups (like OSGi factory configs)(tick)(tick)(error)(error)

Status
colourGreen
titlePrio 1

C6) Support merging of lists of parameter groups along with inheritance(error)(tick)(error)(error)

Status
colourYellow
titlePrio 2

C7) Access parameters as key/value maps (Map)(tick)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

C8) Access parameters as ValueMap with easy type conversion(error)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

C9) Access parameters via Resource wrapper(error)(tick)(tick)(error)(question)
C10) Access parameters via typed annotation classes(tick)(error)(error)(error)

Status
colourGreen
titlePrio 1

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

C13) Easy access to configuration parameters in OSGi services(tick)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

D) Storing configurations

     
D1) Store configuration in repository(tick)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

D2) Store configuration in hierarchies linked to content(error)(tick)(error)(tick)

Status
colourGreen
titlePrio 1

D3) Store configuration in folder separate from content like /conf(error)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

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

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

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

Status
colourGreen
titlePrio 1

E3) Provide web console plugin for inspecting configurations(tick)(tick)(error)(error)

Status
colourYellow
titlePrio 2

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

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

Status
colourGreen
titlePrio 1

F) Parameter overriding

     

F1) Allow overriding content-specific parameters via OSGi configuration

(error)(error)(error)(tick)

Status
colourGreen
titlePrio 1

F2) Allow overriding content-specific parameters via JVM system environment parameters(error)(error)(error)(tick)

Status
colourGreen
titlePrio 1

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)
H2) Support different configuration hierarchy/persistence strategies for different applications deployed in the same instance(error)(error)(error)(tick)(question)
H3) Placeholders within configuration values to reference other parameters(error)(error)(error)(error)(question)
H4) Multi tenancy-support(error)(tick)(tick)(tick)

Status
colourGreen
titlePrio 1

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

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