Skip to main content

A Namespace Extension for ATXML

Project description

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.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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.marshall.workflow-1.0.2.tar.gz (10.6 kB view details)

Uploaded Source

File details

Details for the file collective.marshall.workflow-1.0.2.tar.gz.

File metadata

File hashes

Hashes for collective.marshall.workflow-1.0.2.tar.gz
Algorithm Hash digest
SHA256 da0c0c720682f9343981bbf8a2a548afcd8a765a7f7642329d18af5f7eedc1ba
MD5 c095b94a1b04ed0eba705be1f8b1a6b4
BLAKE2b-256 9a2737046192f7cedd048fa5c060d5ebb8c9012a44216258506572e6115271fd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page