EDDP: Event Driven Document Processing

OpenGroupware Coils provides support for Event Driven Document Processing (EDDP). EDDP exploits the OpenGroupware's underlying message oriented model to allow for rapidly and efficiently performing transactions based upon document creation or modification. All entity related events are announced on the server's entity event exchange for any interested component to receive - events related to documents are collected by the coils.blob.event component.

Property Aliases

  namespace: http://www.example.com/service
  attribute: workorder
  namespace: http://www.example.com/document
  attribute: documentType

Text 1: Defines two property aliases; "workorder" = "{http://www.example.com/service}workorder" and "documentType" = "{http://www.example.com/document}documentType".

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.

Introducing the CIA Namespace

No, do not panic. This post is not about OpenGroupware collaborating with that nefarious organization which overthrew the democratically elected governments of Guatemala and Iran. CIA is a simply new RPC namespace added in OpenGroupware Coils 0.1.49rc64; CIA stands for "Coils Interogation API".

Dealing with not so potent Idempotent values.

Idempotent values are hard to come by [in relational database terms these are what we call "primary keys"]; they uniquely identify some record, or value, or object. At least you are certain they do... until they don't. The great big world has a habit of not respecting the idem-potency of what you declare to be idempotent; something out there just recycles it anyway. This is no less true in IT systems like ERP applications than it is anywhere else.

A Simple Request To Print Feature

Support has been merged into the default branch for IPP [printing] operations. This functionality will be available in 0.1.49 provided the "pycups" modules is installed on the host(s).

Coils Specific Properties via WebDAV

WebDAV clients operate in the server's folder and document hierarchy. This is a convenient and powerful way to approach and manipulate the server's data - but it does obscure a significant amount of information as well. For example a document in WebDAV is known by it's filename [and perhaps its displayName as well, depending on the client]. But the object id is unavailable, as is the object id of the folder containing the document, the SHA-512 checksum, and a variety of other attributes.

AttachFS PUT to Projects and Tasks

AttachFS allows operations to be performed on BLOB content using simple HTTP operations such as GET and PUT; without much of the complexity [or the features!] of WebDAV. Most significantly AttachFS allows BLOBs (aka documents) to be manipulated by id rather than path – a simpler approach for a variety of clients and types of applictions. The ability to create and update project documents has been available since the original addition of the AttachFS presentation to the OpenGroupware Coils protocol bundles.


Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer