cancel
Showing results for 
Search instead for 
Did you mean: 

Process repository

alexbt
Champ in-the-making
Champ in-the-making
Hello guys,

I've been examining Activiti for 2 weeks.
Also I took jBPM 5.0 RC1 into consideration.

There are actually 2 things that I'd like to see in your product:

1. A versioned repository - Jackrabbit or integration with JBoss Guvnor.
2. JBoss Drools integration.

In my project those 2 features are a must. So my question is whether you are planning to add support for the above products or not?
And if yes, what is the priority for them?

Regards,
Alex
5 REPLIES 5

jbarrez
Star Contributor
Star Contributor
1. process definition in Activiti are versioned. If you deploy a new version, new process instances will run in the newest process definition, old process instances keep running against the original version.

2. There is currently work going on for Drools integration. If all goes well, the next release will have Drools integration.

alexbt
Champ in-the-making
Champ in-the-making
Hi Joram,

Thank you for the quick answer.
The Drools integration development being in progress - this is a great piece of news for me!
As to the process versioning, as far as I understand the process is started by its id according to the Activiti docs,
And if there is a running process with the same id as the new one, then it will continue to run, and if I initiate a newer one, it will run too.
Am I correct?

Another question is if you are planning to develop a process repository?
Also is there any way to create a service task (written in Java) or a script task, save it and reuse in other process definitions instead of brute copy-paste of XML pieces?
I'd like to see your system becoming a toolset similar in functionality to VMware vCenter Orchestrator. There you have an inventory that contains packages of predefined functionality, and using those Java classes or Groovy/Jython/Javascript etc. pieces of code that can be instantly used in flow definition can become a great advantage of your Activiti suite.
I do see in the Eclipse Activiti Plugin the possibility to select a Java class for a Service Task, but there is nothing similar for scripts (there is the same problem in the Signavio Web Designer, you do have to copy-paste a script code). In my case I do have several Jython and Groovy scripts that are present in my classpath and I'd like to reuse them in different scenarios but with different parameters transfered during process execution.

One more idea is to add possibility to create/store/add a partial flow (several connected tasks) to a bigger flow. I see in the Eclipse Activiti Plugin the possibility to use a subprocess. This is very close to my idea, but in my case the partial flow cannot be run separately. Treat it as an abstract class.
Also I'd like to see those subprocesses to be versioned too.

In general, in my project I need to create a bunch of flows, very difficult ones in some cases (up to 200-300 tasks running both sequentially and in parallel). Then those process definitions will be packaged and delivered to the client. The client wishes to be able to modify the flows by adding/removing some functionality. That's why I raised all those important issues. Of course, all the changes must be versioned (no matter if it will be JCR or Subversion-like repository).
I guess I'm not the only one that can face such requirements.

Waiting for your reply.
Thanks in advance,
Alex

jbarrez
Star Contributor
Star Contributor
As to the process versioning, as far as I understand the process is started by its id according to the Activiti docs,
And if there is a running process with the same id as the new one, then it will continue to run, and if I initiate a newer one, it will run too.
Am I correct?

Almost. You can start a process instance using a process definition id, but you will always use that specific version the process definition then.

Alternatively, you can use the 'key' of a process definition. When you start a process instance using the key, it will always use the latest deployed version of that process definition. Processes that were started against an older version of the process definition, will remain running in the original version.

Another question is if you are planning to develop a process repository?

Our database is our process repository. Or do you mean something else?

Also is there any way to create a service task (written in Java) or a script task, save it and reuse in other process definitions instead of brute copy-paste of XML pieces?

A service task java delegat can be used in any process, as long as you make sure the class is on the classpath when the process is running.
For a script, that is not yet possible, as the BPMN spec defines a script as being embedded withing the process definition. However, we plan to also support to reference a file that contains a script in the future.

One more idea is to add possibility to create/store/add a partial flow (several connected tasks) to a bigger flow. I see in the Eclipse Activiti Plugin the possibility to use a subprocess. This is very close to my idea, but in my case the partial flow cannot be run separately. Treat it as an abstract class.
Also I'd like to see those subprocesses to be versioned too.

Yes, these are things that we'll work out once the designer has all the basics in place.

mfarwell
Champ in-the-making
Champ in-the-making
I too would like to see integration with the Guvnor repository.

Has any work been done on this? Or is it planned for the future?

Thanks.

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
Has any work been done on this?

No, not by the Activiti team, and I don't think cycle has a conncector for it, but I might be wrong

Or is it planned for the future?

Not as far as I know… (but I do not know everything)