flux 0.2 released

Juan David Ibáñez Palomar j-david@noos.fr
Sun, 24 Nov 2002 18:29:49 +0100

This is a multi-part message in MIME format.
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

flux is a python module that helps to implement workflow based
applications. The 0.2 release has a new and much improved API,
the complete changelog is attached. This version is the work
of Thilo Ernst, thanks Thilo!

Download from http://sourceforge.net/projects/lleu

Best regards,

J. David Ibáñez, http://www.j-david.net
Software Engineer / Ingénieur Logiciel / Ingeniero de Software

Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;


- introduced leave-state handlers flux_onleave_stateXYZ,
- renamed enter-state handlers flux_stateXYZ -> flux_onenter_stateXYZ
- introduced natural handler invocation order:
  leave-state handler for old state, transition handler, 
  enter-state handler for new state
- made enter-state handler be called from  WorkflowAware.flux_workflow_set

- introduced optional extra arguments to WorkflowAware.flux_transition,
  WorkflowAware.flux_workflow_set which are passed through to all handlers
- renamed WorkflowAware.flux_workflow_set -> flux_workflow_enter
- changed interpretation of workflow's initial state to be just 
  the "default initial state" and made it entirely optional
- introduced optional 2nd argument 'initstate' to 
  WorkflowAware.flux_workflow_enter: explicit overiding initial state 
  to be entered - if absent or None, workflow must provide default
- introduced module-specific exception FluxError
- introduced checks to catch mistyped state/transition names early
  and with sensible error messages: raise FluxError on attempts 
  to access nonexisting states (in Workflow.flux_trasition_add) or 
  transitions (in WorkflowAware.flux_transition)
- introduced checks for  undefined/invalid initial state in 
- Switched to new naming scheme:
  * 'fx_' as shorter general flux prefix
  * predefined method names look like this:     
    e.g. fx_addstate
  * semi-predefined method names look like this:  
    e.g. fx_ontrans_publish   # where 'publish' is a transition name
    (idea: second _ indicates what follows is a userdef name component)
  * action_part is either <verb><noun> or <preposition><noun>
- introduced WorkflowAware.fx_getstate() method (inspect current state)
- updated/extended method docstrings