Simplistix

Making things simpler...

Change Log for Stepper

     1.5.0
 
       - The location of the config module is now configurable rather
         than being fixed to Products.Stepper.config

       - Updated winrun.bat to show how to set things up for Zope 2.10

       - The 'chains' and 'prepare' attributes of the config module
         are now optional

       - Added a crude notion of sub-steps that can be instantiated
         and executed from other steps

       - Added Stepper.utilities module that contained helpers to stop
         transaction commit if errors have been logged
       
       - Added utility Execute step for traversing to and calling
         objects to Stepper.base

       - Added utility step for packing the zodb to Stepper.base

       - Fix broken continue_on_error functionality, including logging
         on errors during processing of an itemc

       - Fixed some typos

     1.4.1

       - Corrected a typo in a logging call in execute.py

       - Fix passing to tuples to the execute method since the
         introduction of nexted chains.

       - Transactions are now only aborted if commit is enabled.
 
       - The step name is now logged when an error occurs.

       - Logging to the console is now quieter when -q is used with
         Zope 2.8.

       - Fixed a bug in conflict error handling that meant write
         conflicts resulted in an error rather than being retried when
         -r is used.

       - Stepper is no longer left locked when conflict errors occur.

     1.4.0

       - Chains may now be nested inside other chains.

       - Estimated Time of Arrival feedback now includes the total
         number of items to process and the number of items processed
         so far.

       - If a transaction is not committed, it is now explicitly
         aborted to avoid situations where you think a transaction is
         being committed, but if it is, it's not because you asked it
         to be ;-)

       - Fixed a critical bug in run.py that would have prevented it
         executing. 

       - Added a continue_on_error override parameter to the execute
         method so that errors aren't inadvertantly caught during unit
         testing.

      1.3.0

       - Added support for locking Stepper runs in case a cron job
         triggers off a run before the previous one had finished.

       - Added safeguards to make sure commit_obj is specified when it
         needs to be.

       - Made --help more helpful!

       - The time taken for a step to complete is now logged
         regardless of whether -q is passed.

       - Introduced Zope 2.8 compatability.

       - Refactored and simplified winrun.py

       - Added the step name to the progress bar and reformatted it
         slightly.

       - support for getSequence returning a Python generator.

       - Clarified the role of the do_commit parameter to the execute
         method. 

       - Added support for keyboard interruption of a Stepper run

       - Fixed missing import in base.py

    1.2.0

       - Added a hook for returning the represenation of an object for
         logging when an error occurs while processing that object.

       - Added a class-attribute to Step that controls whether an
         error while processing an object in a sequence stops the rest
         of the sequence being processed.

       - Removed the -C option from run.py

       - Added a Workflow migrator to base.py to help with migrating
         workflows in CMF-like sites.

       - Changed the Delete step in base.py to only log errors when an
         item to be deleted is not found, rather than crashing out.

       - ZODB transactions are now aborted when handling exceptions
         and conflict errors. 

       - Exceptions raised before logging is set up, and so can be
         reported by logging, are no longer caught and so will be seen
         in standard error ouput.

       - Fixed a NameError on 'elapsed' by including a back-stop elapsed
         definition for when getSequence returns nothing. 

     1.1.0

       - Added option to allow processing of the rest of a sequence to
         continue should an error occur processing one item in the
         sequence. 

       - Added logging to say how long processing took in quiet mode

       - fixed bug in run.py that meant it was "quiet" by default and
         became "loud" when -q was used.

       - remove debugging print statements from run.py

       - Added a post-execution hook to steps called 'finalise'

       - Fixed the test step in test.py and make it more flexible      

       - Fixed the Delete step in base.py

       - Fixed several typos in base.py

     1.0.0

       - Initial release.