[Tfug] GConf and it's ilk

Bexley Hall bexley401 at yahoo.com
Mon May 26 15:17:39 MST 2008


Hi,

I'm trying to come up with a consistent way to
configure applications/system.  Windows *tries*
to be consistent with its "registry" -- but, if
you really give it more than a casual glance,
you'll realize windows does things *very*
inconsistently.  Which sort of defeats the
purpose of the registry...

Of course, UN*X makes windows look *stellar* in
terms of consistency!  :<  About the only thing
consistent in how UN*X supports application/system
configuration is that all configuration stuff resides
*somewhere* in the file system in *some* form.

D'uh...

My main reason for doing this is to make it easier
for a user to configure an appication (or the
system itself).  Each configurable entity can
just export a form that presents all of the
configurable options and let the user make
adjustments at will.  (of course, the form isn't
static as it must enforce application-specific
semantics, etc. -- but, all of that becomes
visible to the user in a very obvious manner!)

But, it also has other merits:

It allows applications to examine the preferences
of each other to add value to the interfaces they
present.

It allows access to configuration data to be
controled in a more fine-grained manner (i.e.,
"you can change this but you can't change *that*").
This is especially useful when exporting that
data to other -- potentially hostile -- apps.

It allows an application to "record" (trying to
avoid using the word "register", here) its
interest in a set of parameters such that it
is notified of any changes to those parameters.
(e.g., an up-call back to the application)

It allows the entire "state" of the device to
be exported/imported to make RE-configuration
easier (i.e., you can restore ALL of your
settings -- or any portion thereof -- without
having to manually adjust lots of different
parameters potentially stored in lots of different
files, etc.)

The biggest down-side, IMO, to this is the
performance issue (space & time).  But, I think
I can afford both (I consider this a far better
use of resources than "pretty wallpaper" and
"animated icons"  :> ).

The other potential big issue is handling large
"items"... e.g., specifying what your wallpaper
would be (the file system is hidden from the user so
you can't just say: "/home/foo/mystuff/Picture.jpg".
Instead, you would have to pass the actual *picture*
itself! -- which I could opt to store in the file
system someplace convenient for *me* but hidden from
your eyes...).

Any other issues that have come up with people
using things like GConf?  Or, is it too "impure"
to fit my goals??

Thanks!
--don


      




More information about the tfug mailing list