Skip to main content

Introduction

This product adds the export and import of the object’s workflow state to the atxml marshaller. If you have the same workflow states on the export side and on the import side, it should just work out of the box.

A default handler is already included. It looks up a named utility “IStateTranslationUtility”, with the name of the remote workflow. A parameter is the name of the local workflow. It should be able to translate from the remote states to local states. If no such utility is found, it is expected, that the state-names on the remote side match those on the local side.

An example for this utility could be this:

<utility
    provides="collective.marshall.workflow.interfaces.IStateTranslationUtility"
    component=".utilities.simple_publication_workflow_state_translator"
    name="simple_publication_workflow"
    />

def simple_publication_workflow_state_translator(state, target_workflow_id):
    translation = {}
    if target_workflow_id == "simple_protection_and_publication_workflow":
        translation = {'private': 'private',
                       'published': 'protected'}

    return translation.get(state, None)

If the utility returns None, it is expected, that the remote name matches the local name.

The default handler does not call transitions, but instead sets the state directly. Instead of using the default handler, you can define your own handler:

<subscriber
     for="*
         collective.marshall.workflow.interfaces.IObjectReviewStateDeserializedEvent"
    handler=".handlers.yourHandler"
    />

def logDeserializedReviewState(object, event):
    print "Received a IObjectReviewStateDeserializedEvent for %s. State: %s" % (event.object, event.data)

So the handler receives the object and the data, which is the state as string, e.g. “published”.

A very good default handler is already included.

Authors

Changelog

1.0.4 (2009-06-10)

  • Fixed an attribute error.

1.0.3 (2009-06-10)

  • Added informational logging for a better debug session

1.0.2 (2008-11-06)

  • Updated description and metadata

1.0.1 (2008-11-05)

  • Added utility to translate between workflow states

1.0 (2008-11-05)

  • First release

Release files for collective.marshall.workflow 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for collective.marshall.workflow 1.0.4
File Size Uploaded
collective.marshall.workflow-1.0.4.tar.gz 10.9 kB Details

Release files / collective.marshall.workflow-1.0.4.tar.gz

Download URL collective.marshall.workflow-1.0.4.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b56e01930055176c51c7f4a83df102afca2c09af011fdbba5d7d29fb745283ab
BLAKE2b-256 checksum
How to use checksums
ccdd7cd002d418949baad78224ee53117684d9d3cb8794189092a32bc3696ac1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.4 This release

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page