%%
%%

\chapter{GUI Programs}
\label{_GUIChapter}
\index[general]{GUI Programs }
\index[general]{Programs!GUI }

\section{List of GUI Programs}
\index[general]{List of GUI Programs}

 
This document briefly describes the GUI programs that work with Bacula.
The GUI programs that are currently available are:
\begin{description}
\item [bat]
  \index[general]{bat}
   {\bf bat} is short for Bacula Administration Tool.  It is a GUI form
   of bconsole, but with many additional features.  Although we are still
   working on adding new features to bat, at this point, it has more
   features than both bwx-console and the bgnome-console, and over time
   many additional features will be added, including the functionality of
   the tray-monitor as well as the reporting capabilities of bweb.

   It is very difficult to provide a guide for using bat other than
   to say to try it. In many of the graphical display "panes" (shown
   in the right window), you can click with the right mouse button
   to bring up a context sensitive menu that provides quite a lot
   of features that can be easily missed.

   The Bacula \elink{wiki}{\url{http://wiki.bacula.org}} has a number of
   screenshots of bat.

   To build bat, you will need to have Qt4 >= 4.2 loaded (libraries and
   the devel libraries) as well as the QWT graphics package.  Please
   see the \ilink{enable-bat}{enablebat} section of the Installation
   chapter of this manual for the details of how to build it.

   The major bat features are:     
   \begin{itemize}
   \item Graphical features
      \begin{itemize}
      \item Undockable (floating) windows of all interfaces.
      \item Page selector for deciding and finding interfaces to view.
      \item Console command window for entering standard text console
      commands.
      \item A preferences interface for listing limits and debugging.
      \end{itemize}
   \item Graphical console
     \begin{itemize}
     \item A console to perform all the commands available from bconsole.
     \end{itemize}
   \item Graphical restoring
      \begin{itemize}
      \item High performance restore of backup with GUI tree browsing and file and
         directory selecting.  Pre-restore Interface to assist in selecting jobs for
         this restore method.
      \item Restore by browsing and selecting from all cataloged versions of files.  This
         method allows for Multiple simultaneous views of catalog data.  The only
         selection limitation for this browsing method is one client at a time.
      \end{itemize}

    \item Graphical listing Interfaces
      \begin{itemize}
         \item List the backup jobs that have run. ** see details below
         \item List the clients and perform 4 commands on the client within context.
         \item List the Filesets 
         \item List the Job resources and perform 8 commands on the job within context.
         \item List the Pools and the volumes in each pool.  Perform 7 different commands on
           each media.
         \item List the storage resources and perform any of 5 commands on the storage
           resource.
      \end{itemize}

      \item  Graphical Media Management
      \begin{itemize}
          \item Modify Volume parameters
          \item Label a new volume
          \item Relabel an existing volume
          \item Select jobs on a volume in Job List directly from media interface
          \item Delete a Volume
          \item Purge Jobs on volume
          \item Update Volume Parameters from Pool Parameters
      \end{itemize}

      \item Graphical Graphing
      \begin{itemize}
         \item Interface to plot the files and bytes of backup jobs.
      \end{itemize}

      \item Other Graphical interfaces:
      \begin{itemize}
          \item Open the cataloged Log messages of a job that has run
          \item Run a job manually and modify job defaults before running.
          \item Estimate a job.  Determine the files and bytes that would be backed up if
            the job were run now.
      \end{itemize}

      \item JobList features
      \begin{itemize}
         \item As many joblist windows at a time as desired.
         \item Nine different selection criterion: client, volume, job, Fileset, level, status,
            purged or not, record limit and days limit
         \item Lists the 11 most commonly desired job attributes.
         \item Run the following console commands by issuing the command within the context
           of the know job number: List job, list files on job, list jobmedia, list
           volumes, delete job and purge files.
         \item Open other interfaces knowing the jobid: show the cataloged log of the running
           of the job, restore from that job only browsing the filestructure, restore
           from the job end time to get the most recent version of a restore after the
           job completed running and browse the combined filestucture, jump directly
           to view a plot of the selected jobs files and bytes backed up.
      \end{itemize}
   \end{itemize}

   Bat also has a nice online help manual that explains a lot of the
   interface.

\item [bimagemgr]
   \index[general]{bimagemgr}
   Bimagemgr is a web based interface written in Perl that monitors
   disk Volumes intended to be written to CDROM. 

   For more information on bimagemgr, please see below.

\item [bwx-console]
   \index[general]{bwx-console}
   bwx-console is a graphical console interface written in wxWidgets
   and available on all client platforms. bwx-console allows you to
   do anything you can do in the standard tty console and in addition
   has a graphic tree based point and click restore feature.

\item [bgnome-console]
   \index[general]{bgnome-console}
   The bgnome-console is a graphical console interface available on
   systems that support GNOME 2.x. Although it runs in its own
   graphical window and permits all the standard console commands,
   it has almost no additional graphical features implemented.

   For more information on bgnome-console, please consult the
   \ilink{Console Chapter}{_ConsoleChapter} of this manual.

\item [tray-monitor]
   \index[general]{tray-monitor}
   The tray-monitor is a daemon monitoring program that resides
   in the system tray on GNOME and KDE systems. It is a monitor
   program that will show you the status of any daemon. It is not
   a program for interfacing to the console.

   For more information, please see 
   \ilink{Configuring the Monitor Program}{_MonitorChapter} chapter
   this manual.


\item [bweb]
   \index[general]{Bweb}
   Bweb is a perl based web program that provides a tool to do
   basic operations and get statistics. (it requires Bacula >= 1.39) 
   It obtains its information from your catalog database and the
   bconsole program. 

   Some of its major features are the following:

   \begin{enumerate}
   \item Follow, in real time, job progression (with client status and job log)
   \item See Pool/Media occupation
   \item Update volume parameters
   \item Manage locations (with a workflow to move in/out media)
   \item Get statistics about jobs (file number, job size, job duration)
   \item Run a new job
   \item Manage your autochanger (put cartridge on I/O, empty I/O
         slots with free slots, etc.)
   \item Works with both PostgreSQL and MySQL
   \item Works correctly under Mozilla and Firefox
   \end{enumerate}

   Please, read the INSTALL file in the bweb source directory for
   detailed instructions on getting it to work.

\item [brestore]
   \index[general]{Brestore}
   Brestore is a graphical restoration interface available on
   systems that support Perl/GTK/Glade. (it requires Bacula >= 1.38)
   It has the following features:

   \begin{enumerate} 
   \item Direct SQL access to the database for good performance
   \item Fast Time Navigation (switch almost instantaneously between the
     different versions of a directory, by changing the date from a list)
   \item Possibility to choose a selected file, then browse all its available
     versions, and directly see if these versions are online in a library or
     not
   \item Simple restoration by generation of a BSR file
   \item Works with both PostgreSQL and MySQL
   \item Works with bweb to follow job 
   \end{enumerate}

   Please, read README file in the bweb source directory for
   detailed instructions on getting it to work.

\item [bacula-web]
   \index[general]{Bacula-web}
   Bacula-web is a php based web program that provides a
   summarized output of jobs that have already run. It obtains 
   its information from your catalog database. Aside from a
   nice graphical display, it provides summaries of your 
   jobs, as well as graphs of job usage. This is a fairly high
   level bacula management tool.  

   Here are a few points that
   one user made concerning this tool:

   \begin{enumerate}
   \item It  is web-based so can be accessed from anywhere.
   \item It is "read only". Users can examine the state of the backups but 
         cannot 
         write to anything and therefore can do no damage.
   \item It packs a phenomenal amount of information into a single
         web-page - that I credit as being very good design!
   \end{enumerate}
   
    The documentation for bacula-web can be found in a separate
    bacula-web document that in the {\bf bacula-docs} release.


\end{description}
