Hello, 

This is just to let you know that the Bacula GUI project to create a GUI admin 
tool, now officially named bat, is well underway.  In a sense the bat is now 
born and functions.  There remains a tremendous amount of work, but the base 
is there -- a Qt graphical interface that connects to the Director and allows 
you to input commands (approximately the same functionality as bconsole with 
a more graphical user interface).  

Since this is a development project, my future emails on this subject will be 
directed only to the bacula-devel list. 

If any of you would like to try it and make comments on it or suggestions, you 
are welcome to build and test it.  As indicated above, it is really pretty 
crude at the moment, though quite functional.  All you need in addition to 
the Bacula CVS source code (with one new directory src/qt-console) compiled 
and built is the Qt4 development libraries.  Making it is rather simple but 
must be done by cd'ing into the qt-console directory and entering "make".

The project is now at the point where developers such as Christopher can 
choose a part to work on and implement it without a lot of conflict with the 
base code.  What needs to be done is really almost anything you can imagine. 
I have a basic layout of the user interface as I imagine it, but for the most 
part everything is still pretty much open.

Below, I include a copy of the README file in the qt-console directory.

Best regards,

Kern


This directory contains the Bacula Admin Tool (bat).

At the current time, the contents of this directory are under
development.  If you want to help, please contact Kern directly.
If you want to build it, you need Qt4 loaded and setup as your
default Qt or with the appropriate Qt Environment variables set.

To build bat, you simply enter:

  qmake 
  make
    
then to execute it

  ./bat

The qmake command needs to be entered only if you add a new file, in
which case, you should edit bat.pro and add the new filename
in the appropriate place.  In running qmake, it will build a new 
Makefile, and there after, you simply use "make". In fact, providing
you edit bat.pro, doing a "make" will automatically call qmake to
rebuild the Makefile.

Development status as of 29 Jan 07.

Items implemented:
- Reads a basic bat.conf (same as documented for the gnome-console 
   except that the Font part is unimplemented).
- Basic main window structure
- About dialog
- Quit menu item
- Connect button (initally shows disconnected) will connect to
  the first Director defined in the conf file.
- The Director name will appear in the Selection tree followed
  by Console and Restore.  
- Clicking on Console brings forward the console display screen
  (default at startup).
- Clicking on Restore brings up a dummy two tab "restore" page.
- The command line is implemented.
- The status line (below the command line) is implemented.

Items not implemented:
- None of the menu items except About, Quit.
- None of the tool bar icons except the connect/disconnect.
- Nothing on the restore page
     
Design/implementation considerations:
- We need to have multiple Directors
- Each Director should have its own console
- The Console class needs to be a list or be attached to the
  currently active Director.
- Need icons in front of the Director.
- Need indication if a director is connected or not.
- The console page should be in a DockWidget so it can be removed
  from the main window.
- Need to figure out a good implementation of adding pages and even
  having plugins that load as pages.  Currently the page mechanism
  is a bit kludged.
- Each page should in principle be a separate designer .ui file 
  Currently the two pages console, restore are part of main.ui,
  but they should be pulled out into their own .ui files.

Design decisions:
- If possible all windows will be created with designer and have
  a name such as xxxForm i.e. the main window is MainForm and kept
  in main.ui.  
- If possible all code for a particular component will be kept in
  and appropriate subdirectory.
- All private class variables are named "m_xxx" this makes it very
  clear if one is referencing a class variable or a local.
- All signal/slots are connected by explict code (most all are
  done in the MainWin constructor), rather than using designer.      

Major projects:
- Implement a restore page that does a directory tree restore selection
  much like wx-console does.
- Implement other restore interfaces such as brestore ...
- Implement a database browser
- Implement graphical commands that allow updating most aspects of
  the database (i.e. commands for label, update Volume, ...)
- Implement a resource (conf file) browser
- Implement a reports page -- e.g. something similar to bweb
- Implement Qt plugins to add new functionality to bat
- Implement a GUI configuration file editor (something like JBacula).
...


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to