Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

This table lists all use cases relevant for describing, storing, reading and managing configurations.

The columns "OSGi", "ConfMgr" and "wcm.io Conf" describe if the existing implementations already cover this use case.

Use Cases

Use CaseOSGiConfMgrwcm.io Conf

A) Configuration Hierarchy

   

A1) Global Configuration

(tick)(tick)(tick)
A2) Default values for global configurations(tick)(tick)(tick)
A3) Configuration levels based on content hierarchy(error)(tick)(tick)

A4) Nesting of configuration levels with parameter inheritance

(error)(tick)(tick)
A5) Explicit linking of content with config hierarchy via property in content nodes(error)(tick)(error)
A6) Declarative linking of content with config hierarchy via configuration(error)(error)(tick)
A7) Declarative linking of content with config hierarchy via pluggable strategies(error)(error)(tick)

B) Describing configurations

   
B1) Bundles provide metadata which configuration parameters are available(tick)(error)(tick)
B2) Parameter definitions with Parameter Group, Name, Data Type and Default Value(tick)(error)(tick)
B3) Multi-valued parameter type (Array)(tick)(error)(tick)
B4) Map parameter type (Key/Value pairs)(error)(error)(tick)
B5) Parameter metadata for Edit GUIs like labels, descriptions, list options(tick)(error)(tick)
B6) i18n Support for parameter metadata for Edit GUIs(tick)(error)(tick)
B7) Define lists of parameter groups (like OSGi factory configs)(tick)(error)(tick)
B8) Define parameters via typed annotation classes(tick)(error)(error)
B9) Distinction between technical/infrastructure and business/application parameters(error)(error)(error)

C) Reading configurations (API)

   
C1) Access configurations via dedicated service interface(tick)(tick)(error)
C2) Access configurations via adaptTo()(error)(tick)(tick)
C3) Parameters are divided in groups/sections accessible individually(tick)(tick)(error)
C4) Support of nested parameter groups/deep hierarchies(error)(tick)(error)
C5) Support list of parameter groups (like OSGi factory configs)(tick)(tick)(error)
C6) Support merging of lists of parameter groups along with inheritance(error)(tick)(error)
C7) Access parameters as key/value maps (Map)(tick)(tick)(tick)
C8) Access parameters as ValueMap with easy type conversion(error)(tick)(tick)
C9) Access parameters via Resource wrapper(error)(tick)(error)
C10) Access parameters via typed annotation classes(tick)(error)(error)
C11) Direct access to configuration parameters in Sightly bindings(error)(error)(tick)
C12) Easy access to configuration parameters in Sling Models(error)(tick)(tick)
C13) Easy access to configuration parameters in OSGi services(tick)(tick)(tick)

D) Storing configurations

   
D1) Store configuration in repository(tick)(tick)(tick)
D2) Store configuration in hierarchies linked to content(error)(tick)(tick)
D3) Store configuration in folder separate from content like /conf(error)(tick)(tick)
D4) Store configuration together with content in /content(error)(error)(tick)
D5) Pluggable storage strategies(error)(error)(tick)
D6) Store technical/infrastructure parameter on different location than business/application parameters(error)(error)(error)

E) Managing Configurations

   
E1) Provide configuration management API for reading and writing configuration(tick)(error)(tick)
E2) Provide GUI editor to edit configurations(tick)(error)(tick)
E3) Provide web console plugin for inspecting configurations(tick)(tick)(error)
E4) Allow to lock parameter values on a certain configuration hierarchy level to disallow overriding it on deeper levels(error)(error)(tick)

F) Parameter overriding

   

F1) Allow overriding content-specific parameters via OSGi configuration

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

G) AEM-specific features

   
G1) Support storing configurations in cq:Page nodes due to support around this (versioning, replication etc.)(error)(tick)(tick)
G2) Configuration editor integrated in AEM Touch UI(error)(error)(tick)

H) Advanced Features

   
H1) Switch configurations depending on Sling Run Modes(tick)(error)(error)
H2) Support different configuration hierarchy/persistence strategies for different applications deployed in the same instance(error)(error)(tick)
H3) Placeholders within configuration values to reference other parameters(error)(error)(error)
H4) Multi tenancy-support(error)(tick)(tick)
H5) Multi tenancy-support with full isolation(error)(error)(error)
H6) Security: Easy protection of configuration via ACLs(tick)(tick)(tick)(error)
  • No labels