Camunda work bench


#1

Hi,

I am looking for the process debugging tool and found camunda work bench.
But According to the below link,

There is only alpha release which was released on May 2015 for camunda 7.4.0. Please clarify whether this is active project ?
Please specify the link where I can download the latest camunda work bench.
We are using camunda 7.8.0 community release. If camunda workbench alpha 9 is only the latest available, will it be compatible with camunda 7.8.0 release?

Thanks
Senthil


#2

Workbench is not an active project and while it might get some attention again in the future there are no plans that i know of for further development.


#3

Thanks for the reply Niall.
Eventhough it is not an active project, Still do you think it will compatible with camunda 7.8.0 or future releases ?

Thanks
Senthil


#4

It is most certainly not compatible with 7.8.0 or newer releases.


#5

@senlog80 what aspects of workbench are you trying to use / take advantage of?

We looked at using it, and eventually rolled to just using Spock Unit Tests:


#6

Thanks for the update thorben


#7

Hi @senlog80,

Hope you are well. I assume you are looking for ways to effectively debug Camunda? I was recently analysing key “time robbers” in a development cycle in Camunda for my project (we don’t use Java). So, the following might be of your help. In the beginning of the learning curve data types and casting creates most of the issues Later on variable state changes are of the importance. So, to address both issues you will need:

  • Capability to watch process variables at each process execution
  • Capability to quickly start process from a specific step
  • Improve build-to-deploy cycle time

The first thing can be addressed by adding a debug script (JS) into an execution listener of a node (just an example, not covering all the types and cases):

print("*** " + execution.getCurrentActivityId() +": "+ execution.getCurrentActivityName());
print("==> Variables:");

var variablesIterator = execution.getVariables().entrySet().iterator()
while(variablesIterator.hasNext()) 
{
    try 
    { 

        var variableEntry = variablesIterator.next(); 
        var variableName = variableEntry.getKey(); 
        var variableObject = variableEntry.getValue(); 
        if (variableObject) var variableClassName = variableObject.getClass().getSimpleName();
        switch(variableClassName) 
        { 
            case "String": 
                print("> " + variableName + " ["+variableClassName+"]: " + variableObject); 
                break;
            case "JacksonJsonNode": 
                var jsonValue = execution.getVariableTyped(variableName); 
                print("> " + variableName + " [JSON]: " + jsonValue.getValueSerialized()); 
                break; 
            default: 
                print("> " + variableName + " ["+variableClassName+"]: " + variableObject); 
        }                       
    } catch (err) { print(err) }
};

This will dump all process variables at each step of the process execution. To effectively use this you will need to tweak level of console logging to SEVERE.

The second problem can be addressed by using Postman to initiate process instances via REST API and submitting tasks with pre-populated variables. Very useful video by Camunda is here https://vimeo.com/235729263

As for the improvement build-to-deploy cycle (we still use war deployments as rely on external forms). For us a visible improvement was achieved via setting up maven plugin to deploy war files directly to Tomcat after the build completion:
http://tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/

Hope this helps.

Best regards,
Ilya