* Add per-user master list * Archiving changes in location metadata * Fix race in lock handling and add timeout support (look in gnome-mime) * Support multiple backends from CLI * Add translateable backend description support * Some way to store the rollback time for each backend, for GUI purposes * Have defaults stored somewhere, to be restored when the user goes back before the first configuration edit Long-term * Add clustering support: - Add Cluster class inheriting Archive class and overriding path semantics - Change location rollback functionality to send data through to clients if the archive is a cluster * Allow backend specs to identify an order in which they should be applied - Specify this in the master list; have each location look up that information before invoking multiple backends Questions Done * Global list of configs for a given archive * Location should store backend data in the location where it is valid * Add support for dumping XML to stdout rather than running the backend * Fix bug where EOF not sent through pipe * Changing the name of a location * Adding per-user/global backends - Don't try to write out contains list on toplevel locations - Give error if the user tries to add a backend to a toplevel location * Consistency check on adding and removing backends - Make sure the backend is included in the global metadata list before adding - When removing global and per-user backends, mark the backend "invalid" and exclude from location_foreach_backend, location_rollback_all_to, and location_contains. * Refactor master list into an attribute of Archive * Roll back x number of steps rather than by date * Try to factor out populate_locations_list to be common between the different dialogs