I've done more hacking on the Jenkow/Activiti Explorer plugins.

As Max has discovered and explained in [1], there seems to be a lack of
control regarding what steps execute where --- in our workflows, there can
be Jenkins task invocation steps, as well as script steps that refer to
Jenkins variables like 'console'.

Those steps will obviously fail to run anywhere except the Jenkow
environment, yet AE seems to eagerly carry out executable steps whenever it
can.

One way to work around this problem is to reuse the entire ProcessEngine
instance between Jenkow and AE (whereas previously we were just sharing the
same database.) In this way, AE becomes just another client of the same
engine instance that Jenkow plugin uses, so when it tries to eagerly carry
out those steps, they'll just work.

And that is what I just implemented. I suppose the added benefit includes
memory saving (of not having two ProcessEngines and their caches.) As a
part of this change, I needed to make ProcessEngine properly recognize
users and groups in the Jenkins world.

I pushed these changes to the 'unified-identity-service' branch of the
Jenkow plugin. The corresponding AE plugin changes are in its trunk.

To make the whole thing work, I had to set the initial assignee of the user
task, like this:

<userTask id="usertask1" name="User Task"
activiti:assignee="kohsuke"></userTask>

(I was using the PAM auth, so 'kohsuke' refers to my Unix user name)

[1] http://forums.activiti.org/en/viewtopic.php?f=6&t=5740
-- 
Kohsuke Kawaguchi

Reply via email to