DapperHomeUserBackup

Differences between revisions 29 and 30
Revision 29 as of 2005-11-04 00:08:40
Size: 6245
Editor: 209
Comment:
Revision 30 as of 2005-11-04 00:25:00
Size: 6106
Editor: 209
Comment:
Deletions are marked like this. Additions are marked like this.
Line 102: Line 102:
 * http://sucs.org/~davea/trac
 * http://minus-zero.org/misc/soc.html
Line 103: Line 105:
== BOF ==

 * Show a warning to non-sudo users if backups have not been scheduled for their accounts.
 * option to disable the complete feature if we're on big installations.
   this via configuration file

Summary

This specification discusses implementing a simple and concise backup solution for the non technical users. This application will be shipped with dapper, and be ready for use after installation. This application will make sure that a user either backs up his data, or otherwise is aware to the consequences that may arise if he does not.

Rationale

Providing an easy-to-use backup solution that's suitable for non-expert users is important. Expert users should install and/or use a more sophisticated backup system. Part of the rationale is to tell the user exactly what he has to do, rather then leave it for him to think up a backup schema.

Use Cases

  • John is a new Ubuntu user. He has been using his system for a week now, managed to sort everything out by means of getting his favorite theme set up and desktop behavior. He has also already got quite a few important email messages and some other bits of information currently stored on his Desktop. John however, is a new comer to Ubuntu and is not aware of the fact he has to do periodical backups. After using his machine for a week, a pop up dialog appears telling him "It's has been a week since you installed your computer. In order to be able to restore it back to the current state if data loss occurs, it's recommended that you do a backup. Would you like to do that now". Upon confirmation, he he asked to insert blank backup media and a backup is carried on.
  • Rob wants to refresh the backup set he had previously created. He opens the backup program, and is prompted to insert his old backup media if its rewriteable (multi-sesion CD), or blank media (CDR) if not. Then, the backup program scans for only that changes and additions to the Rob's personal file system ($HOME) and backs up only the things that have changed.
  • Marilize is a concerned Ubuntu user. Using her machine for 3 days now, she wishes to backup her data in order to be able to restore it in case it will go bad. She goes to "System" --> "Administration" --> "Backup Now". She is then instructed to insert CD media for storing the data backup.

Scope

This specification covers only backing up one or more user data and settings, namely everything under $HOME with the exclusion of:

  • Audio files
  • Video files
  • Content that should not be backed up. (.gnupg and other sensitive settings)

This will *NOT* handle:

  • Data mirroring.
  • Doing backup against non local media. (i.e. network, nfs, sftp etc..)
  • Multi volume backups. (could be considered for the next version of this spec)
  • Encryption. (ditto)

UI

IanJackson: Can we please have whole sentences everywhere ? Running prose ? Organised content ?

First trigger for launching the backup system: at install+1 week, pop up a notification (much like update manager) which prompts the user about backups. When selected, the user gets a wizard where the first options are:

  • Never bother me again
  • I want daily/weekly/monthly backups
  • Postpone decision

If the user asks for backups, we check for available hardware and ask the user to choose. Pick a default based on the available hardware, usually CDRW or USB removeable. If there is no suitable hardware, tell the user about suitable options (help page with USB / CDRW / whatever choices)

Then, every selected interval, bother user again to actually make the backup. Options include:

  • `yes, back up now'.
  • `nag me later'.
  • `no, skip this backup, nothing important has changed'.

At all points the system will be in charge; it will plan the backup schedule and tell the user what media to insert and what to label the media and so forth. No assumption are made about user's knowledge.

If the data doesn't fit: First, try excluding media content; if that would work, prompt user that we will do this and ask them to buy bigger media (eg, removeable USB hard drive or writeable DVD); failing that, say we can't do a backup.

Menu options in various menus:

  • System / Administration / Configure backup - reruns the wizard
  • System / Administration / Backup now
  • System / Administration / Restore from a backup

Autorun: If the user just inserts a backup disk, ask whether to do an incremental backup or to restore data.

Design

IanJackson: this section is not a design, its a series of bullet points.

  • Backup applet: Small panel applet responsible for presenting alerts to the user based on data collected from the backend.
  • Backup Policy:
    • Focused : Only backup $HOME(s).
    • Permissions: Allow only sudo enabled user to do a backup.
    • Exclude problematic content by means of storage space and/or sensitivity:
      • Audio files.
      • Visual files.
      • GPG signature; alert user that this will not backed up, and should be stored safely not part of the backup. IanJackson: Am I the only person who thinks that excluding the most critical files from the backup is a very bad idea ?

  • Media handling: Suggest media for backup based on sotrage device detection.
  • UI:
    • Wizard based UI, less is more.
    • Integrate enough help per each option.
    • Provide consitent and accurate progress indication per each processing job.
    • Allow for declining operation and break in the middle.

Implementation

  • No intention to write an incremental backup solution; use $COMMAND_LINE_TOOL instead as a backend:
  • Wizard process shall menifest in a suggested invocation command line for that command line tool.
  • Pass command line to $COMMAND_LINE_TOOL, grep from progress from stdio and represent in the UI.

Code

Data preservation and migration

Not applicable to this project.

References

DapperHomeUserBackup (last edited 2008-08-06 16:37:51 by localhost)