Expressions in DCWorkflow are TALES expressions. See TALES Overview for general TALES information. They are used as access guards and for the setting variable values.
[Note: I haven't figured out what all these contexts actually are and what you can use them for. Explanations are is welcome!]
Some of the contexts have slightly different meanings from what is provided for expressions in page templates:
here
container
-- The content object's containerSeveral other contexts are also provided:
state_change
transition
-- The transition object being executed
status
-- The former status
workflow
-- The workflow definition object
scripts
-- The scripts in the workflow definition object state_change
objects provide the following attributes, some of which
are duplicates of the above information:
status
is a mapping containing the workflow status. This
includes all the variables defined in the variable tab with "store
in state" checked.object
is the object being modified by workflow.
(Same as the here
variable above.)workflow
is the workflow definition object. (Same as the
workflow
variable above.)transition
is the transition object being executed. (Same
as the transition
variable above.)old_state
is the former state object. The name of the former state,
for example "published", is available as old_state.getId()
. (Note
that DCWorkflow defines state
and status
as different entities;
the name of the current state
is stored in the status
. The word
clash is unfortunate; patches welcome.)new_state
is the destination state object. Use new_state.getId()
to access the new state name.kwargs
is the keyword arguments passed to the doActionFor() method.getHistory()
, a method that returns a copy of the object's workflow
history.getPortal()
, which returns the root of the portal.ObjectDeleted
and ObjectMoved
, exceptions that can be raised by
scripts to indicate to the workflow that an object has been moved or
deleted.getDateTime
is a method that returns the DateTime of the transition.