DConf: some observations

Simon Edwards simon at simonzone.com
Fri Apr 15 18:25:00 EEST 2005


On Thursday 14 April 2005 00:39, Philip Van Hoof wrote:
> On Wed, 2005-04-13 at 21:57 +0200, Simon Edwards wrote:
> 
> > I've been following this discussion this week and just wanted to make a 
couple 
> > of points that no one seems to have missed.
> 
> IMHO you are making a few very good points here. I wonder if you would
> like to put effort and time in investigating and making such a use-case?

I wasn't planning on getting into the config-framework business, but anyway 
I've had a go at making a list of the basic scenarios that a theoretical 
configuration management system/framework would be up against.

I've never worked in the role of system adminstrator, so I imagine that some 
people who are admins will want to add their own particular scenarios and 
problems that they face daily.

These scenarios below are not prescriptive, and should be considered "thought 
experiments" about what DConf may or may not do, aimed at provoking analysis 
and a better understanding of the whole "configuration" problem. Questions, 
feedback and extra scenarios are welcome. This is hardly a definitive list.

(I hope the style isn't _too_ informal ;-) )

---------------------------------------------------------------------------

In the School
=============

Charactors:

Alan – The system administrator for the school.  He manages a lab full of 
computers, the network, file servers, webservers and internet connection for 
the school.

Bobby – A student at the school.

Denis – Another student at the school, also the classroom menace.


1. "Common case"
Bobby is busy crusing the web and decides that the default fonts really should 
be bigger. He changes the font setting in his browser, finishes up his 
browsing session and quits his browser. The next day he starts his the 
browser up and the fonts settings are the same as how he left it. Bob is 
happy.


2. "Shared setting"
Bobby decides that he would like to use a different web browser as his 
default. He configures his filemanager program to open HTML files and links 
using DBrowse. Bobby then goes to his mail client, DMail, and clicks on a 
link in an email message. DMail opens the link using the same browser that 
was configured for the filemanager.

Issues & Comments:
* Are the semantics of the shared setting agreed on purely by the 
applications? Should DConf offer support to applications for doing this?


3. "Default configuration"
It is the start of the school year. Alan has choosen a set of system and 
application defaults that he likes and wants every new student to get as a 
default configuration. Alan has made computer accounts for the new students, 
including Bobby. Bobby goes to his first computer class, logs in and starts 
using the applications. Bobby's applications automatically use the default 
configuration that Alan has prepared.

Issues & Comments:
* When is the default configuration "set in place"? When the user's account is 
created? Or when the application is first started? Or does setting the 
default configuration overwrite everyone else's current configuration?

4. "Remote fix"
It is only one week into the school year. Denis and some other students have 
“broken” their browsers by playing with the network settings in the browser. 
Alan fixes the broken network settings for all of the students from the . 
Denis starts his browser up and finds that the it works again and that the 
network settings have been set to Alan's sane default values.

Issues & Comments:
* How do changes to a students configuration propagate from the system 
administrator to the student?
* Are the changes immediately seen by the student? Or does the student have to 
start and stop their applications? Or even log out and then log back in?

5. "Lockdown"
Denis has broken his browser again by playing with its networks settings. Alan 
fixes Denis' browser configuration. Alan is tired of fixing the students' 
network settings. He decides that the network settings may not be changed by 
students. Alan uses the software to lock down the network settings for all 
students. Now Denis can't alter his browser's network settings next time.

Issues & Comments:
* Should DConf handle “kiosk”-type functionality? Or is that beyond its scope? 
* Should DConf support “permissions” for each possible setting?
* Should changes to the users permissions w.r.t. a setting be broadcast to 
applications? (i.e. Should the network settings automatically “grey out” / 
becoming disabled as soon as Alan locks them down?)

6. "Software update"
It is the school break and Alan upgrades the software in the computer lab to 
the new version from version 3.5 to 4.0. This is quite a major upgrade of the 
software. 

Issues & Comments:
* How should mismatches of configuration version and software be managed?
* Should version 3.5 configurations be transformed to version 4.0?
* Should version 3.5 configurations simply be discarded and the default 4.0 
version used?
* What should happen if after trying 4.0 Alan decides to cancel the upgrade 
and go back to 3.5? Should the v3.5 configurations be restored instead of 
using any newer v4.0 configurations?


At home 
=======

Charactors:

Vincent – An advanced computer user. Runs Finux on his own computer at home 
and is his own system administrator.

7. "Borked software configuration"
Vincent is trying to get 3D acceleration working in X. Using an X 
configuration utility called Display-config, he selects the new experimental 
X driver, clicks on “OK”, logs out and restarts the X server. Things don't go 
well. X crashes and burns. Fortunately the script that starts X detects the 
failed X server and restores the currently broken X server configuration to 
the last good version. With a working X configuration in place, Vincent can 
now start X again and log in.

Issues & Comments:
* Should the DConf support some form of configuration versioning? Or should 
this be done entirely by applications?

8. "Direct intervention"
Vincent is having trouble getting the new X driver to work. It appears that 
the configuration program Display-config hasn't been updated to support the 
new driver. Vincent manually tweaks the configuration settings for the X 
server without using Display-config utility.

Issues & Comments:
* Should users be able to directly modify configuration settings without using 
a GUI or similar program?

9. "Export/import"
Vincent is still having trouble getting the X driver to work correctly. He 
decides to seek help on a web based forum. Vincent posts his X server 
configuration to the forum, hoping that someone can have a look at it and see 
what is wrong.

Issues & Comments:
* Should it be possible to export the configuration belonging to an 
application to a file?
* Should the exported configuration be human readable? If so, what should the 
format be?


cheers,

-- 
Simon Edwards             | Guarddog Firewall
simon at simonzone.com       | http://www.simonzone.com/software/
Nijmegen, The Netherlands | "ZooTV? You made the right choice."



More information about the xdg mailing list