Features of a new YaST2 module (DRAFT version)
----------------------------------------------

Name: Restore module

Purpose: Restore system from backup created by Backup module


TODO: Decide which features will be present in pers./prof./enterprise product.
      Possible extended features are marked with text '(*)'.
      

Features, workflow overview:

    * Restore setup: Selection of backup archive,
      Restore options (in separate subdialog):

	- Run lilo (default yes - required if lilo.conf or kernel was changed,
	  in other cases it should not harm)
			
	- Update RPM DB (default no - whether /var/lib/rpm/* files
	  can be restored from backup)

    * Display information stored in backup archive (date, user comment, ...)

    * Do package restoration: backup archive contains list of installed
      packages at backup time, ask user which packages should be
      installed/uninstalled.

      Yast2 client sw_single allows to specify packages to (un)install in a
      file, user can change preselcted packages manually. But in sw_single
      module is not possible to see list of packages that will be
      (un)installed. Should be displayed selection dialogs with list of
      packages before starting sw_single, or should be sw_single extended
      to allow such queries?

      Problem: if package was not installed from CD (e.g. update from FTP,
      package from other source) before making backup, it can't be easy
      restored. In this case display all packages which are not on CDs and ask
      user to enter path from which they can be installed/updated. (*)
      
      (Could be new 'splitted installation media' feature of package
      installation used for this task? Will be possible to install packages
      that are not included in distribution?)

    * User selects which packages/files will be restored from backup -
      preselect packages which are currently installed, if user selects package
      which is not installed display warning.
      
      UI proposal:

	- Table with packages which can be restored, at first column will be
	  mark whether package will be fully restored, partialy restored or not
	  restored. There will be displayed other information in the table:
	  number of selected files("x of X"), package name and short package
	  description.	  
      
	- Button 'Files' shows detailed list of files - user can select which
	  files will be restored. This allows to restore package partially.
	  (This feature will be included only in professional edition.)

    * Unpack files from the archive

    * Start required actions (lilo)

    * Display summary of restoration process and recommend system reboot (to
      activate changes)


Integration with autoinstallation:

    * Backup module will write autoinstall XML configuratin file. This file
      will be used for easy system reinstallation after crash, it will contain
      special backup tag (probably with archive file name).

      Most important data in XML file is partitioning, less importatnt is
      package selection (missing packages can be installed later at
      restoration, but it is better to install them at one step). Other
      settings (users, sysconfig, ...) will be restored from files stored in
      backup archive.

    * If autoinstallation finds backup tag in config file it starts restore
      module at the end of installation.

