DapperHomeUserBackup

Differences between revisions 56 and 57
Revision 56 as of 2005-11-05 17:41:00
Size: 14359
Editor: 243_220_103_66-WIFI_HOTSPOTS
Comment:
Revision 57 as of 2005-11-05 17:52:06
Size: 14942
Editor: 243_220_103_66-WIFI_HOTSPOTS
Comment:
Deletions are marked like this. Additions are marked like this.
Line 140: Line 140:
(window 4)
Line 153: Line 155:

 * Window 4; Window content will be: "I have successfully restored your data, plesae take the CD out from the drive, and put it back to your backup set, so it could be easily found next time you need it."
Line 173: Line 174:
This dialog, as well as the target device selection dialog could be also accessed from the System -> Administration -> Configure backup , which will fire up the configuration wizard that provides and easy way to set up any of the required details for the backup system:



The other functionalities offered by Ubuntu Personal Backup will be available through those menu items:
A similar dialog, as well as the target device selection dialog and an additional verification functionality will available from the System -> Administration -> Backup Configuration. This option will fire up the backup system's configuration and maintainace utility allowing the user to do several things:
{{{
+-----------------------------------------------------------------------+
| Welcome to Ubuntu Personal Backup wizard |
| |
| Plesae choose one of the following:
|
| [ ] Configure notification interval for doing backups.
| [ ] Choose a media device for backup and restoration procedures.
| [ ] Verify exisitng backup data.

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 is 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 Rob's home directory and backs up only the files 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. After confirming that she has inserted a CD into the drive, all her personal data is backed up against it. When finished a pop up dialog instructs here "Please take out the CD, and label it 'Ubuntu Personal Backup data, dated 10-10-2006, 06:00am'".

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)

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 one user or more home directories.
  • 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.

We will suggest to the user to use either one of his available media devices as a backup target.

Please note, that since this is essentially a user interface problem, most of my design will be around the UI elements and workflow we need to have for integrating such a solution into Ubuntu desktop.

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, which after clicking the applet notification ballon will open a dialog allowing the user to choose among the following options:

  +----------------------------------------------------------+
  | [X] Perform backup now. (Recommended)                    |
  | [ ] Remind me later.                                     |
  | [ ] Don't bother me again, I do not care about backups*  |
  |----------------------------------------------------------|
  |* This will leave you in a non recoverable state should   |
  |  your data be lost.                                      |
  |  It is highly recommended that you do continue with the  |
  |  backup.                                                 |
  +----------------------------------------------------------+

If the user chooses to not care about backups, a dialog will pop up asking him to confirm that he knows what he is doing. If he choses to perform the backup, the Ubuntu Personal Backup wizard will be fired up to continue backup proccess in detail. If the user chooses to be reminded later, we will set another 3 days as a default interval before the panel applet will remind him again to do the backup.

Main Workflow

When invoked (either by responding to an applet notification, or by the user itself), the program will detect for available media devices, if no media devices are detected, a proper message shall follow:

(window 1)

  +-----------------------------------------------------------------------------------------------------------------------+
  | No suitable backup devices were found.                                                                                |
  |                                                                                                                       |
  | I couldn't detect any suitable media devices that can be used for backups.                                            |
  | In order to be able to do backups, please consider installing a rewrite CD drive, or better get an external USB       |
  | hard drive. Do note that although CDRW is relatively cheap, an external hard drive will hold much more data and will  |
  | enable you to backup your media files if you have any.  After installing, rerun Ubuntu Personal Backup.               |
  |                                               [Quit and get some media devices]                                       |
  +-----------------------------------------------------------------------------------------------------------------------+

If media devices were detected, we will offer the user to use the one which can store the biggest volume of data:

(window 2)

  +--------------------------------------------------------------+
  | Where would you like backup data to be stored?               |
  |                                                              |
  | [X] USB External Hard Drive. (Recommended)                   |
  | [ ] CD rewriteable drive.                                    |
  | [ ] USB Key.                                                 |
  |                                                              |
  +--------------------------------------------------------------+

If the user chooses a backup media, another last dialog will appear for him to confirm to continue with backup process. On confirmation, a new dialog window will be presented, indicating progress as well as allowing the user the interrupt the proccess at any given point:

(window 3)

  +-----------------------------------------------------------------------------------------------------------------------+
  | Backup in progress. Depending on the media choosen, and the size of data that needs to be backed up this can take     |
  |  from a couple of minutes to several hours. You can also choose to stop the backup process if you wish.               |
  |                                                                                                                       |
  |                                                                                                                       |
  |                  +--------------------------------------------------------------------------+                         |
  |                  |                                                                          |                         |
  |                  |                                                                          |                         |
  |                  |      [DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD=====================]    |                         |
  |                  |                                  66% Done.                               |                         |
  |                  |                                                                          |                         |
  |                  |           Processing file: /home/sivan/devel/hello_world.py                                                                                                              
  |                  |                                [ Interrupt ]                             |                         |
  |                  +--------------------------------------------------------------------------+                         |
  |                                                                                                                       |
  +-----------------------------------------------------------------------------------------------------------------------+

After finishing the backup, a final pop up window will come, asking to use to label the backup media with current date and time, to be used when restoration is carried out:

(window 4)

+---------------------------[Please follow instruction below]--------------------------+
| Backup process has finished succesfully. Please take the CD it and put a label on it |
| that says: "Ubuntu Personal Backup set #2, created on the 10-10-2006, at 06:00am".   |
|                                                                                      |
|                             [OK - I've done that, let's finish]                      |
+--------------------------------------------------------------------------------------+

NOTE: Windows 1 through 4 also represent a restoration workflow, given these changes:

  • Window 1; In case a restoration action was requested but no media devices were detected.
  • Window 2; Heading should be: "Please choose the media your saved your backup data in:"
  • Window 3; Instructional test and header would be: "I am currently restoring your data. Depending on the media choosen, and the size of data that needs to be restored up this can take from several minutes to several hours. You can also choose to stop the restoration process if you wish, but do note that this will leave your data in a non persistant state and can cause problems afterwards."
  • Window 4; Window content will be: "I have successfully restored your data, plesae take the CD out from the drive, and put it back to your backup set, so it could be easily found next time you need it."

At this point , if the user hasn't yet set up a backup interval, the program will ask him to do so:

+---------------------------------------------------------------------------------+
| You haven't set up time to be reminded to do periodical backups, Please specify |
| your preferred interval:                                                        |
|                                                                                 |
| [X] Daily. (provides the best recoverability)                                   |
| [ ] Weekly                                                                      |
| [ ] Bi Weekly                                                                   |
| [ ] Monthly                                                                     |
|                                                                                 |
|                             [OK]       [Cancel]                                 |
+---------------------------------------------------------------------------------|

A similar dialog, as well as the target device selection dialog and an additional verification functionality will available from the System -> Administration -> Backup Configuration. This option will fire up the backup system's configuration and maintainace utility allowing the user to do several things:

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