Versions Compared

Key

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

...

Note, this concept is about the implementation of creating configuration via a file, whereas the format of the files is concepted here:Concept - Readable config filesConfig By X - File format discussions

Purpose

Goals

Developers like working with files and have a lot of familiarity with tools and workflows there. It would be a benefit if configuration could be worked on the same as resources, templates and code.

In the ConfigByX document we explore the benefits of a "Volatile Configuration" over bootstraps that persist configuration to the repo. ConfigByFile is how non-java developers can take advantage of this. It also has the benefit of a clean heirarchical hierarchical format.

Analysis

Why does a developer might some developers prefer to work on resources and templates as files (in an ide IDE or nice text editor) rather then in adminCentral? 

 AdminCentralIn files
 Easy to find
Everything in context 
Anyone can access and change running instance 

Multiple files at a time
Keyboard shortcuts 
Excellent and familiar UI of desktop IDE 

Proposal

Requirements

  • Have a Config Files must have clean, human readable syntax (Not JCR “system view”) Maybe xml like "JCR document view", json, ...
  • Configuration in files are "applied" at every system start and ideally every time a file changes via observation.
  • AdminCentral can export this file format from existing JCR or "active configuration".
    • The format has to come with a schema so we can e.g. offer autosuggest in editors
  • Configuration changes are considered without restart of the system

Implementation

  • Note: We'll have to implement BeanBuilders for the chosen format
    • Node2Bean might be reused to some extend
  • ...