Features/GConfRemoval

= Migrate from GConf to GSettings =

Summary
Port all packages on the desktop spin from GConf to GSettings

Owner

 * Name: Desktop SIG
 * Email: desktop@lists.fedoraproject.org

Current status

 * Targeted release: Fedora 17
 * Last updated: 2011-11-14
 * Percentage of completion: 25%

Many GNOME 3 modules are already ported to GSettings, but GConf is still getting pulled in.

The gnome-shell/mutter/metacity port has been merged upstream. The control-center/gnome-settings-daemon port too. The evolution/evolution-data-server porting is proceeding on a branch.

Detailed Description
The GSettings class provides a convenient API for storing and retrieving application settings, similar to GConf.

dconf is a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have configuration storage systems. dconf is the GSettings backend on Linux.

Benefit to Fedora
Configuring desktop applications and settings will be simpler, because there is only one place where the settings get store instead of two. We get to drop a number of deprecated modules (such as ORBit) which were getting pulled into the desktop spin via the GConf dependency.

Scope
We have to provide patches for all packages on the desktop spin that still depend on GConf. These patches should go upstream. See http://live.gnome.org/GnomeGoals/GSettingsMigration for upstream tracking of affected modules.

Big modules that still need tackling are:
 * evolution/evolution-data-server
 * gdm

The full list on the F16alpha live cd:
 * gnome-python2-gconf
 * gstreamer-plugins-good
 * libgweather
 * evolution-data-server
 * folks
 * libgnome-media-profiles
 * GConf2-gtk
 * at-spi
 * ibus
 * gnome-session
 * gdm
 * gnome-shell
 * evolution
 * evolution-NetworkManager
 * gnome-panel
 * gnome-panel-libs
 * rhythmbox
 * NetworkManager-gnome
 * NetworkManager-openconnect
 * pulseaudio-module-gconf
 * gok
 * gnome-utils
 * sound-juicer
 * gnome-terminal
 * nautilus-sendto

How To Test

 * 1) . Install the desktop spin
 * 2) . Verify that GConf is not in the package list.

User Experience
Mostly unchanged. One area where benefits might be visible is when using multiple parallel logins with a shared NFS home directory. This should work better in a dconf-only desktop.

Dependencies
TBD

Contingency Plan
If we don't succeed, GConf will continue to get pulled into the desktop spin by dependencies. Packages can be ported from GConf to GSettings one-by-one, though. There is no need to revert successfully ported packages.

Documentation
TBD

Release Notes
TBD

Comments and Discussion

 * See Talk:Features/GConfRemoval