[MonoDevelop] Feedback wanted: Settings and data storage locations

A.M. Abdelaziz amamh3 at gmail.com
Fri Jan 22 11:52:27 EST 2010

this is not a suggestion, just an idea that I once read about
what about storing UserPreferences in a single sqlite db file? I heard that
would be better than a lot of text files (if they are a lot)
u don't have to reply to my message, as I said I'm not trying to really
suggest something

On Fri, Jan 22, 2010 at 7:25 AM, Michael Hutchinson <
m.j.hutchinson at gmail.com> wrote:

> Hi all,
> I'm seeking feedback on a proposal to change the locations in which
> MonoDevelop stores data. This affects all users, so please have your
> say!
> Historically MonoDevelop has stored all data, cache, settings, etc. in
> a subdirectory of
> Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData).
> Typically on Linux/Mac this is /home/$USER/.config/MonoDevelop/ and on
> Windows Vista/7 it's C:\Users\$USER\AppData\Roaming\MonoDevelop\. The
> path has been accessible via PropertyService.ConfigPath, for addins to
> determine where to store their own data.
> There are a few problems here. Firstly, it's not clear to the user
> which data need to be backed up and which can be regenerated. It's not
> particularly well-structured if one ever needs to look in the
> directory and find things. On Windows, all data is in the roaming
> profile, which is inefficient with network logins. And on Mac, this
> doesn't match the standard ~/Library subdirectories for caches, prefs,
> etc.
> I therefore propose that we add more granular locations for different
> types of data. Since the migration will be a pain and we will have to
> review and set up migrations for all current uses, we may as well get
> it *right* first time so it only needs to be done once.
> * UserPreferencesPath: current preferences/settings
>  Lin: ~/.config/MonoDevelop/Preferences
>  Mac: ~/Library/Preferences/MonoDevelop/
>  Win: ~\AppData\Roaming\MonoDevelop\ Preferences
> * UserDataRoot: Root location for data files created or modifiable by
> the user, such as templates, snippets and color schemes.
>  Lin: ~/.config/MonoDevelop/
>  Mac: ~/Library/MonoDevelop/
>  Win: ~\AppData\Roaming\MonoDevelop\
> * UserCachePath: cached data that can be regenerated
>  Lin: ~/.share/local/MonoDevelop/Cache
>  Mac: ~/Library/Cache/MonoDevelop/
>  Win: ~\AppData\Local\MonoDevelop\Cache
> * UserLogsPath: MD log output and anything similar from addins
>  Lin: ~/.share/local/MonoDevelop/Logs
>  Mac: ~/Library/Logs/MonoDevelop/
>  Win: ~\AppData\Local\MonoDevelop\Logs
> * UserAddinsPath: addin registry and user-installed addins
>  Lin: ~/.share/local/MonoDevelop/Addins
>  Mac: ~/Library/Application Support/MonoDevelop/
>  Win: ~\AppData\Local\MonoDevelop\Addins
> In summary, the contents of UserPreferencesPath and UserDataRoot
> should be backed up.
> I also intend to add FileService.MigratePath (string
> oldRelativeConfigPath, string newFullPath, bool removeEmpty) call that
> can be used to migrate files and folders from an old path to a new
> path. This can be used to move files and directories to the new
> locations.
> There is also the question of whether some of these directories should
> be versioned so that multiple MD versions can be used in parallel on
> one user profile. I don't think it's worth the maintenance burden; in
> general we've only ever supported forward migrations properly. Perhaps
> we should have an error message if you try to run MD with too-new
> settings/data formats, or alter all the location properties to point
> to some dummy temp location so you can run the older version without
> corrupting your newer settings.
> You can see the current patch at http://monobin.com/__d215cffd5 if
> you're curious.
> --
> Michael Hutchinson
> http://mjhutchinson.com
> _______________________________________________
> Monodevelop-list mailing list
> Monodevelop-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-list

A.M. Abdelaziz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/monodevelop-list/attachments/20100122/fc1ac217/attachment.html 

More information about the Monodevelop-list mailing list