You are here

workflow

Create a Workflow Process via REST (curl)

Creation of a process via an HTTP PUT is essentially the same as creation of a route via a WebDAV client as REST is a subset of WebDAV. The input message payload for the process must be PUT as an object named InputMessage in the Route's container. XATTRs (extended attributes) can be set using URL parameters; the ability to set XATTR values is an advantage REST has over most WebDAV clients.

ODBC Support Added To OIE

As of OpenGroupware Coils 0.1.49r112 support for ODBC data sources has been integrated into OIE. These SQL data sources are defined in the OIESQLSources just as PostgreSQL and Informix database connections are. This feature requires the pyodbc module to be installed. The availability of this module on your workflow node can be verified using the coils-dependency-check tool.

An Introduction to OIE Tables

The OIE Table entity provides a simple means to embed look-ups, filters, and translations into workflows. The principle of a Table is that it always receives a value and returns a value - a look-up.

Invoking an OIE Route from PHP

The repository not contains a PHP class making it simple to invoke an OIE workflow from PHP. See the oie.php file. Using the OIEProcess class defined in the file processes can be created and the process id and input message UUID known.

The SMTP Listener

Similar to the coils.workflow.9100 service that can deliver raw socket connections into defined workflows OpenGroupware Coils also provides an SMTP listener. The listener enables workflows to receive messages via SMTP; simply configure your MTA (Mail Transfer Agent) to route some prefix such as "ogo" to your OpenGroupware Coils instance and then use plussed address syntax to deliver e-mail messages to specific objects.

New Feature: PDF Scrubbrush

While PDF is intended to provide an entirely portable mechanism for exchange of non-trvial documents. However, in practice documents created by the real-world variety of clients almost inevitably contain deviations from the PDF standard which create issues when the document is processed by other applications and platforms. To ensure maximum compatibility the scrub brush feature re-compiles documents on the server using the using the Poppler libraries.

Using AttachFS To Test XSLT Transforms

We have previously demonstrated testing format descriptions using AttachFS. Now with OpenGroupware Coils 0.1.49rc91 you can also list, retrieve, and test XSLT templates stored in the workflow engine [OIE]. XLST transforms are accessible via AttachFS requests at the URL /attachfs/workflow/xslt.

Getting A Route's Markup Via AttachFS

AttachFS provides a simple method to retrieve the representation or contents of an entity via a GET request for the object's identifier [even improper entities such as messages and attachments can be retrieved this way]. For simple clients this is often a more straight forward approach than WebDAV.

As of 0.1.49rc70 you can now retrieve the BPML markup of an OIE workflow by requesting the route's object id from AttachFS.

Easy StandardXML To JSON

Recemt commits to OpenGroupware Coils add a new jsonWriteAction action for OIE workflows. OIE has long had readJSON for serializing arbitrary JSON documents into XML. jsonWriteAction adds the ability to serialize StandardXML data into JSON documents [provided all the data-types represented in the StandardXML document can be persisted in JSON]. Date and date time values will be serialized as strings in the YYYY-MM-DDTHH:MM:SS format; date values will have a time value of "00:00:00'".

XPath Expression As Action Parameters

A new feature in the latest edition of OpenGroupware Coils [0.1.49rc67] is support for using XPath expressions as parameters for work-flow actions. When a work-flow action parameter begins with $XPath: the input message (which must be XML) is interrogated for the corresponding value prior to the action being performed. Evaluation of the XPath is performed after label substution allowing wild cards to be used to construct the query expression.

One use-case where this is frequently useful is when processing the "current" message within a foreach construct.

Pages

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer