Using “curl” to request the Imixs-Workflow Rest API

The command line tool ‘curl’ is useful in cases when you just want to check some REST APIs from a console. You can find a lot of information about how to use curl on curl.haxx.se.

If you want to test the Imixs Rest API you need in most cases a basic authentification against the Workflow Server. This is an example how to send username/password along with a GET request:

curl --user admin:mypassword http://localhost:8080/imixs-microservice/workflow/worklist

This examples returns the worklist for the User ‘admin’ from a Imixs-Workflow Rest Service running on localhost port 8080.

If you don’t specify the media type Imixs-Workflow will return an HTML output. You can see this also in your Browser. But Imixs-Workflow also supports the media types JSON and XML. To request the same URL in JSON you can add a Header parameter like this:

curl --user admin:mypassword -H "Accept: application/json" http://localhost:8080/imixs-microservice/workflow/worklist

or if you want to get the same response in XML format:

curl --user admin:mypassword -H "Accept: application/xml" http://localhost:8080/imixs-microservice/workflow/worklist

If you know the UniqueID of a workitem, which is included in the worklist result you can also request a single Workitem from the Imixs-Workflow. See the following curl example to request a workitem in JSON format:

curl --user admin:adminadmin -H "Accept: application/json" http://localhost:8080/imixs-microservice/workflow/workitem/14b65352f58-259f4f9b

This example returns the content of the Workitem with the UniqueID ’14b65352f58-259f4f9b’. You can also restrict the result to a subset of properties when you add the query parameter ‘items’:

curl --user admin:adminadmin -H "Accept: application/json" http://localhost:8080/imixs-microservice/workflow/workitem/14b65352f58-259f4f9b?items=txtname;$processid

See the Imixs-Workflow RestAPI for more information.

If you want to test what is possible with Imixs-Workflow REST API and curl you can try the Imixs-Microservice. Imixs-Microservice provides a full featured Workflow System based on a REST API. Imixs-Microservice also supports Docker so you do not need to install a Application Server by your self.

Next Debian release will be incredible

The upcoming Linux distribution Debian 8.0 – code name ‘jessie’ – will become an amazing operating system.  I am testing the jessie release since one year and to me it looks promising what we can see so far.

For those who are not familiar with Linux distributions: Debian is the most used Linux destribution in the server world and most internet web servers are running on Debian. But Debian is also the base for the more known Ubuntu distribution. In fact everything you read about tips & tricks for Ubuntu is also valid for Debian and vice versa.

Unlike Ubuntu, Debian is an operating system which focuses on stability and sobriety. There is not a lot of bells and whistles. Debian uses the latest version of Gnome Shell for the desktop which is also focusing on clarity and simplicity. I personally like Gnome Shell and I recommend everyone to try it out.

systemd – speeds up booting

But one of the most impressive parts is the kernel architecture with the new “systemd” daemon. systemd is a system management which is the first process executed in user space during the Linux startup process. Therefore, systemd serves as the root of the user space’s process tree.  systemd allows more processing to be done concurrently or in parallel during system booting and reduces the computational overhead of the shell. systemd replaces the SysVinit concept and it results in an incredible increase of speed during the boot process. My own Ultrabook (Intel Core i7-3517U Ivy Bridge, 8GB RAM, 256 GB SSD) starts up in less then 10 seconds!

Altogether Debain feels very fast and compact. I like to work with this operating system and I like that debain is more clear as Ubuntu which becomes more and more confusing in its strategy (Unitiy vs Gnome, Mir vs Wayland).

Still not final….

Note that the Debian 8.0 which I am talking about is yet not final and still in a testing phase. This means you should not try it out if you are not familiar with Linux. Things can become broken and unstable. But if you can wait I guess Debian Jessie will be available in the end of this year.

 

Eclipse crashes in Debian Jessie

After some updates in my Debian/Jessie installation I run into a strange problem with Eclipse. When I start Eclipse first everything looks fine, but in the moment I use some type-ahead features or browsing classes or methods in a java-file Eclipse crashes without any error message. Maybe the problem is related to an update in libwebkitgtk-3.0.

After some searching I was finally able to fix the problem by adding the following line to my eclipse.ini:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

See also this bug report:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=334466

‘evbug’ auf die Blacklist setzen

Ich hatte das Problem das mein kern.log file mit Meldungen dieser Art geflutet wurde:

Sep 27 18:07:48 r-ultrabook kernel: [ 380.012332] evbug: Event. Dev: input6, Type: 0, Code: 0, Value: 0
Sep 27 18:07:48 r-ultrabook kernel: [ 380.028334] evbug: Event. Dev: input6, Type: 2, Code: 1, Value: -1
Sep 27 18:07:48 r-ultrabook kernel: [ 380.028343] evbug: Event. Dev: input6, Type: 0, Code: 0, Value: 0
Sep 27 18:07:48 r-ultrabook kernel: [ 380.044419] evbug: Event. Dev: input6, Type: 2, Code: 1, Value: -1
Sep 27 18:07:48 r-ultrabook kernel: [ 380.044430] evbug: Event. Dev: input6, Type: 0, Code: 0, Value: 0

Diese Meldungen werden wohl vom Modul  ‘evbug’ erzeugt und dienen als Debug Information. Das Modul sollte im Normalfall eigentlicht im Kernel geladen werden.

Um nun das Modul abzuschalten kann man es auf die blacklist setzen.

Dazu habe ich die (bei mir noch nicht vorhandene) Datei /etc/modprobe.d/blacklist.conf erstellt und folgenden Inhalt eingetragen:

# This file lists those modules which we don't want to be loaded by
# alias expansion, usually so some other driver will be loaded for the
# device instead.
# evbug is a debug tool that should be loaded explicitly
blacklist evbug

Dies führt dazu das das Modul beim nächsten booten nicht mehr geladen wird und die Meldungen verschwinden.