-
1. Re: Using JBPM for document workflow in a Java/Flex CMS soft
jimrigsbee Nov 28, 2007 5:59 PM (in response to bouiaw)I would need to know more details of your use case to answer best. But I'll give you some general ideas and let you go from there.
If the state of the document is part of your workflow, store it in a process variable as part of the context of the current state of your workflow. In this way you only have the state in one place.
If you need to access the repo via processes other than jBPM workflows, and need to know the current status of that document, then store the state there. When you get the current workflow step, it should be a quick matter to get the node from the repository service in JBPM and make the appropriate call (don't remember off hand) to get the attribute in the content repository that corresponds to the status of the document.
Please post what you decide and why so that others can benefit from your experience.
Regards,
Jim Rigsbee
Red Hat Inc. -
2. Re: Using JBPM for document workflow in a Java/Flex CMS soft
mesa Oct 7, 2009 7:47 AM (in response to bouiaw)i too want to do the same thing. my requirement is that
1) a user logs in and uploads few documents , i create a process instance and saves the documents in jcr repository.
2) over the lifecycle of process old documents will be refered and new will be added with different set of properties.
3) Main concern is able to track all documents associated with a process,throughout the life cycle of process....
my design philosphy is :
1) i can have a jackrabbit remote or local repository , for each customer i will create a folder(jcr node) ,unique to his name or having a unique key.
2) over the lifecycle of process all docs will be added beneath this unique key folder,for a process.
3) i can store this node as process variable within jbpm so that if any document is required for a process, i have a direct reference to it in jbpm.
Please suggest if any there is scope for improvement or suggestions...
Technical challenge is ::
1) what is good way to integrate JCR into jbpm
a) i though of writing my own service interface that will interact with JCR remote repository and inject them into application through spring and perform document
management completely outside JBPM scope.
b) OR i should use JBPM Context service support to integrate Jackrabbit repository.
problem is that i have not seen any example over the net , on how it can be done.
no information is available on integrating remoteJCR repository into jbpm
my question is that can i write my own service classes , offering a way into JCR repositoryand can inject them into jbpm context as JCR service.
Can someone please suggest me how this can be done ? -
3. Re: Using JBPM for document workflow in a Java/Flex CMS soft
kukeltje Oct 7, 2009 1:02 PM (in response to bouiaw)Why not look at something like Alfresco? It uses jBPM, JCR, Spring etc...
-
4. Re: Using JBPM for document workflow in a Java/Flex CMS soft
noicangi Oct 7, 2009 6:58 PM (in response to bouiaw)i'm investigating something like this, my idea is to integrate my jpdl model (jbpm4, jb5, mysql, eclipse galileo) with some flex web pages.
If Anyone is trying this or has ideas it would be helpfull.
thanks in advance,
n.Oicangi -
5. Re: Using JBPM for document workflow in a Java/Flex CMS soft
bouiaw Oct 8, 2009 1:47 AM (in response to bouiaw)Even if the project is currently changing (no more Flex for Front layer), we could find some related topics on Igenko http://code.google.com/p/igenko/.
I think a nice way to integrate JCR and JBPM is to use ORM framwork like JCROM for JCR side. I don't know deeply JBPM4 so it may bring new solutions that were not available last year with JBPM3 ... -
6. Re: Using JBPM for document workflow in a Java/Flex CMS soft
mesa Oct 8, 2009 3:39 AM (in response to bouiaw)@kukeltje i am not using alfresco because in view of my problem--- business process if completely different from Document workflow. in my case documents can or can not be part of workflow , i think alfresco supports documents workflow , process flow sits on top of jcr.
@noicangi , i think we both are working on the same problem set. i am using struts2,spring,mysql and jbpm3.3GA and tryint to integrate Jackrabbit with it.
my motivation comes down from the fact that document management solution is tested wih jackrabbit.
@noicangi i am planning to configure service within jbpm context , for example jcr service
and if i am able to get an handle and do all this then perform repository operation then there could be a way forward.
Other option is to use spring module , that is what i have done , but in this case keping a link between process flow and jcr node will come down to a manual db table mapping.
if anyone can suggest something else ..please do the needful -
7. Re: Using JBPM for document workflow in a Java/Flex CMS soft
kukeltje Oct 8, 2009 5:08 PM (in response to bouiaw)I'm well aware that Document workflow is a specific case of workflow, but Alfresco has some nice api's and other functionality on top of jcr that could be called from jBPM.
Mappings like you describe will most likely always be needed unless you want jcr to be tightly integrated which I would not do. Most is not different then from having a normal external (to jBPM) datamodel -
8. Re: Using JBPM for document workflow in a Java/Flex CMS soft
mesa Oct 9, 2009 2:28 AM (in response to bouiaw)i have done few things till now and will need bit help from kukeltje :)
i have integrated jcrTemplate using spring and now i am able to play with repository,able to add node and all.
according to jbpm document i can add jcrnode as process variable.
now issue will come up once i try to retrieve store jcrNode from process variable ---
getObject() method is jcrNodeInstance.class says that jbpm will try to get configured services in its context and will try to find a jcrService and once service instance is found then few matching things will be performed and object can be retrieved.
Main problem left down is configuring a JCR Service is JBPMContext :
1) i tried extending jbpmContext and tried to add my service (Extending JcrService)
@Override
protected JbpmContext getContext() {
JbpmContext context = super.getContext();
context.getServices().getPersistenceService();
context.getServices().setAuthenticationService(authenticationService);
return context;
}
here i do not see anyway to attach a jcrService instance.
2) i then went to figure out a way in jbpm.cfg.xml . i checked that JackRabbitServiceFactory requires a configuration ----i think it is repository.xml and directory---may be home dir to create a service.
i am unable to configure service in jbpm.cfg.xml.
i added the service like this :::
<jbpm-context>
classpath:repository.xml
/home/mayank/jackrabbit
</jbpm-context>
i get :: unable to Parse jbpm.cfg.xml
Code of service factory says ::
protected synchronized Repository getRepository() {
if (repository==null) {
try {
InputStream stream = ClassLoaderUtil.getStream(configuration);
RepositoryConfig config = RepositoryConfig.create(stream, directory);
repository = RepositoryImpl.create(config);
} catch (Exception e) {
// NOTE that Error's are not caught because that might halt the JVM and mask the original Error.
throw new JbpmException("couldn't create new jackrabbit repository with configResource '"+configuration+"' and directory '"+directory+"'", e);
}
}
return repository;
}
can someone help on this ..... -
9. Re: Using JBPM for document workflow in a Java/Flex CMS soft
mesa Oct 9, 2009 2:34 AM (in response to bouiaw)jbpm cfg is not correctly show in previous post:
<jbpm-context>
service name="jcr"
factory
bean class="org.jbpm.jcr.jackrabbit.JackrabbitJcrServiceFactory"
field name="configuration" classpath:repository.xml
field name="directory" /home/mayank/jackrabbit
bean
factory
service
</jbpm-context> -
10. Re: Using JBPM for document workflow in a Java/Flex CMS soft
kukeltje Oct 9, 2009 2:23 PM (in response to bouiaw)use code tags (see preview button)
-
11. Re: Using JBPM for document workflow in a Java/Flex CMS soft
noicangi Oct 23, 2009 9:09 AM (in response to bouiaw)hi everyone, finally i decided myself to use jbpm3.2.6SP1 with mysql 5 and eclipse galileo + JBoss tools 3.1 m3.
My question is i don't know how to integrate jbpm to a flex aplication, i understand i need to "send" a signal from a task or state node to flex...and then "receive" the complete signal to continue though my process diagram definition.
how can i do that? i think i need to modify the simple process.java file....i'm correct? or i'm doing all wrong.
Thanks...
n.Oicangi -
12. Re: Using JBPM for document workflow in a Java/Flex CMS soft
jbarrez Oct 29, 2009 7:56 AM (in response to bouiaw)Since jBPM is a plain jar, you an do whatever you want... Also see my post http://www.jorambarrez.be/blog/2009/09/13/jbpm_architectural/
The easiest for Flex development, is wrapping jBPM into a service which translates input/output to xml... at least that was 2 years ago when I ded some Flexing ;-)