SCB

Improve and simplify how configuration is stored, parsed and updated

Registered by Kyran Lange

The way configuration is currently done is difficult to understand and creates a lot of work when adding new features.
This has been a difficult area for some time, ideally it should be possible to add a feature without requiring editing of any other files.

Doing this is an area that needs thought. Some ideas:
* Have separate configuration files for each feature where each feature provides its own parser and updater
+ Features are fairly well contained and can be dropped in and out
+ Small configuration files
+ Good boundaries between feature and bot
- Lots of code will be repeated in each feature
- Difficult to package in a single package
- Each feature will need multiple files

* Change configuration from xml to property files
+ Well supported in java
+ Easy to write
- Not as nice or powerful as XML
- XML is used in everything and is good to know :P

* Get features to register with the central parser the different settings to load for that feature
+ Can have features with one file
+ Not much code repeating
- What happens if some features are turned off? The builder would lose all the settings - would need to rewrite it.
- Difficult to load features - the config already needs to be parsed to find out what features to load and the features usually have the settings initialised in the init() function, which wouldn't be possible as the feature needs to be initialised in order to register its settings... a problem that will need to be solved.

More...

Blueprint information

Status:
Not started
Approver:
Kyran Lange
Priority:
Medium
Drafter:
Kyran Lange
Direction:
Needs approval
Assignee:
Kyran Lange
Definition:
New
Series goal:
Accepted for 4.0
Implementation:
Unknown
Milestone target:
milestone icon 4.0-alpha3

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.