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.

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.

Python XML-RPC Calls Via "requests"

requests is the latest and greatest Python module for performing HTTP requests. This new module cleans up a great deal of the mechanics required for network requests as well as streamling the often combersome syntax used by urlib2 and the httplib modules. Requests can easily be used for making XML-RPC requests, to the zOGI API for example. Using requests avoids the need for transport objects in order to work with proxy servers and more advanced authentication methods.

Using SSH/SCP From OIE

The OpenGroupware Integration Engine supplies three actions for utilizing the SSH protocol:

Pages

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer