Jacob Peddicord

[ main ] [ blog ] [ archives ] [ contact ]

Another project: Mound Data Manager

| 14 Comments

In the trend of short, quick applications comes Mound Data Manager. If you've ever swapped out profiles for applications or wanted to snapshot them, this is your new friend.

mound-firefox-running.png

Mound will try to find applications it is able to manage on your system. Any application that appears can have snapshots taken of its data and have data deleted, among other tricks.

In addition to plenty of sanity and safety checks, snapshots are taken and restored using tar, so your data should be just as safe as its always been.

mound-htop-snapshots.png

As an example, I took a snapshot of Htop above, which manages only my local .htoprc. I then was able to mess around with some Htop settings and take another snapshot. These two snapshots can now be used to either restore default settings, or my custom ones. (Another quick way to restore defaults is to simply delete the data, which is available on the Application menu.)

In the future it will be possible to export these snapshots for use on other systems. They are stored as plain tar.gz archives currently, so you can do so already yourself, but there are no checks to make sure the data is valid yet.

mound-details-empathy.png

Mound works by reading through your installed applications. Inside each application it will attempt to look for an X-UserData line inside the desktop entry, and if found, makes the application visible in Mound for managing. If one is not found, it will search through /etc/userdata (supplied) in attempt to find a default to show.

A UserData line in the desktop entry or in /etc/userdata tells Mound what files are available to manage. See a line for Empathy as an example:

empathy $CONFIG/Empathy;~/.gnome2/Empathy

$CONFIG is a shortcut for ~/.config using XDG directories. (Others are available, such as $CACHE and $DATA.) The two directories there are then scanned by Mound, and then the user is able to take snapshots of this data, delete the data, and revert older snapshots in place.

The shipped userdata defaults file currently only has support for 36 applications (those that are currently installed on my system). Give Mound a try, and if you see some applications that aren't listed that should be, be sure to let me know.

There are two ways to allow your application to be managed:

  1. Add an X-UserData line to your application's shipped desktop entry, with a value of a semicolon-separated list of files/directories to manage.
  2. Add a default line in /etc/userdata by contacting me or by making a merge request in Launchpad with your changes. No packaging changes required on your end.

I understand that most people will pick the second option -- this is perfectly acceptable, especially since this stuff is completely new. :)

And finally, the download links:

Download, give it a try, and let me know what you like and what you don't. Enjoy.

14 Comments

Nice nice nice!

Is the X-UserData key completely your idea? It is not bad. I wonder if the custom key needs a namespace as well.

And what about:

X-UserData X-UserConfig (X-UserCache?)

1) Mound can tell if the application has a cache and offer to clean it 2) Mound can snapshot config and allow you to launch a clean config, while still keeping your user data. Data/config separation you know.

Is it just me or does the Jaunty PPA package not work, it tells me:

Dependency not satisfiable: python-support (>=0.90.0)

Could you modify the ppa package? (BTW Mound looks like a great utility :-] )

on jaunty with 0.2 ppa2

~$ mound-data-manager Traceback (most recent call last): File "/usr/bin/mound-data-manager", line 25, in ui = MainUI(m) File "/var/lib/python-support/python2.6/Mound/ui/init.py", line 63, in init self.detailsui = DetailsUI(moundinst, self.builder) File "/var/lib/python-support/python2.6/Mound/ui/details.py", line 49, in init self.lblappinformation.connect('activate-link', self.opensnapshotsexternal) TypeError: : unknown signal name: activate-link

Great! I have wanted something like X-UserData for ages now. So much potential for keeping things tidy and easy for people. Let's hope it catches on :)

Looks cool, please upload to Debian!

Great idea about X-UserData! How about filing a bug report in Ubuntu / Debian for its inclusion and standardization? :)

A lot of backup and other-operating-system-conversion applications could benefit too!!

Yes, X-UserData has potential.

Two suggestions: iceweasel support (exactly same as firefox)

It does not seem to read applications in XDGDATAHOME/applications, where you can "install your own", tweak or install for only one user. Perhaps it could read all of XDGDATADIRS.

kupfer will support this in the next version, I might as well ship it in the desktop file. http://kaizer.se/wiki/kupfer/

What a lovely idea for a tool. It would be nice if I could have mound dump out in my Ubuntu One (or indeed Dropbox) folder :)

Would be good for migrating settings from one machine to another, especially for testing and bug finding.

I guess I could use symlinks, but it would be "neater" to do it direct.

Leave a comment





Feed identi.ca Twitter LinkedIn Launchpad OpenID