On Wed, 29 Mar 2006, Joe Desbonnet wrote:
Just fantasising here ... the ideal configuration system IMHO would
fulfil the following criteria:
1. For simple configurations it should reduce to a simple key-value
pair text file, except that parsing rules will be very well defined.
2. At the other end of the scale it should handle the most complex applications
3. An optional schema definition can define the schema of the file
4. That schema can optionally provide enough information to enable a
configuration file editor to automatically generate a UI to enable
someone who is not intimate with the application to make changes (help
text, widget hints etc)
5. I18N proof
6. Optional modification history and roll back facility. If the
modification was made programatically, the audit trail should record
what make the modification.
7. Always have the option to edit with a text editor (ie it should be
easy for a human to read it and edit it)
8. API bindings for common languages (C, C++, Python, Java, Perl, bash?)
Add to that list:
designed to to be minimal enough to be desirable for system
initialization, fstab, modules.conf etc..
A name space that is designed to account for and scale from fstab to web
And most importantly every key should be required to have at least a short
description that is I18N compatible.