[Evolution-hackers] User directory layout for 2.0



Here are my thoughts on how to organize Evolution's data in 2.0.

First of all, we need to move the root directory to a hidden place; 
so instead of storing everything under ~/evolution we should store
everything under ~/.evolution.  (Yeah, finally. :-))

While we are at it, we could clean up the structure a little bit;
there are a bunch of files that are currently in the toplevel
~/evolution but should probaly go into component-specific directories
instead.  (Since we need to touch all the paths in the code anyways,
it's not going to be much extra work.)

We could have something like this:

	$HOME
		.evolution
			shell
			mail
				local
				config
					filters.xml
					vfolders.xml
					meta
				cache
					http
					imap
					pop
				views
				signatures
				certs
			calendar
				local
				config
				cache
				views
			addressbook
				local
				config
				cache
				views

This should be pretty straightforward.  The meaning of the
subdirectories under mail/calendar/addressbook would be the following:

	- local : The locally stored data for that component.
          E.g. local calendars, local mail, local addressbooks etc.

	- config : All the non-GConf configuration files.  For
          example, vfolders.xml and filters.xml in the mailer.  [These
          should probably be in GConf at some point maybe though?]

	- cache : Cached data for the networked backends.  E.g. the
          IMAP cache would go there, the local copy of webcal
          calendars would go there, and so on.

	- views : The GalView configuration information (currently in
          ~/evolution/views/{mail,addressbook,calendar,tasks}).

The extra directories in mail/ have the following meanings:

	- config/meta : The folder-specific configuration (e.g. thread
          status, sorting, etc., currently in ~/evolution/meta).

	- cache/http : The HTTP cache (currently in
          ~/evolution/cache/http).

	- cache/imap : The IMAP cache (currently in
          ~/evolution/mail/imap)

	- cache/pop : The POP cache (currently in
          ~/evolution/mail/pop3)

	- signatures : The signatures (currently in
          ~/evolution/signatures).

	- certs : The Camel certificates (currently in ~/evolution)

We should also drop the default_user directory altogether, and let the
components do their own initialization the first time they are
started.  The current mechanism is painful to maintain and just plain
ugly...

Thoughts?

-- Ettore



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]