<h1 align="center">Bat User's Guide</h1>
<br>
-<h4>The Two Restore Interfaces</h4>
+<h3>The Two Restore Interfaces</h3>
-<p>Both restore interfaces will select jobs to restore from, give the user the
+<p>Both restore interfaces accomplish the same 3 steps in different ways.
+Those steps are to select jobs to restore from, give the user the
opportunity to select files and directories and then run the restore job.
-<p>The first or Standard restore is intended as a high performance restore. It
-is more of a server side interaction to perform the steps. The Opening interface
-will allow the user to choose selection criterion to determine the job set used.
-The second interface will allow the user to browse the file structure and choose
-the files and directories to restore. The third will run the job.
-
-<p>The second restore option is the Version Browser. It is a chatty interface
-which will perform many sql queries of the server. It is NOT intended to perfrom
-major large sized restores. It is intended to allow the user to search for
-specific files and see the different versions of those files that are available
-in the catalog to restore. Selecting jobs is done with 3 drop downs in the
-lower splitter pane. The top splitter pane has a vertical splitter with 4
-widgets. One for viewing and further subselecting of jobs, one for viewing the
-directory tree, one for viewing the list of files in a selected directory and
-one for viewing a list of different versions of the selected files that have
-records in the catalog. The user can select a directory which will select all
-the files and subdirectories. The user can unselect a file in a selected
-directory and also select a file in an unselected directory. Lastly the user
-can choose to restore a specific version of a file and override the default which
-is to restore the most recent version.
+<h2>The Standard Restore Interface</h2>
+
+<p>Start the standard restore procedure by either pressing the restore button
+in the task bar. There are also two options in the joblist context sensitive
+menu to start a restore. They are restore from time or restore from job.
+
+<p>This interface is intended as a high performance restore option.
+It is a server side interaction to perform the steps by utilizing the
+text based restore capabilities of bacula. It interprets interactions with the
+server and displays a graphical front end for the user.
+
+<p>The Opening interface will allow the user to choose selection criterion to
+inform the server how to determine the set of backup job ids to use in the
+restore. This best possible set will be the most recent full backup, the most
+recent differential backup done since the most recent full, and all the
+incremental backups done since the most recent full or differential. Then the
+server will use this set of jobs to create a filestructure that will be the
+most recent version of each file found in this job list.
+
+<p>After the select box OK button has been pushed, a limitation in bat will
+occur that will be resolved in future. The restore process will take control
+of the connection to the server and will not allow any other communication to
+the server by any other interface.
+
+<p>The second interface will allow the user to browse this file structure and
+choose the files and directories to restore. This will be done in an explorer
+type interface with a directory tree on the left. In the right pane of a
+splitter will be a table showing a list of files and directories that are the
+contents of the directory selected in the left pane. The user can mark and
+unmark either with the buttons on the top or by double clicking on the check
+mark icon to toggle whether an item is selected or not. Double clicking an
+item which is a directory on a part of the table which is not the check icon
+will open that directory. Clicking on OK will complete the selection process.
+
+<p>The third step is a drop down interface that appears to be similar to the
+first but is different. It is the Restore Run interface and will run the job
+after allowing the user to inform the bacula server details of what host and
+where to restore the files to.
+
+<h2>The Version Browser Restore Interface</h2>
+
+<p>The Version Browser restore option does not have the same connection
+limitations as the standard restore during the file and directory selection
+process. The user can have an unlimited number of selection windows open at a
+time for viewing the cataloged jobs, directories, files and versions.
+
+<p>This restore interface is NOT intended to perfrom major restores of directory
+structures with large numbers of directories and files. It should work, however
+it is a chatty interface and will perform a number of sql queries of the server
+proportional to the number of files and directories selected and the number of
+exceptions to defaults selected. It IS intended to allow the user to browse for
+specific files and choose between the different versions of those files that
+are available in the catalog to restore.
+
+<p>The interface contains a horizontontal splitter. The bottom pane contains
+some controlling widgets for the interface.
+The top pane contains a vertical splitter with 4 widgets for viewing the
+cataloged information. The left widget is for viewing and further subselecting
+of jobs. The second pane is for viewing the directory tree. The third is for
+viewing a list of files in a selected directory that has been selected. Then
+lastly the fourth widget is for viewing a table of versions of a single file
+that has been selected from the file widget.
+
+<p>The version browser accomplishes the 3 restore steps, but does it a little
+differently.
+
+<p>To select jobs and populate the directory tree, press the refresh button.
+The job table will contain selected jobs. The selection criterion of the three
+drop downs and the 2 limits will be used as the filtering criterion for
+populating the job table the first time the refresh button is pushed.
+After the refresh button has been pushed, the job table has check marks that
+can select and unselect jobs. Re-pressing the refresh button will do one of 2
+things and this is dependent on whether the widgets in the bottom control pane
+display the same data as the previous time the refresh button was pressed. If
+changed the jobs table will be repopulated from the selection criterion. If
+unchanged any jobs that have been unchecked will then be excluded from the
+process of selecting directories, files and versions. The directory tree will
+be immediately repopulated. There is a text label underneath the
+refresh button to inform the user as to which of these two will happen.
+
+<p>The user can browse the directory tree and click on a directory folder which
+will then populate the file table with the files that are contained in the
+selected directory path. Selecting or unselecting a directory will select or
+unselect all files and all directories in the tree hierarchy beneath it. If
+there are any exceptions already selected beneath that directory, those
+exceptions will be deleted.
+
+<p>With the file table populated, the user can unselect a file in a selected
+directory and also select a file in an unselected directory.
+
+<p>With a file selected the version table will populate with all the instances
+a file has been written to tape. The user can choose a specific version of a
+file for restore and override the default which is to restore the most recent
+version.
+
+<p>Pressing the restore button will initiate a procedure of preparing to
+perform the restore of the requested files. The same Restore Run interface
+that was the third step in the standard restore will then be displayed. It
+will allow the user to instruct the bacula server of the details of what host
+and what path to restore the files to. This part of the restore will take a
+hold of the connection to the server and not allow any other communication
+to the server by the other interfaces.
+
+<p>There are two progress bars that will appear when refreshing or restoring
+to allow the user to understand how much time it may take to complete any tasks
+that could take a long time period.
</BODY>
</HTML>