DapperHomeUserBackup

Differences between revisions 33 and 34
Revision 33 as of 2005-11-04 20:59:14
Size: 6619
Editor: 243_220_103_66-WIFI_HOTSPOTS
Comment:
Revision 34 as of 2005-11-04 21:11:41
Size: 6157
Editor: 243_220_103_66-WIFI_HOTSPOTS
Comment:
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:

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.
 
Line 62: Line 57:
        * Large media will be excluded, unless the user can provide a storage media big enough for storing.         * Large media will be excluded, unless the user can provide a storage media big enough.
Line 75: Line 70:

The first trigger to launching the backup wizard, will be set as a default one week after the system has been installed. The notification will be delivered by the panel applet, after which the user will be offered to choose one of the following:
The first trigger to launching the backup wizard, will be set as a default of one week after the system has been installed. The notification will be delivered by the panel applet, after which the user will be offered to choose one of the following:

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's data and settings files, namely everything under $HOME with the exclusion of:

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

These are out of the scope of this specification:

  • 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 ?

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

The main program shall be assisted by a gnome-panel applet, that would be responsible for delivering backup alerts and will allow the user to respond to them by firing the main backup program. The main program should not assume too much about the user's knowledge or understanding of a backup process, and thus assumes that a user follows its instructions accurately, not leaving anything for chance.

As suggested by the mentioned use cases, main program will follow a very focused and limited backup policy:

  • We are going to backup only $HOME(s).
  • Only users that are allowed to sudo on the system, will be allowed to carry backups.
  • Large media will be excluded, unless the user can provide a storage media big enough.

Based on the available sotrage devices that a user has, we will suggest usage on the basis of how large a user's backup data grows.

User Interface

  • The user interface shall follow these guidelines:
    • Will be based of a Wizard form.
    • Will have integrated help documents, for each option.
    • Should provide consitent and accurate progress indication per each processing job.
    • Will allow the user to cancel a given operation, at any stage of the workflow.

The first trigger to launching the backup wizard, will be set as a default of one week after the system has been installed. The notification will be delivered by the panel applet, after which the user will be offered to choose one of the following:

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'.

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)