]> git.sur5r.net Git - bacula/docs/commitdiff
Update
authorKern Sibbald <kern@sibbald.com>
Mon, 23 Jul 2007 10:15:52 +0000 (10:15 +0000)
committerKern Sibbald <kern@sibbald.com>
Mon, 23 Jul 2007 10:15:52 +0000 (10:15 +0000)
23 files changed:
docs/developers/version.tex
docs/home-page/LICENSE
docs/home-page/donations.txt
docs/home-page/news.txt
docs/home-page/pages/bugs.php
docs/home-page/pages/feature-request.php
docs/home-page/pages/license.php
docs/home-page/pages/listlic.php
docs/home-page/pages/maillists.php
docs/home-page/pages/projects.php
docs/home-page/pages/requirements.php
docs/home-page/pages/support.php
docs/manual-de/version.tex
docs/manual/faq.tex
docs/manual/install.tex
docs/manual/lesser.tex
docs/manual/license.tex
docs/manual/quickstart.tex
docs/manual/requirements.tex
docs/manual/state.tex
docs/manual/thanks.tex
docs/manual/tips.tex
docs/manual/version.tex

index 641fda3b3193f5be82d5db5b750fa057b4937a13..76a5117b451c7bcb9a4b1e510c704ff6edb20937 100644 (file)
@@ -1 +1 @@
-2.1.26 (12 July 2007)
+2.1.29 (22 July 2007)
index bd6fa9db7e1113acd1b292cfa4cead425bd5a7a9..e105b738836f2bde058cffea9091f9fe404f254d 100644 (file)
@@ -10,17 +10,28 @@ The name Bacula is a registered trademark.
 ===================================
 
 License:
-For the most part, Bacula is licensed under the GPL version 2         
-with the additions listed below. Most this code is listed
-under Copyright Free Software Foundation Europe e.V.  What
-follows are the additions to the GPL version 2 license.
+For the most part, Bacula is licensed under the GPL version 2
+this code is listed under Copyright Free Software Foundation
+Europe e.V. A small part of the code (less than 20 files) is
+copyrighted under the GPL by other people (FSF, Sun, ...). 
+
+What follows is information from the authors of the code:
 
 Linking: 
-Bacula may be linked with any libraries permitted under the GPL,
-or with any non-GPLed libraries, including OpenSSL, that are
-required for its proper functioning, providing the source code of
-those non-GPLed libraries is non-proprietary and freely
-available to the public.
+Bacula may be linked with any libraries permitted under the GPL.
+However, if configured with encryption Bacula does use the
+OpenSSL libraries which are, unfortunately, not compatible with
+GPL v2.  To the best of our knowledge these libaries are not
+distributed with Bacula code because they are shared objects, and
+as such there is no conflict with the GPL according what I (Kern)
+understand in talking to FSFE, and in any case, for the code that
+I have written, I have no problems linking in OpenSSL (of course
+this does not speak for the few files in Bacula that are
+copyrighted by others).  If you take a more severe stance on this
+issue, and you are going to distribute Bacula, then simply do not
+use the --with-openssl when building your package, and no use of
+OpenSSL even through dynamic linking will be included.
+             
 
 IP rights:
 Recipient understands that although each Contributor grants the
@@ -52,8 +63,8 @@ Code falling under the above conditions will be marked as follows:
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
    modify it under the terms of version two of the GNU General Public
-   License as published by the Free Software Foundation plus additions
-   that are listed in the file LICENSE.
+   License as published by the Free Software Foundation, a copy of which
+   is in the LICENSE file
 
    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -72,13 +83,13 @@ Code falling under the above conditions will be marked as follows:
 
 
 Windows:
-Certain source code used to build the Windows version of the Bacula
-File daemon is copyrighted and or trademarked by Microsoft and may
-contain Microsoft intellectual property (examples: Microsoft VC++, the
-source to the VSS libraries, the Microsoft C runtime libraries).  As
-such we cannot and do not distribute that software. We are permitted
-however to distribute Bacula in binary form with the necessary Microsoft
-libraries linked in.
+Certain source code used to build the Windows version of the
+Bacula File daemon is copyrighted and or trademarked by Microsoft
+and may contain Microsoft intellectual property (examples:
+Microsoft VC++, the source to the VSS libraries, the Microsoft C
+runtime libraries).  As such we cannot and do not distribute that
+software.  We are permitted however to distribut Bacula with the
+necessary Microsoft libraries in binary form.
 
 You may obtain the parts that we cannot distribute as follows.  The
 Microsoft compiler available for purchase, and Microsoft provides a free
@@ -113,8 +124,14 @@ freedom to publish or distribute modified versions when you wish.
 
 Other Licenses:
 Certain parts of the Bacula software are licensed by their
-copyright holder(s) under the GPL with no modifications.  These
-software files are clearly marked as such.
+copyright holder(s) under the GPL. These software files are
+clearly marked as such.
+
+Bacula can be enabled with data encryption and/or communications
+encryption. If this is the case, you will be including OpenSSL code that
+that contains cryptographic software written by Eric Young
+(eay@cryptsoft.com) and also software written by Tim Hudson
+(tjh@cryptsoft.com).
 
 There are parts of Bacula that are licensed under the LGPL so
 that they may be used in proprietary code to interface with
index 904f2f3c3999d5e79123ac88cabfa3bac4dec3ce..2c038c8720cf4ca19d5a888fe58b2db81205a55b 100644 (file)
@@ -6,7 +6,6 @@ donations or supplied finacial development support
 to the Bacula project and have specifically requested
 that their names appear here:
 
-$50     TightPoker.com (Hans)
 
 
 Many thanks to the many Bacula listed and non-listed
index 570258d2152227d1c52416101e4cdd50e7656335..6ba0184a9bc4d06e913c6b873566ddc4d3aa9e5f 100644 (file)
@@ -5,6 +5,10 @@ This is a bug fix release to version 2.0.2.  If you are upgrading from
 a version older than 2.0.0, please be sure to read the important notes
 below.
 
+Also, please check the patches directory in the current SVN or the
+patches release section on Source Forge for important bug fixes to   
+this version.
+
 5Mar07
 kes  File migrate bug with Pool Occupancy using mediaid instead
      of jobids.  Fixes bug #795.
index 9f5c38758f24c6743463551edc03daf1ff016d98..57b6bd008bccd1dbf5ee87faafeff1a3a94f93bd 100644 (file)
@@ -11,7 +11,7 @@
     not a request for support (see the Support tab to
     the left).
     <p>
-    Bacula now has a bug reporting system
+    Bacula now has a Mantis bug reporting system
     implemented by Dan Langille and hosted on his computer. It is web based,
     easy to use, and we recommend you give it a try. You can submit a bug
     or review the list of open or closed bugs by visiting:
 To view the bug reports, you can login as user <b>anonymous</b> 
 and password <b>anonymous</b>.                    
 
-To submit bug reports, you must create an account.   
+To submit bug reports, you must create an account. You must also use 
+a browser running a US ASCII code page or UTF-8.  Some users running
+Win32 IE with Windows Eastern European code pages have experienced
+problems interfacing with the system.
 
 <p>
 Most Bacula problems are questions of support, so if you are not
 sure if a problem you are having is a bug, see the support page
 on this site for links to the email lists.
 
-<h3>Information Needed</h3>
+You should expect two things to be slightly different in our
+Bugs handling than many other Open Source projects. First, we unfortunately
+cannot supply support via that bugs database, and second, we close
+bugs very quickly to avoid being overwhelmed.  Please don't take this
+personally.  If you want to add a note to the bug report after it
+is closed, you can do so without reopening the bug.  If after everything
+considered, you are convinced there is a bug and you have new information,
+you can always reopen the bug report. 
+
+<h3>Information Needed in a Bug Report</h3>
 For us to respond to a bug report, we normally need the following
 as the minimum information, which you can enter into the appropriate
 fields of the bug reporting system:
index 0cbf22789d2aed4171f323a3dc9ed8f2b72a5fef..b9f3e19d26a8bbd7da4730d833bd281049f0fa45 100644 (file)
@@ -7,7 +7,7 @@
    <td class="content">
 
 In the past, users informally submitted feature requests by email, and 
-I collected them, then once a version was released, I would publish the
+I (Kern) collected them, then once a version was released, I would publish the
 list for users to vote on.
 <p>
 Now that Bacula has become a bigger project, this process has been 
index 2dc6e2edc1fe30abf3705226dde747527e7c83e2..9cb6e68613fe922d53455775b418c8ca337234c4 100644 (file)
@@ -1,40 +1,40 @@
 <? require_once("inc/header.php"); ?>
 <table>
 <tr>
-       <td class="contentTopic">
-               Bacula Copyright, Trademark, and Licenses
-       </td>
+        <td class="contentTopic">
+                Bacula Copyright, Trademark, and Licenses
+        </td>
 </tr>
 <tr>
-       <td class="content">
-               There are a number of different licenses that are used in
-               Bacula.
-               <h3>GPL</h3>
-               The vast bulk of the code is released under the
+  <td class="content">
+     There are a number of different licenses that are used in
+     Bacula.
+     <h3>GPL</h3>
+     The vast bulk of the code is released under the
 
-               <a href="rel-manual/gpl.html">GNU General Public License version 2.</a>
-               Most of this code is copyrighted:
-               Copyright (C) 2000-2005 Kern Sibbald and John Walker.
-               <p>Portions may be copyrighted by other people (ATT, the
-               Free Software Foundation, ...).
-               <h3>LGPL</h3>
-               Some of the Bacula library source code is released under the
-               <a href="rel-manual/lesser.html">GNU Lesser General Public License.</a>
-               This permits third parties to use these parts of our code in
-               their proprietary programs to interface to Bacula.
-               <h3>Public Domain</h3>
-               Some of the Bacula code has been released to the public domain.
-               E.g. md5.c, SQLite.
-               <h3>Trademark</h3>
-               Bacula<sup>&reg;</sup>is a registered trademark of Kern Sibbald and John
-               Walker.
+     <a href="rel-manual/gpl.html">GNU General Public License version 2.</a>
+     Most of this code is copyrighted:
+     Copyright (C) 2000-2007 Free Software Foundation Europe, e.V.
+     <p>Portions may be copyrighted by other people (ATT, the
+     Free Software Foundation, ...).
+     <h3>LGPL</h3>
+     Some of the Bacula library source code is released under the
+     <a href="rel-manual/lesser.html">GNU Lesser General Public License.</a>
+     This permits third parties to use these parts of our code in
+     their proprietary programs to interface to Bacula.
+     <h3>Public Domain</h3>
+     Some of the Bacula code has been released to the public domain.
+     E.g. md5.c, SQLite.
+     <h3>Trademark</h3>
+     Bacula<sup>&reg;</sup>is a registered trademark of John
+     Walker.
 
-               <p>We have done this to ensure that any variant of Bacula will
-               be exactly compatible with the program that we have released.
-               The use of the name <b>Bacula</b> is restricted to software systems
-               that agree exactly with the program presented here.
-               </p>
-       </td>
+     <p>We have done this to ensure that any variant of Bacula will
+     be exactly compatible with the program that we have released.
+     The use of the name <b>Bacula</b> is restricted to software systems
+     that agree exactly with the program presented here.
+     </p>
+  </td>
 </tr>
 </table>
 
index f85eb635e78f64d3bc16fb3aa944408e4cdb1536..217dad07aeeb3813a511affd4431d58ce8ad8e8e 100644 (file)
@@ -6,27 +6,27 @@
         </td>
 </tr>
 <tr>
-        <td class="content">
-                The people listed are <b>independent contractors</b>.<br>
-                We can't take responsibility for their actions when you hire them,
-                but we would appreciate feedback positive or negative.<br>
-                <br>
-                Listing on the Bacula Professional page is offered as a
-                <b>service</b>, <b>without</b> any guarantees.<br>
-                <br>
-                We reserve the right to decide with reason who is
-                added/removed from the web page.<br> 
-                To be listed, you must have some tangible connection with and
-                knowledge of Bacula (i.e. developer, contributed
-                code/patches, Bacula user and subscribed to bacula-users, or
-                bacula-devel, and preferably a Web site ...).<br>
-                <br>
-                People listed here agree to update their contact information
-                on a regular basis.<br> Anyone listed with incorrect
-                information is subject to removal.<br> <br> If you want to be
-                listed on the page, please get in contact with Kern
-                Sibbald.<br>
-        </td>
+  <td class="content">
+    The people listed are <b>independent contractors</b>.<br>
+    We can't take responsibility for their actions when you hire them,
+    but we would appreciate feedback positive or negative.<br>
+    <br>
+    Listing on the Bacula Professional page is offered as a
+    <b>service</b>, <b>without</b> any guarantees.<br>
+    <br>
+    We reserve the right to decide with reason who is
+    added/removed from the web page.<br> 
+    To be listed, you must have some tangible connection with and
+    knowledge of Bacula (i.e. developer, contributed
+    code/patches, Bacula user and subscribed to bacula-users, or
+    bacula-devel, and preferably a Web site ...).<br>
+    <br>
+    People listed here agree to update their contact information
+    on a regular basis.<br> Anyone listed with incorrect
+    information is subject to removal.<br> <br> If you want to be
+    listed on the page, please get in contact with Kern
+    Sibbald.<br>
+  </td>
 </tr>
 </table>
 <? require_once("inc/footer.php"); ?>
index 129b98116a982db8ad0c0d61492ee5cb27fb7caa..5bd0e3eef79cfe1e779c676bb66b5c2951a42337 100644 (file)
@@ -39,6 +39,7 @@ moderate, but can vary. All users are encouraged to subscribe
 and to participate.
 Due to the increasing volume of spam, you must be subscribed
 before you can send email to this list.
+
 To subscribe follow the instructions at:
 <a href="http://lists.sourceforge.net/lists/listinfo/bacula-users">Bacula Users List Subscription/Unsubscription/Modification</a>.
 <p>
@@ -52,6 +53,9 @@ you must replace the <b>at</b> with an @ symbol.
 The <b>bacula-devel</b> list is for those users who wish to
 communicate directly with the developers. The email volume
 is currently quite low, but can vary.
+Due to the increasing volume of spam, you must be subscribed
+before you can send email to this list.
+
 To subscribe, please follow this link:
 <a href="http://lists.sourceforge.net/lists/listinfo/bacula-devel">
 Bacula Developers List Subscription/Unsubscription/Modification</a>.
@@ -79,7 +83,10 @@ http://lists.sourceforge.net/lists/listinfo/bacula-bugs</a>.
 The <b>bacula-beta</b> list is a read only
 list for those packagers or users who wish to be notified
 when a new release is in preparation or is ready.
-Please do not send email to this list.
+This list is also used for discussions on running regression
+scripts.
+Due to the increasing volume of spam, you must be subscribed
+before you can send email to this list.
 
 To subscribe, follow follow the instructions at:
 <a href="http://lists.sourceforge.net/lists/listinfo/bacula-beta">
index a8ca9077326415d05bb91bb8c36bd735c43f16a2..dd818cdce503c4cb87d21b94a341f348247870cb 100644 (file)
                 
 Projects:
                      Bacula Projects Roadmap 
-                    Status updated 12 January 2007
+                    Status updated 7 July 2007
+                   After re-ordering in vote priority
+
+Items Completed:
+Item:   2   Implement a Bacula GUI/management tool.
+Item:  18   Quick release of FD-SD connection after backup.
+Item:  23   Implement from-client and to-client on restore command line.
+Item:  25   Implement huge exclude list support using dlist   
+Item:  41   Enable to relocate files and directories when restoring
+Item:  42   Batch attribute inserts (ten times faster)
+Item:  43   More concurrency in SD using micro-locking
+Item:  44   Performance enhancements (POSIX/Win32 OS file access hints).
+Item:  40   Include JobID in spool file name
 
 Summary:
-Item  1:  Accurate restoration of renamed/deleted files
-Item  2:  Implement a Bacula GUI/management tool.
-Item  3:  Implement Base jobs.
-Item  4:  Implement from-client and to-client on restore command line.
-Item  5:  Implement creation and maintenance of copy pools
-Item  6:  Merge multiple backups (Synthetic Backup or Consolidation).
-Item  7:  Deletion of Disk-Based Bacula Volumes
-Item  8:  Implement a Python interface to the Bacula catalog.
-Item  9:  Archival (removal) of User Files to Tape
-Item 10:  Add Plug-ins to the FileSet Include statements.
-Item 11:  Implement more Python events in Bacula.
-Item 12:  Quick release of FD-SD connection after backup.
-Item 13:  Implement huge exclude list support using hashing.
-Item 14:  Allow skipping execution of Jobs
-Item 15:  Tray monitor window cleanups
-Item 16:  Split documentation
-Item 17:  Automatic promotion of backup levels
-Item 18:  Add an override in Schedule for Pools based on backup types.
-Item 10:  An option to operate on all pools with update vol parameters
-Item 20:  Include JobID in spool file name
-Item 21:  Include timestamp of job launch in "stat clients" output
-Item 22:  Message mailing based on backup types
-Item 23:  Allow inclusion/exclusion of files in a fileset by creation/mod times
-Item 24:  Add a scheduling syntax that permits weekly rotations
-Item 25:  Improve Bacula's tape and drive usage and cleaning management.
-Item 26:  Implement support for stacking arbitrary stream filters, sinks.
-Item 27:  Allow FD to initiate a backup
-Item 28:  Directive/mode to backup only file changes, not entire file
-Item 29:  Automatic disabling of devices
-Item 30:  Incorporation of XACML2/SAML2 parsing
-Item 31:  Clustered file-daemons
-Item 32:  Commercial database support
-Item 33:  Archive data
-Item 34:  Filesystem watch triggered backup.
-Item 35:  Implement multiple numeric backup levels as supported by dump
-Item 36:  Implement a server-side compression feature
-Item 37:  Cause daemons to use a specific IP address to source communications
-Item 38:  Multiple threads in file daemon for the same job
-Item 39:  Restore only file attributes (permissions, ACL, owner, group...)
-Item 40:  Add an item to the restore option where you can select a pool
-
-Below, you will find more information on future projects:
+Item:   1   Accurate restoration of renamed/deleted files
+Item:   2*  Implement a Bacula GUI/management tool.
+Item:   3   Allow FD to initiate a backup
+Item:   4   Merge multiple backups (Synthetic Backup or Consolidation).
+Item:   5   Deletion of Disk-Based Bacula Volumes
+Item:   6   Implement Base jobs.
+Item:   7   Implement creation and maintenance of copy pools
+Item:   8   Directive/mode to backup only file changes, not entire file
+Item:   9   Implement a server-side compression feature
+Item:  10   Improve Bacula's tape and drive usage and cleaning management.
+Item:  11   Allow skipping execution of Jobs
+Item:  12   Add a scheduling syntax that permits weekly rotations
+Item:  13   Archival (removal) of User Files to Tape
+Item:  14   Cause daemons to use a specific IP address to source communications
+Item:  15   Multiple threads in file daemon for the same job
+Item:  16   Add Plug-ins to the FileSet Include statements.
+Item:  17   Restore only file attributes (permissions, ACL, owner, group...)
+Item:  18*  Quick release of FD-SD connection after backup.
+Item:  19   Implement a Python interface to the Bacula catalog.
+Item:  20   Archive data
+Item:  21   Split documentation
+Item:  22   Implement support for stacking arbitrary stream filters, sinks.
+Item:  23*  Implement from-client and to-client on restore command line.
+Item:  24   Add an override in Schedule for Pools based on backup types.
+Item:  25*  Implement huge exclude list support using hashing.
+Item:  26   Implement more Python events in Bacula.
+Item:  27   Incorporation of XACML2/SAML2 parsing
+Item:  28   Filesystem watch triggered backup.
+Item:  29   Allow inclusion/exclusion of files in a fileset by creation/mod times
+Item:  30   Tray monitor window cleanups
+Item:  31   Implement multiple numeric backup levels as supported by dump
+Item:  32   Automatic promotion of backup levels
+Item:  33   Clustered file-daemons
+Item:  34   Commercial database support
+Item:  35   Automatic disabling of devices
+Item:  36   An option to operate on all pools with update vol parameters
+Item:  37   Add an item to the restore option where you can select a pool
+Item:  38   Include timestamp of job launch in "stat clients" output
+Item:  39   Message mailing based on backup types
+Item:  40*  Include JobID in spool file name
+Item:  41*  Enable to relocate files and directories when restoring
+Item:  42*  Batch attribute inserts (ten times faster)
+Item:  43*  More concurrency in SD using micro-locking
+Item:  44*  Performance enhancements (POSIX/Win32 OS file access hints).
 
 Item  1:  Accurate restoration of renamed/deleted files
   Date:   28 November 2005
@@ -91,7 +105,7 @@ Item  1:  Accurate restoration of renamed/deleted files
 Item  2:  Implement a Bacula GUI/management tool.
   Origin: Kern
   Date:   28 October 2005
-  Status:         
+  Status: In progress
 
   What:   Implement a Bacula console, and management tools
           probably using Qt3 and C++.
@@ -111,8 +125,77 @@ Item  2:  Implement a Bacula GUI/management tool.
           Lucas Di Pentima <lucas at lunix dot com dot ar> but
           it is no longer being developed.
 
+Item  3:  Allow FD to initiate a backup
+  Origin: Frank Volf (frank at deze dot org)
+  Date:   17 November 2005
+  Status:
+
+   What:  Provide some means, possibly by a restricted console that
+          allows a FD to initiate a backup, and that uses the connection
+          established by the FD to the Director for the backup so that
+          a Director that is firewalled can do the backup.
+
+   Why:   Makes backup of laptops much easier.
+
+
+Item  4:  Merge multiple backups (Synthetic Backup or Consolidation).
+  Origin: Marc Cousin and Eric Bollengier 
+  Date:   15 November 2005
+  Status: Waiting implementation. Depends on first implementing 
+          project Item 2 (Migration) which is now done.
+
+  What:   A merged backup is a backup made without connecting to the Client.
+          It would be a Merge of existing backups into a single backup.
+          In effect, it is like a restore but to the backup medium.
+
+          For instance, say that last Sunday we made a full backup.  Then
+          all week long, we created incremental backups, in order to do
+          them fast.  Now comes Sunday again, and we need another full.
+          The merged backup makes it possible to do instead an incremental
+          backup (during the night for instance), and then create a merged
+          backup during the day, by using the full and incrementals from
+          the week.  The merged backup will be exactly like a full made
+          Sunday night on the tape, but the production interruption on the
+          Client will be minimal, as the Client will only have to send
+          incrementals.
+
+          In fact, if it's done correctly, you could merge all the
+          Incrementals into single Incremental, or all the Incrementals
+          and the last Differential into a new Differential, or the Full,
+          last differential and all the Incrementals into a new Full
+          backup.  And there is no need to involve the Client.
+
+  Why:    The benefit is that :
+          - the Client just does an incremental ;
+          - the merged backup on tape is just as a single full backup,
+            and can be restored very fast.
+
+          This is also a way of reducing the backup data since the old
+          data can then be pruned (or not) from the catalog, possibly
+          allowing older volumes to be recycled
+
+Item  5:  Deletion of Disk-Based Bacula Volumes
+  Date:   Nov 25, 2005
+  Origin: Ross Boylan <RossBoylan at stanfordalumni dot org> (edited
+          by Kern)
+  Status:         
+
+   What:  Provide a way for Bacula to automatically remove Volumes
+          from the filesystem, or optionally to truncate them.
+          Obviously, the Volume must be pruned prior removal.
+
+  Why:    This would allow users more control over their Volumes and
+          prevent disk based volumes from consuming too much space.
+
+  Notes:  The following two directives might do the trick:
+
+          Volume Data Retention = <time period>
+          Remove Volume After = <time period>
+
+          The migration project should also remove a Volume that is
+          migrated. This might also work for tape Volumes.
 
-Item  3:  Implement Base jobs.
+Item  6:  Implement Base jobs.
   Date:   28 October 2005
   Origin: Kern
   Status: 
@@ -146,28 +229,7 @@ Item  3:  Implement Base jobs.
           FD a list of files/attribs, and the FD must search the
           list and compare it for each file to be saved.
 
-Item  4:  Implement from-client and to-client on restore command line.
-   Date:  11 December 2006
-  Origin: Discussion on Bacula-users entitled 'Scripted restores to
-          different clients', December 2006 
-  Status: New feature request
-  What:   While using bconsole interactively, you can specify the client
-          that a backup job is to be restored for, and then you can
-          specify later a different client to send the restored files
-          back to. However, using the 'restore' command with all options
-          on the command line, this cannot be done, due to the ambiguous
-          'client' parameter. Additionally, this parameter means different
-          things depending on if it's specified on the command line or
-          afterwards, in the Modify Job screens.
-     Why: This feature would enable restore jobs to be more completely
-          automated, for example by a web or GUI front-end.
-   Notes: client can also be implied by specifying the jobid on the command
-          line
-
-Item  5:  Implement creation and maintenance of copy pools
+Item  7:  Implement creation and maintenance of copy pools
   Date:   27 November 2005
   Origin: David Boyes (dboyes at sinenomine dot net)
   Status:
@@ -209,86 +271,225 @@ Item  5:  Implement creation and maintenance of copy pools
   Notes:  I would commit some of my developers' time if we can agree
           on the design and behavior. 
 
-Item  6:  Merge multiple backups (Synthetic Backup or Consolidation).
-  Origin: Marc Cousin and Eric Bollengier 
-  Date:   15 November 2005
-  Status: Waiting implementation. Depends on first implementing 
-          project Item 2 (Migration) which is now done.
+Item  8:  Directive/mode to backup only file changes, not entire file
+  Date:   11 November 2005
+  Origin: Joshua Kugler <joshua dot kugler at uaf dot edu>
+          Marek Bajon <mbajon at bimsplus dot com dot pl>
+  Status: 
 
-  What:   A merged backup is a backup made without connecting to the Client.
-          It would be a Merge of existing backups into a single backup.
-          In effect, it is like a restore but to the backup medium.
+  What:   Currently when a file changes, the entire file will be backed up in
+          the next incremental or full backup.  To save space on the tapes
+          it would be nice to have a mode whereby only the changes to the
+          file would be backed up when it is changed.
 
-          For instance, say that last Sunday we made a full backup.  Then
-          all week long, we created incremental backups, in order to do
-          them fast.  Now comes Sunday again, and we need another full.
-          The merged backup makes it possible to do instead an incremental
-          backup (during the night for instance), and then create a merged
-          backup during the day, by using the full and incrementals from
-          the week.  The merged backup will be exactly like a full made
-          Sunday night on the tape, but the production interruption on the
-          Client will be minimal, as the Client will only have to send
-          incrementals.
+  Why:    This would save lots of space when backing up large files such as 
+          logs, mbox files, Outlook PST files and the like.
 
-          In fact, if it's done correctly, you could merge all the
-          Incrementals into single Incremental, or all the Incrementals
-          and the last Differential into a new Differential, or the Full,
-          last differential and all the Incrementals into a new Full
-          backup.  And there is no need to involve the Client.
+  Notes:  This would require the usage of disk-based volumes as comparing 
+          files would not be feasible using a tape drive.
 
-  Why:    The benefit is that :
-          - the Client just does an incremental ;
-          - the merged backup on tape is just as a single full backup,
-            and can be restored very fast.
+Item  9:  Implement a server-side compression feature
+  Date:   18 December 2006
+  Origin: Vadim A. Umanski , e-mail umanski@ext.ru
+  Status:
+  What:   The ability to compress backup data on server receiving data
+          instead of doing that on client sending data.
+  Why:    The need is practical. I've got some machines that can send
+          data to the network 4 or 5 times faster than compressing
+          them (I've measured that). They're using fast enough SCSI/FC
+          disk subsystems but rather slow CPUs (ex. UltraSPARC II).
+          And the backup server has got a quite fast CPUs (ex. Dual P4
+          Xeons) and quite a low load. When you have 20, 50 or 100 GB
+          of raw data - running a job 4 to 5 times faster - that
+          really matters. On the other hand, the data can be
+          compressed 50% or better - so losing twice more space for
+          disk backup is not good at all. And the network is all mine
+          (I have a dedicated management/provisioning network) and I
+          can get as high bandwidth as I need - 100Mbps, 1000Mbps...
+          That's why the server-side compression feature is needed!
+  Notes:
 
-          This is also a way of reducing the backup data since the old
-          data can then be pruned (or not) from the catalog, possibly
-          allowing older volumes to be recycled
+Item 10:  Improve Bacula's tape and drive usage and cleaning management.
+  Date:   8 November 2005, November 11, 2005
+  Origin: Adam Thornton <athornton at sinenomine dot net>,
+          Arno Lehmann <al at its-lehmann dot de>
+  Status:
 
-Item  7:  Deletion of Disk-Based Bacula Volumes
-  Date:   Nov 25, 2005
-  Origin: Ross Boylan <RossBoylan at stanfordalumni dot org> (edited
-          by Kern)
-  Status:         
+  What:   Make Bacula manage tape life cycle information, tape reuse
+          times and drive cleaning cycles.
 
-   What:  Provide a way for Bacula to automatically remove Volumes
-          from the filesystem, or optionally to truncate them.
-          Obviously, the Volume must be pruned prior removal.
+  Why:    All three parts of this project are important when operating
+          backups.
+          We need to know which tapes need replacement, and we need to
+          make sure the drives are cleaned when necessary.  While many
+          tape libraries and even autoloaders can handle all this
+          automatically, support by Bacula can be helpful for smaller
+          (older) libraries and single drives.  Limiting the number of
+          times a tape is used might prevent tape errors when using
+          tapes until the drives can't read it any more.  Also, checking
+          drive status during operation can prevent some failures (as I
+          [Arno] had to learn the hard way...)
 
-  Why:    This would allow users more control over their Volumes and
-          prevent disk based volumes from consuming too much space.
+  Notes:  First, Bacula could (and even does, to some limited extent)
+          record tape and drive usage.  For tapes, the number of mounts,
+          the amount of data, and the time the tape has actually been
+          running could be recorded.  Data fields for Read and Write
+          time and Number of mounts already exist in the catalog (I'm
+          not sure if VolBytes is the sum of all bytes ever written to
+          that volume by Bacula).  This information can be important
+          when determining which media to replace.  The ability to mark
+          Volumes as "used up" after a given number of write cycles
+          should also be implemented so that a tape is never actually
+          worn out.  For the tape drives known to Bacula, similar
+          information is interesting to determine the device status and
+          expected life time: Time it's been Reading and Writing, number
+          of tape Loads / Unloads / Errors.  This information is not yet
+          recorded as far as I [Arno] know.  A new volume status would
+          be necessary for the new state, like "Used up" or "Worn out".
+          Volumes with this state could be used for restores, but not
+          for writing. These volumes should be migrated first (assuming
+          migration is implemented) and, once they are no longer needed,
+          could be moved to a Trash pool.
 
-  Notes:  The following two directives might do the trick:
+          The next step would be to implement a drive cleaning setup.
+          Bacula already has knowledge about cleaning tapes.  Once it
+          has some information about cleaning cycles (measured in drive
+          run time, number of tapes used, or calender days, for example)
+          it can automatically execute tape cleaning (with an
+          autochanger, obviously) or ask for operator assistance loading
+          a cleaning tape.
 
-          Volume Data Retention = <time period>
-          Remove Volume After = <time period>
+          The final step would be to implement TAPEALERT checks not only
+          when changing tapes and only sending the information to the
+          administrator, but rather checking after each tape error,
+          checking on a regular basis (for example after each tape
+          file), and also before unloading and after loading a new tape.
+          Then, depending on the drives TAPEALERT state and the known
+          drive cleaning state Bacula could automatically schedule later
+          cleaning, clean immediately, or inform the operator.
 
-          The migration project should also remove a Volume that is
-          migrated. This might also work for tape Volumes.
+          Implementing this would perhaps require another catalog change
+          and perhaps major changes in SD code and the DIR-SD protocol,
+          so I'd only consider this worth implementing if it would
+          actually be used or even needed by many people.
 
-Item  8:  Implement a Python interface to the Bacula catalog.
-  Date:   28 October 2005
-  Origin: Kern
-  Status: 
+          Implementation of these projects could happen in three distinct
+          sub-projects: Measuring Tape and Drive usage, retiring
+          volumes, and handling drive cleaning and TAPEALERTs.
 
-  What:   Implement an interface for Python scripts to access
-          the catalog through Bacula.
+Item 11:  Allow skipping execution of Jobs
+  Date:   29 November 2005
+  Origin: Florian Schnabel <florian.schnabel at docufy dot de>
+  Status:
 
-  Why:    This will permit users to customize Bacula through
-          Python scripts.
+    What: An easy option to skip a certain job  on a certain date.
+     Why: You could then easily skip tape backups on holidays.  Especially
+          if you got no autochanger and can only fit one backup on a tape
+          that would be really handy, other jobs could proceed normally
+          and you won't get errors that way.
 
-Item  9:  Archival (removal) of User Files to Tape
+Item 12:  Add a scheduling syntax that permits weekly rotations
+   Date:  15 December 2006
+  Origin: Gregory Brauer (greg at wildbrain dot com)
+  Status:
 
-  Date:   Nov. 24/2005 
+   What:  Currently, Bacula only understands how to deal with weeks of the
+          month or weeks of the year in schedules.  This makes it impossible
+          to do a true weekly rotation of tapes.  There will always be a
+          discontinuity that will require disruptive manual intervention at
+          least monthly or yearly because week boundaries never align with
+          month or year boundaries.
 
-  Origin: Ray Pengelly [ray at biomed dot queensu dot ca
-  Status: 
+          A solution would be to add a new syntax that defines (at least)
+          a start timestamp, and repetition period.
 
-  What:   The ability to archive data to storage based on certain parameters
-          such as age, size, or location.  Once the data has been written to
-          storage and logged it is then pruned from the originating
-          filesystem. Note! We are talking about user's files and not
-          Bacula Volumes.
+   Why:   Rotated backups done at weekly intervals are useful, and Bacula
+          cannot currently do them without extensive hacking.
+
+   Notes: Here is an example syntax showing a 3-week rotation where full
+          Backups would be performed every week on Saturday, and an
+          incremental would be performed every week on Tuesday.  Each
+          set of tapes could be removed from the loader for the following
+          two cycles before coming back and being reused on the third
+          week.  Since the execution times are determined by intervals
+          from a given point in time, there will never be any issues with
+          having to adjust to any sort of arbitrary time boundary.  In
+          the example provided, I even define the starting schedule
+          as crossing both a year and a month boundary, but the run times
+          would be based on the "Repeat" value and would therefore happen
+          weekly as desired.
+
+
+          Schedule {
+              Name = "Week 1 Rotation"
+              #Saturday.  Would run Dec 30, Jan 20, Feb 10, etc.
+              Run {
+                  Options {
+                      Type   = Full
+                      Start  = 2006-12-30 01:00
+                      Repeat = 3w
+                  }
+              }
+              #Tuesday.  Would run Jan 2, Jan 23, Feb 13, etc.
+              Run {
+                  Options {
+                      Type   = Incremental
+                      Start  = 2007-01-02 01:00
+                      Repeat = 3w
+                  }
+              }
+          }
+
+          Schedule {
+              Name = "Week 2 Rotation"
+              #Saturday.  Would run Jan 6, Jan 27, Feb 17, etc.
+              Run {
+                  Options {
+                      Type   = Full
+                      Start  = 2007-01-06 01:00
+                      Repeat = 3w
+                  }
+              }
+              #Tuesday.  Would run Jan 9, Jan 30, Feb 20, etc.
+              Run {
+                  Options {
+                      Type   = Incremental
+                      Start  = 2007-01-09 01:00
+                      Repeat = 3w
+                  }
+              }
+          }
+
+          Schedule {
+              Name = "Week 3 Rotation"
+              #Saturday.  Would run Jan 13, Feb 3, Feb 24, etc.
+              Run {
+                  Options {
+                      Type   = Full
+                      Start  = 2007-01-13 01:00
+                      Repeat = 3w
+                  }
+              }
+              #Tuesday.  Would run Jan 16, Feb 6, Feb 27, etc.
+              Run {
+                  Options {
+                      Type   = Incremental
+                      Start  = 2007-01-16 01:00
+                      Repeat = 3w
+                  }
+              }
+          }
+
+Item 13:  Archival (removal) of User Files to Tape
+  Date:   Nov. 24/2005 
+  Origin: Ray Pengelly [ray at biomed dot queensu dot ca
+  Status: 
+
+  What:   The ability to archive data to storage based on certain parameters
+          such as age, size, or location.  Once the data has been written to
+          storage and logged it is then pruned from the originating
+          filesystem. Note! We are talking about user's files and not
+          Bacula Volumes.
 
   Why:    This would allow fully automatic storage management which becomes
           useful for large datastores.  It would also allow for auto-staging
@@ -306,7 +507,58 @@ Item  9:  Archival (removal) of User Files to Tape
           access time.  Then after another 6 months (or possibly as one
           storage pool gets full) data is migrated to Tape.
 
-Item 10:  Add Plug-ins to the FileSet Include statements.
+Item 14:  Cause daemons to use a specific IP address to source communications
+ Origin:  Bill Moran <wmoran@collaborativefusion.com>
+ Date:    18 Dec 2006
+ Status:
+ What:    Cause Bacula daemons (dir, fd, sd) to always use the ip address
+          specified in the [DIR|DF|SD]Addr directive as the source IP
+          for initiating communication.
+ Why:     On complex networks, as well as extremely secure networks, it's
+          not unusual to have multiple possible routes through the network.
+          Often, each of these routes is secured by different policies
+          (effectively, firewalls allow or deny different traffic depending
+          on the source address)
+          Unfortunately, it can sometimes be difficult or impossible to
+          represent this in a system routing table, as the result is
+          excessive subnetting that quickly exhausts available IP space.
+          The best available workaround is to provide multiple IPs to
+          a single machine that are all on the same subnet.  In order
+          for this to work properly, applications must support the ability
+          to bind outgoing connections to a specified address, otherwise
+          the operating system will always choose the first IP that
+          matches the required route.
+ Notes:   Many other programs support this.  For example, the following
+          can be configured in BIND:
+          query-source address 10.0.0.1;
+          transfer-source 10.0.0.2;
+          Which means queries from this server will always come from
+          10.0.0.1 and zone transfers will always originate from
+          10.0.0.2.
+
+Item 15:  Multiple threads in file daemon for the same job
+  Date:   27 November 2005
+  Origin: Ove Risberg (Ove.Risberg at octocode dot com)
+  Status:
+
+  What:   I want the file daemon to start multiple threads for a backup
+          job so the fastest possible backup can be made.
+
+          The file daemon could parse the FileSet information and start
+          one thread for each File entry located on a separate
+          filesystem.
+
+          A confiuration option in the job section should be used to
+          enable or disable this feature. The confgutration option could
+          specify the maximum number of threads in the file daemon.
+
+          If the theads could spool the data to separate spool files
+          the restore process will not be much slower.
+
+  Why:    Multiple concurrent backups of a large fileserver with many
+          disks and controllers will be much faster.
+
+Item 16:  Add Plug-ins to the FileSet Include statements.
   Date:   28 October 2005
   Origin:
   Status: Partially coded in 1.37 -- much more to do.
@@ -322,31 +574,29 @@ Item 10:  Add Plug-ins to the FileSet Include statements.
           plug-in knows how to backup his Oracle database without
           stopping/starting it, for example.
 
-Item 11:  Implement more Python events in Bacula.
-  Date:   28 October 2005
-  Origin: Kern
-  Status: 
-
-  What:   Allow Python scripts to be called at more places 
-          within Bacula and provide additional access to Bacula
-          internal variables.
+Item 17:  Restore only file attributes (permissions, ACL, owner, group...)
+  Origin: Eric Bollengier
+  Date:   30/12/2006
+  Status:
 
-  Why:    This will permit users to customize Bacula through
-          Python scripts.
+  What:   The goal of this project is to be able to restore only rights
+          and attributes of files without crushing them.
 
-  Notes:  Recycle event
-          Scratch pool event
-          NeedVolume event
-          MediaFull event
-           
-          Also add a way to get a listing of currently running
-          jobs (possibly also scheduled jobs).
+  Why:    Who have never had to repair a chmod -R 777, or a wild update
+          of recursive right under Windows? At this time, you must have
+          enough space to restore data, dump attributes (easy with acl,
+          more complex with unix/windows rights) and apply them to your 
+          broken tree. With this options, it will be very easy to compare
+          right or ACL over the time.
 
+  Notes:  If the file is here, we skip restore and we change rights.
+          If the file isn't here, we can create an empty one and apply
+          rights or do nothing.
 
-Item 12:  Quick release of FD-SD connection after backup.
+Item 18:  Quick release of FD-SD connection after backup.
   Origin: Frank Volf (frank at deze dot org)
   Date:   17 November 2005
-  Status:
+  Status: Done -- implemented by Kern -- in CVS 26Jan07
 
    What:  In the Bacula implementation a backup is finished after all data
           and attributes are successfully written to storage.  When using a
@@ -380,49 +630,49 @@ Item 12:  Quick release of FD-SD connection after backup.
 
    Why:   Makes backup of laptops much faster.
 
-
-
-Item 13:  Implement huge exclude list support using hashing.
+Item 19:  Implement a Python interface to the Bacula catalog.
   Date:   28 October 2005
   Origin: Kern
   Status: 
 
-  What:   Allow users to specify very large exclude list (currently
-          more than about 1000 files is too many).
-
-  Why:    This would give the users the ability to exclude all
-          files that are loaded with the OS (e.g. using rpms
-          or debs). If the user can restore the base OS from
-          CDs, there is no need to backup all those files. A
-          complete restore would be to restore the base OS, then
-          do a Bacula restore. By excluding the base OS files, the
-          backup set will be *much* smaller.
+  What:   Implement an interface for Python scripts to access
+          the catalog through Bacula.
 
+  Why:    This will permit users to customize Bacula through
+          Python scripts.
 
-Item 14:  Allow skipping execution of Jobs
-  Date:   29 November 2005
-  Origin: Florian Schnabel <florian.schnabel at docufy dot de>
+Item 20:  Archive data
+  Date:   15/5/2006
+  Origin: calvin streeting calvin at absentdream dot com
   Status:
 
-    What: An easy option to skip a certain job  on a certain date.
-     Why: You could then easily skip tape backups on holidays.  Especially
-          if you got no autochanger and can only fit one backup on a tape
-          that would be really handy, other jobs could proceed normally
-          and you won't get errors that way.
-
+  What:   The abilty to archive to media (dvd/cd) in a uncompressed format
+          for dead filing (archiving not backing up)
 
-Item 15:  Tray monitor window cleanups
-  Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
-  Date:   24 July 2006
-  Status:
-  What:   Resizeable and scrollable windows in the tray monitor.
+    Why:  At my works when jobs are finished and moved off of the main file
+          servers (raid based systems) onto a simple linux file server (ide based
+          system) so users can find old information without contacting the IT
+          dept.
 
-  Why:    With multiple clients, or with many jobs running, the displayed
-          window often ends up larger than the available screen, making
-          the trailing items difficult to read.
+          So this data dosn't realy change it only gets added to,
+          But it also needs backing up.  At the moment it takes
+          about 8 hours to back up our servers (working data) so
+          rather than add more time to existing backups i am trying
+          to implement a system where we backup the acrhive data to
+          cd/dvd these disks would only need to be appended to
+          (burn only new/changed files to new disks for off site
+          storage).  basialy understand the differnce between
+          achive data and live data.
 
+  Notes:  Scan the data and email me when it needs burning divide
+          into predifind chunks keep a recored of what is on what
+          disk make me a label (simple php->mysql=>pdf stuff) i
+          could do this bit ability to save data uncompresed so
+          it can be read in any other system (future proof data)
+          save the catalog with the disk as some kind of menu
+          system 
 
-Item 16:  Split documentation
+Item 21:  Split documentation
   Origin: Maxx <maxxatworkat gmail dot com>
   Date:   27th July 2006
   Status:
@@ -444,27 +694,64 @@ Item 16:  Split documentation
              etc.
 
 
+Item 22:  Implement support for stacking arbitrary stream filters, sinks.
+Date:     23 November 2006
+Origin:   Landon Fuller <landonf@threerings.net>
+Status:   Planning. Assigned to landonf.
 
-Item 17:  Automatic promotion of backup levels
-   Date:  19 January 2006
-  Origin: Adam Thornton <athornton@sinenomine.net>
-  Status: 
-
-    What: Amanda has a feature whereby it estimates the space that a  
-          differential, incremental, and full backup would take.  If the  
-          difference in space required between the scheduled level and the next  
-          level up is beneath some user-defined critical threshold, the backup  
-          level is bumped to the next type.  Doing this minimizes the number of  
-          volumes necessary during a restore, with a fairly minimal cost in  
-          backup media space.
-
-    Why:  I know at least one (quite sophisticated and smart) user  
-          for whom the absence of this feature is a deal-breaker in terms of  
-          using Bacula; if we had it it would eliminate the one cool thing  
-          Amanda can do and we can't (at least, the one cool thing I know of).
+  What:   Implement support for the following:
+          - Stacking arbitrary stream filters (eg, encryption, compression,  
+            sparse data handling))
+          - Attaching file sinks to terminate stream filters (ie, write out  
+            the resultant data to a file)
+          - Refactor the restoration state machine accordingly
 
+   Why:   The existing stream implementation suffers from the following:
+           - All state (compression, encryption, stream restoration), is  
+             global across the entire restore process, for all streams. There are  
+             multiple entry and exit points in the restoration state machine, and  
+             thus multiple places where state must be allocated, deallocated,  
+             initialized, or reinitialized. This results in exceptional complexity  
+             for the author of a stream filter.
+           - The developer must enumerate all possible combinations of filters  
+             and stream types (ie, win32 data with encryption, without encryption,  
+             with encryption AND compression, etc).
 
-Item 18:  Add an override in Schedule for Pools based on backup types.
+  Notes:  This feature request only covers implementing the stream filters/ 
+          sinks, and refactoring the file daemon's restoration implementation  
+          accordingly. If I have extra time, I will also rewrite the backup  
+          implementation. My intent in implementing the restoration first is to  
+          solve pressing bugs in the restoration handling, and to ensure that  
+          the new restore implementation handles existing backups correctly.
+
+          I do not plan on changing the network or tape data structures to  
+          support defining arbitrary stream filters, but supporting that  
+          functionality is the ultimate goal.
+
+          Assistance with either code or testing would be fantastic.
+
+Item 23:  Implement from-client and to-client on restore command line.
+   Date:  11 December 2006
+  Origin: Discussion on Bacula-users entitled 'Scripted restores to
+          different clients', December 2006 
+  Status: New feature request
+  What:   While using bconsole interactively, you can specify the client
+          that a backup job is to be restored for, and then you can
+          specify later a different client to send the restored files
+          back to. However, using the 'restore' command with all options
+          on the command line, this cannot be done, due to the ambiguous
+          'client' parameter. Additionally, this parameter means different
+          things depending on if it's specified on the command line or
+          afterwards, in the Modify Job screens.
+     Why: This feature would enable restore jobs to be more completely
+          automated, for example by a web or GUI front-end.
+   Notes: client can also be implied by specifying the jobid on the command
+          line
+
+Item 24:  Add an override in Schedule for Pools based on backup types.
 Date:     19 Jan 2005
 Origin:   Chad Slater <chad.slater@clickfox.com>
 Status: 
@@ -483,86 +770,108 @@ Status:
           backups, then the Full job would use the proper Storage device, which
           has more capacity (i.e. a 8TB tape library.
 
-Item 19:  An option to operate on all pools with update vol parameters
-  Origin: Dmitriy Pinchukov <absh@bossdev.kiev.ua>
-   Date:  16 August 2006
-  Status:
-
-   What:  When I do update -> Volume parameters -> All Volumes
-          from Pool, then I have to select pools one by one.  I'd like
-          console to have an option like "0: All Pools" in the list of
-          defined pools.
-
-   Why:   I have many pools and therefore unhappy with manually
-          updating each of them using update -> Volume parameters -> All
-          Volumes from Pool -> pool #.
-
-
+Item 25:  Implement huge exclude list support using hashing (dlists).
+  Date:   28 October 2005
+  Origin: Kern
+  Status: Done in 2.1.2 but was done with dlists (doubly linked lists
+          since hashing will not help. The huge list also supports
+          large include lists).
 
-Item 20:  Include JobID in spool file name ****DONE****
-  Origin: Mark Bergman <mark.bergman@uphs.upenn.edu>
-  Date:   Tue Aug 22 17:13:39 EDT 2006
-  Status: Done. (patches/testing/project-include-jobid-in-spool-name.patch)
-          No need to vote for this item.
+  What:   Allow users to specify very large exclude list (currently
+          more than about 1000 files is too many).
 
-  What:   Change the name of the spool file to include the JobID
+  Why:    This would give the users the ability to exclude all
+          files that are loaded with the OS (e.g. using rpms
+          or debs). If the user can restore the base OS from
+          CDs, there is no need to backup all those files. A
+          complete restore would be to restore the base OS, then
+          do a Bacula restore. By excluding the base OS files, the
+          backup set will be *much* smaller.
 
-  Why:    JobIDs are the common key used to refer to jobs, yet the 
-          spoolfile name doesn't include that information. The date/time
-          stamp is useful (and should be retained).
+Item 26:  Implement more Python events in Bacula.
+  Date:   28 October 2005
+  Origin: Kern
+  Status: 
 
+  What:   Allow Python scripts to be called at more places 
+          within Bacula and provide additional access to Bacula
+          internal variables.
 
+  Why:    This will permit users to customize Bacula through
+          Python scripts.
 
-Item 21:  Include timestamp of job launch in "stat clients" output
-  Origin: Mark Bergman <mark.bergman@uphs.upenn.edu>
-  Date:   Tue Aug 22 17:13:39 EDT 2006
-  Status:
+  Notes:  Recycle event
+          Scratch pool event
+          NeedVolume event
+          MediaFull event
+           
+          Also add a way to get a listing of currently running
+          jobs (possibly also scheduled jobs).
 
-  What:   The "stat clients" command doesn't include any detail on when
-          the active backup jobs were launched.
 
-  Why:    Including the timestamp would make it much easier to decide whether
-          a job is running properly. 
+Item 27:  Incorporation of XACML2/SAML2 parsing
+   Date:   19 January 2006
+   Origin: Adam Thornton <athornton@sinenomine.net>
+   Status: Blue sky
 
-  Notes:  It may be helpful to have the output from "stat clients" formatted 
-          more like that from "stat dir" (and other commands), in a column
-          format. The per-client information that's currently shown (level,
-          client name, JobId, Volume, pool, device, Files, etc.) is good, but
-          somewhat hard to parse (both programmatically and visually), 
-          particularly when there are many active clients.
+   What:   XACML is "eXtensible Access Control Markup Language" and  
+          "SAML is the "Security Assertion Markup Language"--an XML standard  
+          for making statements about identity and authorization.  Having these  
+          would give us a framework to approach ACLs in a generic manner, and  
+          in a way flexible enough to support the four major sorts of ACLs I  
+          see as a concern to Bacula at this point, as well as (probably) to  
+          deal with new sorts of ACLs that may appear in the future.
 
+   Why:    Bacula is beginning to need to back up systems with ACLs  
+          that do not map cleanly onto traditional Unix permissions.  I see  
+          four sets of ACLs--in general, mutually incompatible with one  
+          another--that we're going to need to deal with.  These are: NTFS  
+          ACLs, POSIX ACLs, NFSv4 ACLS, and AFS ACLS.  (Some may question the  
+          relevance of AFS; AFS is one of Sine Nomine's core consulting  
+          businesses, and having a reputable file-level backup and restore  
+          technology for it (as Tivoli is probably going to drop AFS support  
+          soon since IBM no longer supports AFS) would be of huge benefit to  
+          our customers; we'd most likely create the AFS support at Sine Nomine  
+          for inclusion into the Bacula (and perhaps some changes to the  
+          OpenAFS volserver) core code.)
 
+          Now, obviously, Bacula already handles NTFS just fine.  However, I  
+          think there's a lot of value in implementing a generic ACL model, so  
+          that it's easy to support whatever particular instances of ACLs come  
+          down the pike: POSIX ACLS (think SELinux) and NFSv4 are the obvious  
+          things arriving in the Linux world in a big way in the near future.   
+          XACML, although overcomplicated for our needs, provides this  
+          framework, and we should be able to leverage other people's  
+          implementations to minimize the amount of work *we* have to do to get  
+          a generic ACL framework.  Basically, the costs of implementation are  
+          high, but they're largely both external to Bacula and already sunk.
 
-Item 22:  Message mailing based on backup types
- Origin:  Evan Kaufman <evan.kaufman@gmail.com>
-   Date:  January 6, 2006
- Status:
+Item 28:  Filesystem watch triggered backup.
+  Date:   31 August 2006
+  Origin: Jesper Krogh <jesper@krogh.cc>
+  Status: Unimplemented, depends probably on "client initiated backups"
 
-   What:  In the "Messages" resource definitions, allowing messages
-          to be mailed based on the type (backup, restore, etc.) and level
-          (full, differential, etc) of job that created the originating
-          message(s).
+  What:   With inotify and similar filesystem triggeret notification
+          systems is it possible to have the file-daemon to monitor
+          filesystem changes and initiate backup.
 
- Why:     It would, for example, allow someone's boss to be emailed
-          automatically only when a Full Backup job runs, so he can
-          retrieve the tapes for offsite storage, even if the IT dept.
-          doesn't (or can't) explicitly notify him.  At the same time, his
-          mailbox wouldnt be filled by notifications of Verifies, Restores,
-          or Incremental/Differential Backups (which would likely be kept
-          onsite).
+  Why:    There are 2 situations where this is nice to have.
+          1) It is possible to get a much finer-grained backup than
+             the fixed schedules used now.. A file created and deleted
+             a few hours later, can automatically be caught.
 
- Notes:   One way this could be done is through additional message types, for example:
+          2) The introduced load on the system will probably be
+             distributed more even on the system.
 
-   Messages {
-     # email the boss only on full system backups
-     Mail = boss@mycompany.com = full, !incremental, !differential, !restore, 
-            !verify, !admin
-     # email us only when something breaks
-     MailOnError = itdept@mycompany.com = all
-   }
+  Notes:  This can be combined with configration that specifies
+          something like: "at most every 15 minutes or when changes
+          consumed XX MB".
 
+Kern Notes: I would rather see this implemented by an external program
+          that monitors the Filesystem changes, then uses the console
+          to start the appropriate job.
 
-Item 23:  Allow inclusion/exclusion of files in a fileset by creation/mod times
+Item 29:  Allow inclusion/exclusion of files in a fileset by creation/mod times
   Origin: Evan Kaufman <evan.kaufman@gmail.com>
   Date:   January 11, 2006
   Status:
@@ -612,297 +921,57 @@ Item 23:  Allow inclusion/exclusion of files in a fileset by creation/mod times
            or 'since'.
 
 
-Item 24:  Add a scheduling syntax that permits weekly rotations
-   Date:  15 December 2006
-  Origin: Gregory Brauer (greg at wildbrain dot com)
+Item 30:  Tray monitor window cleanups
+  Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
+  Date:   24 July 2006
   Status:
+  What:   Resizeable and scrollable windows in the tray monitor.
 
-   What:  Currently, Bacula only understands how to deal with weeks of the
-          month or weeks of the year in schedules.  This makes it impossible
-          to do a true weekly rotation of tapes.  There will always be a
-          discontinuity that will require disruptive manual intervention at
-          least monthly or yearly because week boundaries never align with
-          month or year boundaries.
+  Why:    With multiple clients, or with many jobs running, the displayed
+          window often ends up larger than the available screen, making
+          the trailing items difficult to read.
 
-          A solution would be to add a new syntax that defines (at least)
-          a start timestamp, and repetition period.
 
-   Why:   Rotated backups done at weekly intervals are useful, and Bacula
-          cannot currently do them without extensive hacking.
+Item 31:  Implement multiple numeric backup levels as supported by dump
+Date:     3 April 2006
+Origin:   Daniel Rich <drich@employees.org>
+Status:
+What:     Dump allows specification of backup levels numerically instead of just
+          "full", "incr", and "diff".  In this system, at any given level, all
+          files are backed up that were were modified since the last backup of a
+          higher level (with 0 being the highest and 9 being the lowest).  A
+          level 0 is therefore equivalent to a full, level 9 an incremental, and
+          the levels 1 through 8 are varying levels of differentials.  For
+          bacula's sake, these could be represented as "full", "incr", and
+          "diff1", "diff2", etc.
 
-   Notes: Here is an example syntax showing a 3-week rotation where full
-          Backups would be performed every week on Saturday, and an
-          incremental would be performed every week on Tuesday.  Each
-          set of tapes could be removed from the loader for the following
-          two cycles before coming back and being reused on the third
-          week.  Since the execution times are determined by intervals
-          from a given point in time, there will never be any issues with
-          having to adjust to any sort of arbitrary time boundary.  In
-          the example provided, I even define the starting schedule
-          as crossing both a year and a month boundary, but the run times
-          would be based on the "Repeat" value and would therefore happen
-          weekly as desired.
+Why:      Support of multiple backup levels would provide for more advanced backup
+          rotation schemes such as "Towers of Hanoi".  This would allow better
+          flexibility in performing backups, and can lead to shorter recover
+          times.
 
+Notes:    Legato Networker supports a similar system with full, incr, and 1-9 as
+          levels.
+        
+Item 32:  Automatic promotion of backup levels
+   Date:  19 January 2006
+  Origin: Adam Thornton <athornton@sinenomine.net>
+  Status: 
 
-          Schedule {
-              Name = "Week 1 Rotation"
-              #Saturday.  Would run Dec 30, Jan 20, Feb 10, etc.
-              Run {
-                  Options {
-                      Type   = Full
-                      Start  = 2006-12-30 01:00
-                      Repeat = 3w
-                  }
-              }
-              #Tuesday.  Would run Jan 2, Jan 23, Feb 13, etc.
-              Run {
-                  Options {
-                      Type   = Incremental
-                      Start  = 2007-01-02 01:00
-                      Repeat = 3w
-                  }
-              }
-          }
-
-          Schedule {
-              Name = "Week 2 Rotation"
-              #Saturday.  Would run Jan 6, Jan 27, Feb 17, etc.
-              Run {
-                  Options {
-                      Type   = Full
-                      Start  = 2007-01-06 01:00
-                      Repeat = 3w
-                  }
-              }
-              #Tuesday.  Would run Jan 9, Jan 30, Feb 20, etc.
-              Run {
-                  Options {
-                      Type   = Incremental
-                      Start  = 2007-01-09 01:00
-                      Repeat = 3w
-                  }
-              }
-          }
-
-          Schedule {
-              Name = "Week 3 Rotation"
-              #Saturday.  Would run Jan 13, Feb 3, Feb 24, etc.
-              Run {
-                  Options {
-                      Type   = Full
-                      Start  = 2007-01-13 01:00
-                      Repeat = 3w
-                  }
-              }
-              #Tuesday.  Would run Jan 16, Feb 6, Feb 27, etc.
-              Run {
-                  Options {
-                      Type   = Incremental
-                      Start  = 2007-01-16 01:00
-                      Repeat = 3w
-                  }
-              }
-          }
-
-
-Item 25:  Improve Bacula's tape and drive usage and cleaning management.
-  Date:   8 November 2005, November 11, 2005
-  Origin: Adam Thornton <athornton at sinenomine dot net>,
-          Arno Lehmann <al at its-lehmann dot de>
-  Status:
-
-  What:   Make Bacula manage tape life cycle information, tape reuse
-          times and drive cleaning cycles.
-
-  Why:    All three parts of this project are important when operating
-          backups.
-          We need to know which tapes need replacement, and we need to
-          make sure the drives are cleaned when necessary.  While many
-          tape libraries and even autoloaders can handle all this
-          automatically, support by Bacula can be helpful for smaller
-          (older) libraries and single drives.  Limiting the number of
-          times a tape is used might prevent tape errors when using
-          tapes until the drives can't read it any more.  Also, checking
-          drive status during operation can prevent some failures (as I
-          [Arno] had to learn the hard way...)
-
-  Notes:  First, Bacula could (and even does, to some limited extent)
-          record tape and drive usage.  For tapes, the number of mounts,
-          the amount of data, and the time the tape has actually been
-          running could be recorded.  Data fields for Read and Write
-          time and Number of mounts already exist in the catalog (I'm
-          not sure if VolBytes is the sum of all bytes ever written to
-          that volume by Bacula).  This information can be important
-          when determining which media to replace.  The ability to mark
-          Volumes as "used up" after a given number of write cycles
-          should also be implemented so that a tape is never actually
-          worn out.  For the tape drives known to Bacula, similar
-          information is interesting to determine the device status and
-          expected life time: Time it's been Reading and Writing, number
-          of tape Loads / Unloads / Errors.  This information is not yet
-          recorded as far as I [Arno] know.  A new volume status would
-          be necessary for the new state, like "Used up" or "Worn out".
-          Volumes with this state could be used for restores, but not
-          for writing. These volumes should be migrated first (assuming
-          migration is implemented) and, once they are no longer needed,
-          could be moved to a Trash pool.
-
-          The next step would be to implement a drive cleaning setup.
-          Bacula already has knowledge about cleaning tapes.  Once it
-          has some information about cleaning cycles (measured in drive
-          run time, number of tapes used, or calender days, for example)
-          it can automatically execute tape cleaning (with an
-          autochanger, obviously) or ask for operator assistance loading
-          a cleaning tape.
-
-          The final step would be to implement TAPEALERT checks not only
-          when changing tapes and only sending the information to the
-          administrator, but rather checking after each tape error,
-          checking on a regular basis (for example after each tape
-          file), and also before unloading and after loading a new tape.
-          Then, depending on the drives TAPEALERT state and the known
-          drive cleaning state Bacula could automatically schedule later
-          cleaning, clean immediately, or inform the operator.
-
-          Implementing this would perhaps require another catalog change
-          and perhaps major changes in SD code and the DIR-SD protocol,
-          so I'd only consider this worth implementing if it would
-          actually be used or even needed by many people.
-
-          Implementation of these projects could happen in three distinct
-          sub-projects: Measuring Tape and Drive usage, retiring
-          volumes, and handling drive cleaning and TAPEALERTs.
-
-Item 26:  Implement support for stacking arbitrary stream filters, sinks.
-Date:     23 November 2006
-Origin:   Landon Fuller <landonf@threerings.net>
-Status:   Planning. Assigned to landonf.
-
-  What:   Implement support for the following:
-          - Stacking arbitrary stream filters (eg, encryption, compression,  
-            sparse data handling))
-          - Attaching file sinks to terminate stream filters (ie, write out  
-            the resultant data to a file)
-          - Refactor the restoration state machine accordingly
-
-   Why:   The existing stream implementation suffers from the following:
-           - All state (compression, encryption, stream restoration), is  
-             global across the entire restore process, for all streams. There are  
-             multiple entry and exit points in the restoration state machine, and  
-             thus multiple places where state must be allocated, deallocated,  
-             initialized, or reinitialized. This results in exceptional complexity  
-             for the author of a stream filter.
-           - The developer must enumerate all possible combinations of filters  
-             and stream types (ie, win32 data with encryption, without encryption,  
-             with encryption AND compression, etc).
-
-  Notes:  This feature request only covers implementing the stream filters/ 
-          sinks, and refactoring the file daemon's restoration implementation  
-          accordingly. If I have extra time, I will also rewrite the backup  
-          implementation. My intent in implementing the restoration first is to  
-          solve pressing bugs in the restoration handling, and to ensure that  
-          the new restore implementation handles existing backups correctly.
-
-          I do not plan on changing the network or tape data structures to  
-          support defining arbitrary stream filters, but supporting that  
-          functionality is the ultimate goal.
-
-          Assistance with either code or testing would be fantastic.
-
-Item 27:  Allow FD to initiate a backup
-  Origin: Frank Volf (frank at deze dot org)
-  Date:   17 November 2005
-  Status:
-
-   What:  Provide some means, possibly by a restricted console that
-          allows a FD to initiate a backup, and that uses the connection
-          established by the FD to the Director for the backup so that
-          a Director that is firewalled can do the backup.
-
-   Why:   Makes backup of laptops much easier.
-
-Item 28:  Directive/mode to backup only file changes, not entire file
-  Date:   11 November 2005
-  Origin: Joshua Kugler <joshua dot kugler at uaf dot edu>
-          Marek Bajon <mbajon at bimsplus dot com dot pl>
-  Status: 
-
-  What:   Currently when a file changes, the entire file will be backed up in
-          the next incremental or full backup.  To save space on the tapes
-          it would be nice to have a mode whereby only the changes to the
-          file would be backed up when it is changed.
-
-  Why:    This would save lots of space when backing up large files such as 
-          logs, mbox files, Outlook PST files and the like.
-
-  Notes:  This would require the usage of disk-based volumes as comparing 
-          files would not be feasible using a tape drive.
-
-Item 29:  Automatic disabling of devices
-   Date:  2005-11-11
-  Origin: Peter Eriksson <peter at ifm.liu dot se>
-  Status:
-
-   What:  After a configurable amount of fatal errors with a tape drive
-          Bacula should automatically disable further use of a certain
-          tape drive. There should also be "disable"/"enable" commands in
-          the "bconsole" tool.
-
-   Why:   On a multi-drive jukebox there is a possibility of tape drives
-          going bad during large backups (needing a cleaning tape run,
-          tapes getting stuck). It would be advantageous if Bacula would
-          automatically disable further use of a problematic tape drive
-          after a configurable amount of errors has occurred.
-
-          An example: I have a multi-drive jukebox (6 drives, 380+ slots)
-          where tapes occasionally get stuck inside the drive. Bacula will
-          notice that the "mtx-changer" command will fail and then fail
-          any backup jobs trying to use that drive. However, it will still
-          keep on trying to run new jobs using that drive and fail -
-          forever, and thus failing lots and lots of jobs... Since we have
-          many drives Bacula could have just automatically disabled
-          further use of that drive and used one of the other ones
-          instead.
-
-Item 30:  Incorporation of XACML2/SAML2 parsing
-   Date:   19 January 2006
-   Origin: Adam Thornton <athornton@sinenomine.net>
-   Status: Blue sky
-
-   What:   XACML is "eXtensible Access Control Markup Language" and  
-          "SAML is the "Security Assertion Markup Language"--an XML standard  
-          for making statements about identity and authorization.  Having these  
-          would give us a framework to approach ACLs in a generic manner, and  
-          in a way flexible enough to support the four major sorts of ACLs I  
-          see as a concern to Bacula at this point, as well as (probably) to  
-          deal with new sorts of ACLs that may appear in the future.
-
-   Why:    Bacula is beginning to need to back up systems with ACLs  
-          that do not map cleanly onto traditional Unix permissions.  I see  
-          four sets of ACLs--in general, mutually incompatible with one  
-          another--that we're going to need to deal with.  These are: NTFS  
-          ACLs, POSIX ACLs, NFSv4 ACLS, and AFS ACLS.  (Some may question the  
-          relevance of AFS; AFS is one of Sine Nomine's core consulting  
-          businesses, and having a reputable file-level backup and restore  
-          technology for it (as Tivoli is probably going to drop AFS support  
-          soon since IBM no longer supports AFS) would be of huge benefit to  
-          our customers; we'd most likely create the AFS support at Sine Nomine  
-          for inclusion into the Bacula (and perhaps some changes to the  
-          OpenAFS volserver) core code.)
-
-          Now, obviously, Bacula already handles NTFS just fine.  However, I  
-          think there's a lot of value in implementing a generic ACL model, so  
-          that it's easy to support whatever particular instances of ACLs come  
-          down the pike: POSIX ACLS (think SELinux) and NFSv4 are the obvious  
-          things arriving in the Linux world in a big way in the near future.   
-          XACML, although overcomplicated for our needs, provides this  
-          framework, and we should be able to leverage other people's  
-          implementations to minimize the amount of work *we* have to do to get  
-          a generic ACL framework.  Basically, the costs of implementation are  
-          high, but they're largely both external to Bacula and already sunk.
+    What: Amanda has a feature whereby it estimates the space that a  
+          differential, incremental, and full backup would take.  If the  
+          difference in space required between the scheduled level and the next  
+          level up is beneath some user-defined critical threshold, the backup  
+          level is bumped to the next type.  Doing this minimizes the number of  
+          volumes necessary during a restore, with a fairly minimal cost in  
+          backup media space.
 
+    Why:  I know at least one (quite sophisticated and smart) user  
+          for whom the absence of this feature is a deal-breaker in terms of  
+          using Bacula; if we had it it would eliminate the one cool thing  
+          Amanda can do and we can't (at least, the one cool thing I know of).
 
-Item 31:  Clustered file-daemons
+Item 33:  Clustered file-daemons
   Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
   Date:   24 July 2006
   Status:
@@ -934,7 +1003,7 @@ Item 31:  Clustered file-daemons
 
    Notes:
 
-Item 32:  Commercial database support
+Item 34:  Commercial database support
   Origin: Russell Howe <russell_howe dot wreckage dot org>
   Date:   26 July 2006
   Status:
@@ -955,176 +1024,47 @@ Item 32:  Commercial database support
           properly specced database server for storing Bacula's catalog, rather 
           than having to run a second DBMS.
 
-
-Item 33:  Archive data
-  Date:   15/5/2006
-  Origin: calvin streeting calvin at absentdream dot com
-  Status:
-
-  What:   The abilty to archive to media (dvd/cd) in a uncompressed format
-          for dead filing (archiving not backing up)
-
-    Why:  At my works when jobs are finished and moved off of the main file
-          servers (raid based systems) onto a simple linux file server (ide based
-          system) so users can find old information without contacting the IT
-          dept.
-
-          So this data dosn't realy change it only gets added to,
-          But it also needs backing up.  At the moment it takes
-          about 8 hours to back up our servers (working data) so
-          rather than add more time to existing backups i am trying
-          to implement a system where we backup the acrhive data to
-          cd/dvd these disks would only need to be appended to
-          (burn only new/changed files to new disks for off site
-          storage).  basialy understand the differnce between
-          achive data and live data.
-
-  Notes:  Scan the data and email me when it needs burning divide
-          into predifind chunks keep a recored of what is on what
-          disk make me a label (simple php->mysql=>pdf stuff) i
-          could do this bit ability to save data uncompresed so
-          it can be read in any other system (future proof data)
-          save the catalog with the disk as some kind of menu
-          system 
-
-Item 34:  Filesystem watch triggered backup.
-  Date:   31 August 2006
-  Origin: Jesper Krogh <jesper@krogh.cc>
-  Status: Unimplemented, depends probably on "client initiated backups"
-
-  What:   With inotify and similar filesystem triggeret notification
-          systems is it possible to have the file-daemon to monitor
-          filesystem changes and initiate backup.
-
-  Why:    There are 2 situations where this is nice to have.
-          1) It is possible to get a much finer-grained backup than
-             the fixed schedules used now.. A file created and deleted
-             a few hours later, can automatically be caught.
-
-          2) The introduced load on the system will probably be
-             distributed more even on the system.
-
-  Notes:  This can be combined with configration that specifies
-          something like: "at most every 15 minutes or when changes
-          consumed XX MB".
-
-Kern Notes: I would rather see this implemented by an external program
-          that monitors the Filesystem changes, then uses the console
-          to start the appropriate job.
-
-Item 35:  Implement multiple numeric backup levels as supported by dump
-Date:     3 April 2006
-Origin:   Daniel Rich <drich@employees.org>
-Status:
-What:     Dump allows specification of backup levels numerically instead of just
-          "full", "incr", and "diff".  In this system, at any given level, all
-          files are backed up that were were modified since the last backup of a
-          higher level (with 0 being the highest and 9 being the lowest).  A
-          level 0 is therefore equivalent to a full, level 9 an incremental, and
-          the levels 1 through 8 are varying levels of differentials.  For
-          bacula's sake, these could be represented as "full", "incr", and
-          "diff1", "diff2", etc.
-
-Why:      Support of multiple backup levels would provide for more advanced backup
-          rotation schemes such as "Towers of Hanoi".  This would allow better
-          flexibility in performing backups, and can lead to shorter recover
-          times.
-
-Notes:    Legato Networker supports a similar system with full, incr, and 1-9 as
-          levels.
-
-Item 36:  Implement a server-side compression feature
-  Date:   18 December 2006
-  Origin: Vadim A. Umanski , e-mail umanski@ext.ru
-  Status:
-  What:   The ability to compress backup data on server receiving data
-          instead of doing that on client sending data.
-  Why:    The need is practical. I've got some machines that can send
-          data to the network 4 or 5 times faster than compressing
-          them (I've measured that). They're using fast enough SCSI/FC
-          disk subsystems but rather slow CPUs (ex. UltraSPARC II).
-          And the backup server has got a quite fast CPUs (ex. Dual P4
-          Xeons) and quite a low load. When you have 20, 50 or 100 GB
-          of raw data - running a job 4 to 5 times faster - that
-          really matters. On the other hand, the data can be
-          compressed 50% or better - so losing twice more space for
-          disk backup is not good at all. And the network is all mine
-          (I have a dedicated management/provisioning network) and I
-          can get as high bandwidth as I need - 100Mbps, 1000Mbps...
-          That's why the server-side compression feature is needed!
-  Notes:
-
-Item 37:  Cause daemons to use a specific IP address to source communications
- Origin:  Bill Moran <wmoran@collaborativefusion.com>
- Date:    18 Dec 2006
- Status:
- What:    Cause Bacula daemons (dir, fd, sd) to always use the ip address
-          specified in the [DIR|DF|SD]Addr directive as the source IP
-          for initiating communication.
- Why:     On complex networks, as well as extremely secure networks, it's
-          not unusual to have multiple possible routes through the network.
-          Often, each of these routes is secured by different policies
-          (effectively, firewalls allow or deny different traffic depending
-          on the source address)
-          Unfortunately, it can sometimes be difficult or impossible to
-          represent this in a system routing table, as the result is
-          excessive subnetting that quickly exhausts available IP space.
-          The best available workaround is to provide multiple IPs to
-          a single machine that are all on the same subnet.  In order
-          for this to work properly, applications must support the ability
-          to bind outgoing connections to a specified address, otherwise
-          the operating system will always choose the first IP that
-          matches the required route.
- Notes:   Many other programs support this.  For example, the following
-          can be configured in BIND:
-          query-source address 10.0.0.1;
-          transfer-source 10.0.0.2;
-          Which means queries from this server will always come from
-          10.0.0.1 and zone transfers will always originate from
-          10.0.0.2.
-
-Item 38:  Multiple threads in file daemon for the same job
-  Date:   27 November 2005
-  Origin: Ove Risberg (Ove.Risberg at octocode dot com)
+Item 35:  Automatic disabling of devices
+   Date:  2005-11-11
+  Origin: Peter Eriksson <peter at ifm.liu dot se>
   Status:
 
-  What:   I want the file daemon to start multiple threads for a backup
-          job so the fastest possible backup can be made.
-
-          The file daemon could parse the FileSet information and start
-          one thread for each File entry located on a separate
-          filesystem.
-
-          A confiuration option in the job section should be used to
-          enable or disable this feature. The confgutration option could
-          specify the maximum number of threads in the file daemon.
+   What:  After a configurable amount of fatal errors with a tape drive
+          Bacula should automatically disable further use of a certain
+          tape drive. There should also be "disable"/"enable" commands in
+          the "bconsole" tool.
 
-          If the theads could spool the data to separate spool files
-          the restore process will not be much slower.
+   Why:   On a multi-drive jukebox there is a possibility of tape drives
+          going bad during large backups (needing a cleaning tape run,
+          tapes getting stuck). It would be advantageous if Bacula would
+          automatically disable further use of a problematic tape drive
+          after a configurable amount of errors has occurred.
 
-  Why:    Multiple concurrent backups of a large fileserver with many
-          disks and controllers will be much faster.
+          An example: I have a multi-drive jukebox (6 drives, 380+ slots)
+          where tapes occasionally get stuck inside the drive. Bacula will
+          notice that the "mtx-changer" command will fail and then fail
+          any backup jobs trying to use that drive. However, it will still
+          keep on trying to run new jobs using that drive and fail -
+          forever, and thus failing lots and lots of jobs... Since we have
+          many drives Bacula could have just automatically disabled
+          further use of that drive and used one of the other ones
+          instead.
 
-Item 39:  Restore only file attributes (permissions, ACL, owner, group...)
-  Origin: Eric Bollengier
-  Date:   30/12/2006
+Item 36:  An option to operate on all pools with update vol parameters
+  Origin: Dmitriy Pinchukov <absh@bossdev.kiev.ua>
+   Date:  16 August 2006
   Status:
 
-  What:   The goal of this project is to be able to restore only rights
-          and attributes of files without crushing them.
-
-  Why:    Who have never had to repair a chmod -R 777, or a wild update
-          of recursive right under Windows? At this time, you must have
-          enough space to restore data, dump attributes (easy with acl,
-          more complex with unix/windows rights) and apply them to your 
-          broken tree. With this options, it will be very easy to compare
-          right or ACL over the time.
+   What:  When I do update -> Volume parameters -> All Volumes
+          from Pool, then I have to select pools one by one.  I'd like
+          console to have an option like "0: All Pools" in the list of
+          defined pools.
 
-  Notes:  If the file is here, we skip restore and we change rights.
-          If the file isn't here, we can create an empty one and apply
-          rights or do nothing.
+   Why:   I have many pools and therefore unhappy with manually
+          updating each of them using update -> Volume parameters -> All
+          Volumes from Pool -> pool #.
 
-Item 40:  Add an item to the restore option where you can select a pool
+Item 37:  Add an item to the restore option where you can select a pool
   Origin: kshatriyak at gmail dot com
     Date: 1/1/2006
   Status:
@@ -1147,6 +1087,189 @@ Item 40:  Add an item to the restore option where you can select a pool
           when you have 2 pools is to manually search for the right
           job-id's and enter them by hand, which is a bit fault tolerant.
 
+Item 38:  Include timestamp of job launch in "stat clients" output
+  Origin: Mark Bergman <mark.bergman@uphs.upenn.edu>
+  Date:   Tue Aug 22 17:13:39 EDT 2006
+  Status:
+
+  What:   The "stat clients" command doesn't include any detail on when
+          the active backup jobs were launched.
+
+  Why:    Including the timestamp would make it much easier to decide whether
+          a job is running properly. 
+
+  Notes:  It may be helpful to have the output from "stat clients" formatted 
+          more like that from "stat dir" (and other commands), in a column
+          format. The per-client information that's currently shown (level,
+          client name, JobId, Volume, pool, device, Files, etc.) is good, but
+          somewhat hard to parse (both programmatically and visually), 
+          particularly when there are many active clients.
+
+
+Item 39:  Message mailing based on backup types
+ Origin:  Evan Kaufman <evan.kaufman@gmail.com>
+   Date:  January 6, 2006
+ Status:
+
+   What:  In the "Messages" resource definitions, allowing messages
+          to be mailed based on the type (backup, restore, etc.) and level
+          (full, differential, etc) of job that created the originating
+          message(s).
+
+ Why:     It would, for example, allow someone's boss to be emailed
+          automatically only when a Full Backup job runs, so he can
+          retrieve the tapes for offsite storage, even if the IT dept.
+          doesn't (or can't) explicitly notify him.  At the same time, his
+          mailbox wouldnt be filled by notifications of Verifies, Restores,
+          or Incremental/Differential Backups (which would likely be kept
+          onsite).
+
+ Notes:   One way this could be done is through additional message types, for example:
+
+   Messages {
+     # email the boss only on full system backups
+     Mail = boss@mycompany.com = full, !incremental, !differential, !restore, 
+            !verify, !admin
+     # email us only when something breaks
+     MailOnError = itdept@mycompany.com = all
+   }
+
+
+Item 40:  Include JobID in spool file name ****DONE****
+  Origin: Mark Bergman <mark.bergman@uphs.upenn.edu>
+  Date:   Tue Aug 22 17:13:39 EDT 2006
+  Status: Done. (patches/testing/project-include-jobid-in-spool-name.patch)
+          No need to vote for this item.
+
+  What:   Change the name of the spool file to include the JobID
+
+  Why:    JobIDs are the common key used to refer to jobs, yet the 
+          spoolfile name doesn't include that information. The date/time
+          stamp is useful (and should be retained).
+
+============= New Freature Requests after vote of 26 Jan 2007 ========
+Item  41: Enable to relocate files and directories when restoring
+  Date:   2007-03-01
+  Origin: Eric Bollengier <eric@eb.homelinux.org>
+  Status: Done.
+
+  What:   The where= option is not powerful enough. It will be
+          a great feature if bacula can restore a file in the
+          same directory, but with a different name, or in 
+          an other directory without recreating the full path.
+
+  Why:    When i want to restore a production environment to a
+          development environment, i just want change the first
+          directory. ie restore /prod/data/file.dat to /rect/data/file.dat.
+          At this time, i have to move by hand files. You must have a big
+          dump space to restore and move data after.
+
+          When i use Linux or SAN snapshot, i mount them to /mnt/snap_xxx
+          so, when a restore a file, i have to move by hand
+          from /mnt/snap_xxx/file to /xxx/file. I can't replace a file
+          easily.
+
+          When a user ask me to restore a file in its personal folder,
+          (without replace the existing one), i can't restore from
+          my_file.txt to my_file.txt.old witch is very practical.
+
+          
+  Notes:  I think we can enhance the where= option very easily by
+          allowing regexp expression. 
+
+          Since, many users think that regexp are not user friendly, i think
+          that bat, bconsole or brestore must provide a simple way to
+          configure where= option (i think to something like in
+          openoffice "search and replace").
+
+          Ie, if user uses where=/tmp/bacula-restore, we keep the old
+          fashion.
+
+          If user uses something like where=s!/prod!/test!, files will
+          be restored from /prod/xxx to /test/xxx.
+
+          If user uses something like where=s/$/.old/, files will
+          be restored from /prod/xxx.txt to /prod/xxx.txt.old.
+
+          If user uses something like where=s/txt$/old.txt/, files will
+          be restored from /prod/xxx.txt to /prod/xxx.old.txt
+
+          if user uses something like where=s/([a-z]+)$/old.$1/, files will
+          be restored from /prod/xxx.ext to /prod/xxx.old.ext
+
+Item n:   Implement Catalog directive for Pool resource in Director
+configuration 
+  Origin: Alan Davis adavis@ruckus.com
+  Date:   6 March 2007
+  Status: Submitted
+  What:   The current behavior is for the director to create all pools
+          found in the configuration file in all catalogs.  Add a
+          Catalog directive to the Pool resource to specify which
+          catalog to use for each pool definition.
+  Why:    This allows different catalogs to have different pool
+          attributes and eliminates the side-effect of adding
+          pools to catalogs that don't need/use them.
+  Notes:  
+
+
+Item n:   Implement NDMP protocol support
+  Origin: Alan Davis
+  Date:   06 March 2007
+  Status: Submitted
+
+  What:   Network Data Management Protocol is implemented by a number of
+          NAS filer vendors to enable backups using third-party
+          software.
+
+  Why:    This would allow NAS filer backups in Bacula without incurring
+          the overhead of NFS or SBM/CIFS.
+
+  Notes:  Further information is available:
+          http://www.ndmp.org
+          http://www.ndmp.org/wp/wp.shtml
+          http://www.traakan.com/ndmjob/index.html
+
+          There are currently no viable open-source NDMP
+          implementations.  There is a reference SDK and example
+          app available from ndmp.org but it has problems
+          compiling on recent Linux and Solaris OS'.  The ndmjob
+          reference implementation from Traakan is known to
+          compile on Solaris 10.
+
+  Notes (Kern): I am not at all in favor of this until NDMP becomes
+          an Open Standard or until there are Open Source libraries
+          that interface to it.
+
+Item n: make changing "spooldata=yes|no" possible for
+        manual/interactive jobs
+
+Origin: Marc Schiffbauer <marc@schiffbauer.net>
+
+Date:   12 April 2007)
+
+Status: NEW
+
+What:   Make it possible to modify the spooldata option
+        for a job when being run from within the console.
+        Currently it is possible to modify the backup level
+        and the spooldata setting in a Schedule resource.
+        It is also possible to modify the backup level when using
+        the "run" command in the console. 
+        But it is currently not possible to to the same 
+        with "spooldata=yes|no" like:
+
+        run job=MyJob level=incremental spooldata=yes
+
+Why:    In some situations it would be handy to be able to switch
+        spooldata on or off for interactive/manual jobs based on
+        which data the admin expects or how fast the LAN/WAN
+        connection currently is.
+
+Notes:  ./.
+
 ============= Empty Feature Request form ===========
 Item  n:  One line summary ...
   Date:   Date submitted 
@@ -1160,7 +1283,6 @@ Item  n:  One line summary ...
   Notes:  Additional notes or features (omit if not used)
 ============== End Feature Request form ==============
 
-
 </pre>
 
         </td>
index 6ede6962519d716af6c7dc9eb52a1b64ee643fae..5bd53320c22c4da1afc18b6954fd8cd8cdee6534 100644 (file)
@@ -9,7 +9,7 @@
    <td class="content">
 
    <ul class="hardware">
-      <li><b>Bacula</b> has been compiled and run on Linux RedHat, FreeBSD,
+      <li><b>Bacula</b> has been compiled and run on Linux, FreeBSD,
               and Solaris systems.</li>
       <li>It requires GNU C++ version 2.95 or higher to compile.  You can try
               with other compilers and older versions, but you are on your
               separate package (e.g.  RPM) from GNU C, so you need them both
               loaded.  On RedHat systems, the C++ compiler is part of the
               <b>gcc-c++</b> rpm package.  </li>
-
       <li>There are certain third party packages that Bacula needs.
               Except for MySQL and PostgreSQL, they can all be found in the
               <b>depkgs</b> and <b>depkgs1</b> releases.</li>
-      <li>If you want to build the Win32 binaries, you will need a
-              Microsoft Visual C++ compiler (or Visual Studio).
-              Although all components build (console has
-              some warnings), only the File daemon has been tested. </li>
+      <li>If you want to build the Win32 binaries, you should know
+              that they are cross-compiled on a Linux machine. For
+              more information, please see the src/win32/README.mingw32
+              file in the source distribution.
+              Although we document it, we do not support building the
+              Win32 binaries. Only the Win32 File daemon is officially
+              supported, though the other daemons are available in the
+              binary release.</li>
       <li><b>Bacula</b> requires a good implementation of pthreads to work.
               This is not the case on some of the BSD systems.</li>
       <li>The source code has been written with portability in mind and is
               mostly POSIX compatible. Thus porting to any POSIX compatible
               operating system should be relatively easy.</li>
       <li>The GNOME Console program is developed and tested under GNOME 2.x.
-              It also runs under GNOME 1.4 but this version is deprecated and
-              thus no longer maintained.</li>
-
+              </li>
       <li>The wxWidgets Console program is developed and tested with the
               latest stable version of <a
               href="http://www.wxwidgets.org/">wxWidgets</a> (2.6).  It
-              works fine with the Windows and GTK+-1.x version of wxWidgets,
+              works fine with the Windows and GTK+-2.x version of wxWidgets,
               and should also works on other platforms supported by
               wxWidgets.</li>
       <li>The Tray Monitor program is developed for GTK+-2.x. It needs
index 5fa0812e7dbc62972c5f60e20e689ac5a2e3042f..64b1c40711bf5ec9f93a06e4509cdbf13db8643a 100644 (file)
    <a href="http://news.gmane.org/search.php?match=bacula">
    http://news.gmane.org/search.php?match=bacula</a>.
 
+   Also, if you are using Bacula in production, we highly recommend
+   subscribing to the bugs database at: <a href="http://bugs.bacula.org">
+   http://bugs.bacula.org</a> to keep informed of problems and 
+   patches.
+
    <p>For support, send an email to
    <b>bacula-users at lists.sourceforge.net</b>, and if you are
    specific enough, some kind Bacula user will help you. Please
index 641fda3b3193f5be82d5db5b750fa057b4937a13..76a5117b451c7bcb9a4b1e510c704ff6edb20937 100644 (file)
@@ -1 +1 @@
-2.1.26 (12 July 2007)
+2.1.29 (22 July 2007)
index 20e3167685b31b019b1bc72cc396590cd2ec5c04..8fc2a30794c18746c252985fcc4d0bcc5102d5ec 100644 (file)
@@ -12,11 +12,12 @@ These are questions that have been submitted over time by the
 Bacula users. The following
 FAQ is very useful, but it is not always up to date 
 with newer information, so after reading it, if you don't find what you 
-want, you might try the following wiki maintained by Frank Sweetser, which
+want, you might try the Bacula wiki maintained by Frank Sweetser, which
 contains more than just a FAQ:
-\elink{http://paramount.ind.wpi.edu/wiki/}{http://paramount.ind.wpi.edu/wiki/}
-or go directly to his FAQ at: 
-\elink{http://paramount.ind.wpi.edu/wiki/doku.php?id=faq}{http://paramount.ind.wpi.edu/wiki/doku.php?id=faq}.
+\elink{http://wiki.bacula.org}{\url{http://wiki.bacula.org}}
+or go directly to the FAQ at: 
+\elink{http://wiki.bacula.org/doku.php?id=faq}
+{\url{http://wiki.bacula.org/doku.php?id=faq}}.
 
 Please also see
 \ilink{the bugs section}{BugsChapter} of this document for a list
index b2793e25e49f351daaeb056b0b95edd66069d1d6..d8272dd2dccaf0fed146913d2b78ac5cceac0d08 100644 (file)
@@ -668,14 +668,15 @@ customize your installation.
    configuration parameter is used while building Bacula
 
 \item [ {-}{-}enable-bat ]
+   \label{enablebat}
    \index[general]{{-}{-}enable-bat}
    If you have Qt4 >= 4.2 installed on your computer including the
-   libqt4 and libqt4-devel libraries, and you want to use the
-   Bacula Administration Tool (bat) GUI Console interface to Bacula, you
-   must specify this option.  Doing so will build everything in the {\bf
-   src/qt-console} directory.  In addition to the Qt4 libraries, bat
-   needs the qwt package installed on your system. Please see the
-   next configure item for the details.
+   libqt4 and libqt4-devel (libqt4-dev on Debian) libraries, and you want
+   to use the Bacula Administration Tool (bat) GUI Console interface to
+   Bacula, you must specify this option.  Doing so will build everything in
+   the {\bf src/qt-console} directory.  In addition to the Qt4 libraries,
+   bat needs the qwt package installed on your system.  Please see the next
+   configure item for the details.
 
 \item [ {-}{-}with-qwt=\lt{}path\gt{} ]
   \index[general]{{-}{-}with-qwt}
@@ -697,6 +698,10 @@ customize your installation.
  --with-qwt=$HOME/bacula/depkgs/qwt
 \end{verbatim}
 
+   Some packages such as Debian do not adhere to the standard of
+   naming the library libqwt.a or libqwt.so, and you will either need
+   to manually add a soft link to the name they use or use the
+   depkgs version, which handles the naming correctly.
 
 \item [ {-}{-}enable-batch-insert ]
    \index[general]{{-}{-}enable-batch-insert}
index b3088cc925d5063804b584c0a065847bb4b023d3..6fcc81edc6439df44c37c66f6a4dcd75e393b6fd 100644 (file)
@@ -6,25 +6,25 @@
 \index[general]{GNU Lesser General Public License }
 \index[general]{License!GNU Lesser General Public }
 
-\elink{image of a Philosophical
-GNU}{http://www.gnu.org/graphics/philosophicalgnu.html} [  
-\elink{English}{http://www.gnu.org/copyleft/lesser.html} | 
-\elink{Japanese}{http://www.gnu.org/copyleft/lesser.ja.html} ] 
+\elink{image of a Philosophical GNU}
+{\url{http://www.gnu.org/graphics/philosophicalgnu.html}} [  
+\elink{English}{\url{http://www.gnu.org/copyleft/lesser.html}} | 
+\elink{Japanese}{\url{http://www.gnu.org/copyleft/lesser.ja.html}} ] 
 
 \begin{itemize}
 \item 
    \elink{Why you shouldn't use the Lesser GPL for your next
-   library}{http://www.gnu.org/philosophy/why-not-lgpl.html}  
+   library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}}  
 \item 
    \elink{What to do if you see a possible LGPL
-   violation}{http://www.gnu.org/copyleft/gpl-violation.html}  
+   violation}{\url{http://www.gnu.org/copyleft/gpl-violation.html}}  
 \item 
-   \elink{Translations of the
-   LGPL}{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}  
+   \elink{Translations of the LGPL}
+{\url{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}}  
 \item The GNU Lesser General Public License as a  
-   \elink{text file}{http://www.gnu.org/copyleft/lesser.txt}  
+   \elink{text file}{\url{http://www.gnu.org/copyleft/lesser.txt}}  
 \item The GNU Lesser General Public License as a  
-   \elink{Texinfo}{http://www.gnu.org/copyleft/lesser.texi} file 
+   \elink{Texinfo}{\url{http://www.gnu.org/copyleft/lesser.texi}} file 
    \end{itemize}
 
 
@@ -32,7 +32,7 @@ This GNU Lesser General Public License counts as the successor of the GNU
 Library General Public License. For an explanation of why this change was
 necessary, read the 
 \elink{Why you shouldn't use the Lesser GPL for your next
-library}{http://www.gnu.org/philosophy/why-not-lgpl.html} article. 
+library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}} article. 
 
 \section{Table of Contents}
 \index[general]{Table of Contents }
@@ -554,11 +554,11 @@ Ty Coon, President of Vice
 
 That's all there is to it! 
 Return to 
-\elink{GNU's home page}{http://www.gnu.org/home.html}. 
+\elink{GNU's home page}{\url{http://www.gnu.org/home.html}}. 
 
 FSF \& GNU inquiries \& questions to 
 \elink{gnu@gnu.org}{mailto:gnu@gnu.org}. Other 
-\elink{ways to contact}{http://www.gnu.org/home.html\#ContactInfo} the FSF. 
+\elink{ways to contact}{\url{http://www.gnu.org/home.html\#ContactInfo}} the FSF. 
 
 Comments on these web pages to 
 \elink{webmasters@www.gnu.org}{mailto:webmasters@www.gnu.org}, send other
index 688ed4d3508abfa8ea0dcf55364dcee7cb9c4f50..b50269f2d3df9a5fe515b04afcc46a236e734627 100644 (file)
@@ -10,7 +10,7 @@ There are a number of different licenses that are used in Bacula.
 If you have a printed copy of this manual, the details of each of
 the licenses referred to in this chapter can be found in the
 online version of the manual at
-\elink{http://www.bacula.org}{http://www.bacula.org}.
+\elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
 
 \section{FDL}
 \index[general]{FDL }
@@ -22,7 +22,7 @@ distribute your own version of this manual, we would much prefer
 if you would send any corrections or changes to the Bacula project.
  
 The most recent version of the manual can always be found online
-at \elink{http://www.bacula.org}{http://www.bacula.org}.
+at \elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
 
 % TODO: Point to appendix that has it
 
@@ -33,7 +33,7 @@ at \elink{http://www.bacula.org}{http://www.bacula.org}.
 The vast bulk of the source code is released under the 
 \ilink{GNU General Public License version 2.}{GplChapter}.
 
-Most of this code is copyrighted: Copyright \copyright 2000-2006
+Most of this code is copyrighted: Copyright \copyright 2000-2007
 Free Software Foundation Europe e.V.
 
 Portions may be copyrighted by other people (ATT, the Free Software
@@ -74,7 +74,7 @@ ensures that the Free Software Foundation Europe (and thus the Bacula
 project) has the rights to the code.  This Fiduciary License Agreement
 is found on the Bacula web site at:
 
-\elink{http://www.bacula.org/FLA-bacula.en.pdf}{http://www.bacula.org/FLA-bacula.en.pdf}
+\elink{http://www.bacula.org/FLA-bacula.en.pdf}{\url{http://www.bacula.org/FLA-bacula.en.pdf}}
 
 and should be filled out then sent to:
 
index ec27025c45d211dea411f442eae5e5e2aa245dc2..3be9f14cdf7b24858336c1ef39f1499629a1bfb7 100644 (file)
@@ -317,7 +317,7 @@ standard SCSI tape drive on a Linux or Solaris, most likely it will work,
 but better test than be sorry.  For FreeBSD (and probably other xBSD
 flavors), reading the above mentioned tape testing chapter is a must.
 Also, for FreeBSD, please see \elink{The FreeBSD
-Diary}{http://www.freebsddiary.org/bacula.php} for a detailed description
+Diary}{\url{http://www.freebsddiary.org/bacula.php}} for a detailed description
 %TODO: fix elink so it shows URL in PDF
 on how to make Bacula work on your system.  In addition, users of FreeBSD
 prior to 4.9-STABLE dated Mon Dec 29 15:18:01 2003 UTC who plan to use tape
index 2038cfe5208902c64f85cf1aaf12c482eb9e94ca..a5c2adc4976ddc15203216904eb72682073a6c87 100644 (file)
    GNOME 1.4 is no longer supported.
 \item The wxWidgets Console program is developed and tested with the latest 
    stable ANSI or Unicode version of 
-   \elink{wxWidgets}{http://www.wxwidgets.org/} (2.6.1).  It works fine with the
+   \elink{wxWidgets}{\url{http://www.wxwidgets.org/}} (2.6.1).  It works fine with the
    Windows and GTK+-2.x version of wxWidgets, and should  also work on other
    platforms supported by wxWidgets. 
 \item The Tray Monitor program is developed for GTK+-2.x. It needs  GNOME less
    or equal to 2.2, KDE greater or equal to 3.1 or any window manager supporting
    the  
    \elink{ FreeDesktop system tray
-   standard}{http://www.freedesktop.org/Standards/systemtray-spec}. 
+   standard}{\url{http://www.freedesktop.org/Standards/systemtray-spec}}. 
 \item If you want to enable command line editing and history, you will  need
    to have /usr/include/termcap.h and either the termcap or the  ncurses library
    loaded (libtermcap-devel or ncurses-devel). 
 \item If you want to use DVD as backup medium, you will need to download the
-   \elink{dvd+rw-tools 5.21.4.10.8}{http://fy.chalmers.se/~appro/linux/DVD+RW/},
+   \elink{dvd+rw-tools 5.21.4.10.8}{\url{http://fy.chalmers.se/~appro/linux/DVD+RW/}},
    apply the patch that is in the {\bf patches} directory of the main
    source tree
    to make these tools compatible with Bacula, then compile and install them.
index bf5d17205ac9d8be0854d648d0e3a31a5710faac..51cee05b61ead83d0785d4e404b5a0a912bf7b53 100644 (file)
@@ -18,12 +18,15 @@ In other words, what is and what is not currently implemented and functional.
    \item Internal scheduler for automatic 
       \ilink{Job}{JobDef} execution.  
    \item Scheduling of multiple Jobs at the same time.  
-   \item You may run one Job at a time or multiple simultaneous Jobs.  
+   \item You may run one Job at a time or multiple simultaneous Jobs
+         (sometimes called multiplexing).
    \item Job sequencing using priorities.  
-   \item \ilink{Console}{UADef} interface to the Director  allowing complete
+   \item \ilink{Console}{UADef} interface to the Director allowing complete
       control. A shell, GNOME GUI and wxWidgets GUI versions of  the Console program
       are available. Note, the GNOME GUI program currently  offers very few
       additional features over the shell program. 
+      With version 2.2.0, a much more complete GUI interface has been
+      written, which is called the Bacula Admistration Tool, or bat.
    \end{itemize}
 
 \item Security
@@ -32,7 +35,8 @@ In other words, what is and what is not currently implemented and functional.
       capability (system break-in detection).  
    \item CRAM-MD5 password authentication between each component (daemon).
    \item Configurable 
-      \ilink{TLS (SSL) communications encryption}{CommEncryption} between each component.
+      \ilink{TLS (SSL) communications encryption}{CommEncryption} between each 
+            component.
    \item Configurable
    \ilink{Data (on Volume) encryption}{DataEncryption}
       on a Client by Client basis.
@@ -106,7 +110,7 @@ In other words, what is and what is not currently implemented and functional.
    \item All Volume blocks (approximately 64K bytes) contain a data checksum.  
    \item Migration support -- move data from one Pool to another or
          one Volume to another.
-   \item Supports writing to DVD (beta code).
+   \item Supports writing to DVD.
    \end{itemize}
 
 \item Multi-Operating System Support
@@ -122,7 +126,8 @@ In other words, what is and what is not currently implemented and functional.
    \item Support ANSI and IBM tape labels.
    \item Support for Unicode filenames (e.g. Chinese) on Win32 machines on
          version 1.37.28 and greater.
-   \item Consistent backup of open files on Win32 systems (WinXP, Win2003),
+   \item Consistent backup of open files on Win32 systems (WinXP, Win2003, 
+         and Vista)
          but not Win2000, using Volume Shadow Copy (VSS).
    \item Support for path/filename lengths of up to 64K on Win32 machines
          (unlimited on Unix/Linux machines).
@@ -222,7 +227,8 @@ In other words, what is and what is not currently implemented and functional.
    devices, Bacula can do a restore from only one device, which
    means that you will need to manually edit the bootstrap file
    to split it into two restores if you split the backup across 
-   storage devices.
+   storage devices.  This restriction has been removed in version
+   2.2.0 and later, but it is not yet fully tested.
 \item Bacula cannot restore two different jobs in the same
    restore if those jobs were run simultaneously, unless you had
    data spooling turned on and the spool file held the full
@@ -230,6 +236,13 @@ In other words, what is and what is not currently implemented and functional.
    two jobs in the same restore if the jobs' data blocks were
    intermixed on the backup medium. This poses no restrictions
    for normal backup jobs even if they are run simultaneously.
+\item Bacula can generally restore any backup made from a client
+   to any other client. However, if the architecture is significantly
+   different (i.e. 32 bit architecture to 64 bit or Win32 to Unix),
+   some restrictions may apply (e.g. Solaris door files do not exist
+   on other Unix/Linux machines; there are reports that Zlib compression
+   written with 64 bit machines does not always read correctly on a 32 bit
+   machine).
 \end{itemize}
 
 \section{Design Limitations or Restrictions}
@@ -241,4 +254,6 @@ In other words, what is and what is not currently implemented and functional.
    configuration files are limited to a fixed number of
    characters.  Currently the limit is defined as 127 characters.  Note,
    this does not apply to filenames, which may be arbitrarily long.
+\item Command line input to some of the stand alone tools -- e.g. btape,
+   bconsole is restricted to several hundred characters maximum.
 \end{itemize}
index 2e1cadaf37e0d51dec3de998aa4f9c51872e7e88..97f4569f414ef1cd20b775610c5c82ef2b49ee39 100644 (file)
@@ -67,6 +67,12 @@ to users.
 Thanks to all the Bacula users, especially those of you who have contributed
 ideas, bug reports, patches, and new features. 
 
+Bacula can be enabled with data encryption and/or communications
+encryption. If this is the case, you will be including OpenSSL code that
+that contains cryptographic software written by Eric Young
+(eay@cryptsoft.com) and also software written by Tim Hudson
+(tjh@cryptsoft.com).
+
 The original variable expansion code used in the LabelFormat comes from the
 Open Source Software Project (www.ossp.org). It has been adapted and extended
 for use in Bacula. This code is now deprecated.
index 26e0cddc7d070e667d3ad3bc679da9ffb7df8c19..59f0152d7d0c266930b4e676114060fb4938417a 100644 (file)
@@ -12,6 +12,9 @@ There are a number of example scripts for various things that can be found in
 the {\bf example} subdirectory and its subdirectories of the Bacula source
 distribution. 
 
+For additional tips, please see the \elink{Bacula
+wiki}{\url{http://wiki.bacula.org}}.
+
 \section{Upgrading Bacula Versions}
 \label{upgrading}
 \index[general]{Upgrading Bacula Versions }
index 641fda3b3193f5be82d5db5b750fa057b4937a13..76a5117b451c7bcb9a4b1e510c704ff6edb20937 100644 (file)
@@ -1 +1 @@
-2.1.26 (12 July 2007)
+2.1.29 (22 July 2007)