Enhancement #1600
Change configuration file format
0%
Description
Current configuration file format is too simple and too limited. I believe Orangutan configuration should be flexible and extendable. So change of configuration file format is needed.
What is the problem? There were an idea to allow changing weight of contexts using configuration file. With current format it would look like this:
contexts.weight = Issue:-10 contexts.request_weight = Issue:-10 contexts.response_weight = Issue:undef
This looks odd...
So the idea is to change to something like:
Context Issue { Weight { Request -10 Response undef } }
The current file will look like this:
Changelog Changelog DisplayName "%f %s" Admin user@localhost Manager user@localhost UsersDirectory Users UsersData Data ContextsDirectory Contexts MonkeysDirectory Monkeys Contexts { Policy Exclude Include Issue Include Task ... } Monkeys { RedMonkey redmonkey@localhost } Jabber { Hostname localhost Port 5222 ... } Context Issue { Field SomeField Value Option SomeOption Value } Include weights.conf
Note: The format is subject to change.
It would be also great if functions to access configuration values would look like this:
$main::config::Monkeys::RedMonkey;
Related issues
History
#1 Updated by Andriy Lesyuk almost 14 years ago
As a part of this issue default values should be implemented!.. That is if currently we do:
$main::config->Get('section', 'parameter');
In new version there should be supported an additional optional argument:
$main::config->Get('section', 'parameter', 'default_value');
Of course, the syntax will change etc...
#2 Updated by Andriy Lesyuk almost 14 years ago
- Category changed from Configuration to Core
#3 Updated by Andriy Lesyuk almost 14 years ago
- Target version set to 2.00
#4 Updated by Andriy Lesyuk almost 14 years ago
- Tracker changed from Improvement to Enhancement
#5 Updated by Andriy Lesyuk almost 14 years ago
Today one user (Sandeep) asked me how to specify MySQL socket file path... Currently it’s not possible! With new configuration it can be done like:
MySQL { Option mysql_socket <path> }
#6 Updated by Andriy Lesyuk over 13 years ago
New configuration file format can also be used for quick disabling/enabling contexts.
For example contexts can be virtually grouped:
Group TimeTracking { Issue Task ... }
Then just disabled:
Exclude TimeTracking