Linux Registry, not only the issues side
Havoc Pennington
hp at redhat.com
Sun Apr 18 17:46:30 BST 2004
On Sat, 2004-04-17 at 09:54, Avi Alkalay wrote:
> I still would like to see GConf's numbers. XML is different.
I don't know if gconf is faster or not, but it doesn't really make any
difference; the reason for gconf's existence is not speed. And
discussion of ORBit dependencies or whatever sort of misses the point
too, which is overall design. You could change the dependencies, or the
file format, or whatever details you want.
My impression of the Linux Registry is that it's designed with
systemwide config in mind and does not do what we need for desktop
config, and of course gconf has the reverse problem (and is specifically
documented as unsuitable for systemwide config).
If you really want to get traction on this problem here are my
suggestions:
First the two reasons gconfd is a service not just a library:
1. You need change notification. Suggest D-BUS for this.
2. You need locking and transactions, especially with one
file per key (even gconf's one file per "directory"
causes lack-of-transactions problems).
More suggestions:
3. http://www.gnome.org/projects/gconf/plans.html
4. Documentation/schemas for keys is nice.
5. There's an awful lot of desire to store config in LDAP.
A story on how/whether to do this is good.
6. In almost all cases a much bigger bang for the buck than
changing how configuration is done would be to eliminate
configuration entirely:
- autodetection and dynamic setup, e.g. of hardware
- ensure the configuration is done once per type
or role of system in an enterprise, not once per
physical system
It's also worth thinking about three kinds of data (from a desktop point
of view):
1. Preferences
2. Session state (open windows, their size, etc.)
3. Documents
Recently my view is that your calendar and your email are documents;
i.e. they should appear to the user as a file that can be moved around.
This is in contrast to how Evolution currently works and how the above
gconf web site suggests it should work.
For systemwide configuration, we add a fourth kind of data:
4. Systemwide configuration
A successful design I think has to have a story for all of these kinds
of data. Not all of them need to be handled in the same way.
For example, perhaps documents should use something like GNOME Storage
(http://www.gnome.org/~seth/storage/). Or perhaps everything should use
Storage, who knows.
A question I think you should ask is whether it's worth compromising the
design for early boot; you may be able to do much better in the 90% case
by leaving the 10% case to plain text files.
Havoc
More information about the kde-core-devel
mailing list