The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.32

  • Bumped up version for Workflow::State to 1.14 considering patches from action_group and test_condition patches from Ivan Paponov implementing support for a group tag on actions
  • Addressing RT #40750 http://rt.cpan.org/Ticket/Display.html?id=40750
    • Removed VERSION file, this has now been obsoleted
    • We are now resolving the version number for the distribution from Workflow.pm the main module, this mean a jump from 0.32 to 1.32, but it does mean that an installation can be traced back to a given distribution
  • Patch to implement proper dynamic names for conditions with a 'test' attribute Added RT: #38024
  • Added List::MoreUtils to requirements, we use this for test, I have moved the test related modules to the build_requires section in Build.PL, so List::MoreUtils is not mistaken for an application level requirement
    • Refactored two tests, to use List::MoreUtils all method (asserting presence of numerous actions)
  • Fixed minor bug in error message in: Workflow::State, reported by Robert Stockdale, RT #38023
  • We introduce a more fine grained control of the auto commit feature, implemented by Jim Brandt
  • We introduce typed condition, implemented by Jim Brandt. Typed conditions makes it possible for different workflows to hold unique methods for workflow steps even with names colliding.
    • Example workflow foo and bar can have a condition baz, but baz are two different implementations in foo and bar respectively
  • time_zone parameter can now be passer around for use by the Workflow DateTime objects internally

Modules

Simple, flexible system to implement workflows
Base class for Workflow actions
Metadata about information required by an Action
a stub for a SMTP capable action
Workflow action for the terminally lazy
Base class with constructor
Evaluate a condition depending on the workflow state and environment
Inline condition that evaluates perl code for truth
Condition to determine if a user is available
Parse configuration files for the workflow components
Parse workflow configurations as Perl data structures
Parse workflow configurations from XML content
Data blackboard for Workflows, Actions, Conditions and Validators
Base class for workflow exceptions
Generates new workflow and supporting objects
Recorded work on a workflow action or workflow itself
Base class for workflow persistence
Persist workflow and history to DBI database
Pull IDs from databases that autogenerate them
Fetch extra data with each workflow and put it into the context
Persister to fetch ID from a sequence
Persist workflow and history to the filesystem
Persister to generate random ID
Persist workflows using SPOPS
Persister to generate Universally Unique Identifiers
Information about an individual state in a workflow
Ensure data are valid
Validator to ensure certain data are in the context
Ensure a value is one of a declared set of values
Ensure a stringified date matches a given pattern