Showing 72 Comments
fang jin
6/11/10 10:59 PM
非常感谢!Thank you!
Hennie de Villiers
6/11/10 11:34 PM
Starting to look very good... Thanks...
Sampsa Sohlman
6/12/10 10:13 AM
Thanks, this was very interesting article. Studying workflows on Liferay 6 has been on my list for while.
Marcelo Lagos
6/12/10 4:05 PM
Great work. With kaleo-web I had no problem but if I install jbpm-web (compiled from svn) I can't upload the sample workflow. Only activating DEBUG log level for some packages I managed to see the error:
Begin Code----------------------------------------
22:40:38,298 DEBUG [ProxyMessageListener:58] com.liferay.portal.kernel.workflow.WorkflowDefinitionFileException: org.jbpm.jpdl.JpdlException: [[ERROR] no proces
sdefinition.xml inside process archive]
com.liferay.portal.kernel.workflow.WorkflowDefinitionFileException: org.jbpm.jpdl.JpdlException: [[ERROR] no processdefinition.xml inside process archive]
at com.liferay.portal.workflow.jbpm.WorkflowDefinitionManagerImpl.deployWorkflowDefinition(WorkflowDefinitionManagerImpl.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:94)
at com.liferay.portal.kernel.messaging.proxy.ProxyRequest.execute(ProxyRequest.java:69)
at com.liferay.portal.kernel.messaging.proxy.ProxyMessageListener.receive(ProxyMessageListener.java:51)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:65)
at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:63)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.jbpm.jpdl.JpdlException: [[ERROR] no processdefinition.xml inside process archive]
at org.jbpm.jpdl.par.JpdlArchiveParser.readFromArchive(JpdlArchiveParser.java:43)
at org.jbpm.jpdl.par.ProcessArchive.parseProcessDefinition(ProcessArchive.java:87)
at com.liferay.portal.workflow.jbpm.WorkflowDefinitionManagerImpl.deployWorkflowDefinition(WorkflowDefinitionManagerImpl.java:64)
... 12 more
22:40:38,300 DEBUG [InvokerPortletImpl:370] processAction for 151 takes 22 ms
End Code----------------------------------------
I'm not sure how to proceed, is it a bug or I missed something?
1.- installed from zip (on win and linux)
2.- compiled jbpm-web and dropped the war to deploy dir
3.- after installation is completed, I try to upload the sample file in jbpm-web/docroot/WEB-INF/classes/META-INF/definitions and it throws the error.
Is there something I've missed?
Whether to support the process variables and custom forms?
Xinsheng Robert Chen
6/14/10 3:31 PM
Thank you, Jonas, for this great article!
Gaurish Sharma
6/15/10 1:41 AM
Thanks Jonas for the article.
Have faced few issues though -
I created 2 users, Gaurish and Ashu and assigned them content reviewer for the guest community. When I logged in as Gaurish and assigned a document for review to Ashu, the 'activity' section shows 'Gaurish assigned the task to himself' whereas it should have shown 'Gaurish assigned the task to Ashu'. And when I log in as Ashu, it shows the document in 'Assigned to Me' section (as expectedd). But in the 'activity' section it shows 'Ashu assigned the task to himself' whereas it should have shown 'Gaurish assigned the task to Ashu'. Isn't it?
Also, even if I change the due date from 'never' to a date, it never shows the selected due date and always shows 'never' in the due date section.
Jonas,
Very nice posting!
I followed the instruction and was able to make everything working except one. When I click "My workflow task", I got
"Unable find model com.liferay.portal.workflow.kaleo.model.impl.KaleoTaskInstanceTokenImpl
java.lang.ClassNotFoundException: com.liferay.portal.workflow.kaleo.model.impl.KaleoTaskInstanceTokenImpl. I found that KaleoTaskInstanceTokenImpl class is in kaleo-web.war and not available as a library. Here is the stack trace. I used 6.0.2 rc version. Did I miss something? Thank you.
Brian Ko
2010-06-15 17:56:53,987 ERROR [com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl] (liferay/workflow_task) Unable find model com.liferay.portal.workflow.kaleo.model.impl.KaleoTaskInstanceTokenImpl
java.lang.ClassNotFoundException: com.liferay.portal.workflow.kaleo.model.impl.KaleoTaskInstanceTokenImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.getImplClass(DynamicQueryFactoryImpl.java:80)
at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.forClass(DynamicQueryFactoryImpl.java:41)
at com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil.forClass(DynamicQueryFactoryUtil.java:31)
at com.liferay.portal.workflow.kaleo.service.impl.KaleoTaskInstanceTokenLocalServiceImpl.buildDynamicQuery(KaleoTaskInstanceTokenLocalServiceImpl.java:559)
at com.liferay.portal.workflow.kaleo.service.impl.KaleoTaskInstanceTokenLocalServiceImpl.search(KaleoTaskInstanceTokenLocalServiceImpl.java:347)
at com.liferay.portal.workflow.kaleo.service.impl.KaleoTaskInstanceTokenLocalServiceImpl.search(KaleoTaskInstanceTokenLocalServiceImpl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:47)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:47)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy358.search(Unknown Source)
at com.liferay.portal.workflow.kaleo.service.KaleoTaskInstanceTokenLocalServiceUtil.search(KaleoTaskInstanceTokenLocalServiceUtil.java:293)
at com.liferay.portal.workflow.kaleo.WorkflowTaskManagerImpl.search(WorkflowTaskManagerImpl.java:460)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:47)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy362.search(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:94)
at com.liferay.portal.kernel.messaging.proxy.ProxyRequest.execute(ProxyRequest.java:69)
at com.liferay.portal.kernel.messaging.proxy.ProxyMessageListener.receive(ProxyMessageListener.java:51)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:65)
at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:63)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Jorge Ferrer
6/16/10 12:37 AM
Hi Everyone,
Please note, that this article is based on unfinished code. Some things have changed since it was written.
Jonas, I think it would be less confusing for people if you wait for new frameworks to be finalized before writing tutorials about them.
For this one, please add a warning note and update it when 6.0 GA comes out.
Jonas Yuan
6/16/10 5:36 AM
@Brian @Gaurish @Marcelo @ts
Complete workflow functions would be available in Liferay 6 GA version. This article will be updated after GA version. By the way, 6.0 GA version would be ready in weeks.
Jonas Yuan
6/16/10 5:27 AM
Thanks, Jorge. As you can see, Workflow is big feature. Yes, this article will be updated when 6.0 GA is ready.
Hennie de Villiers
6/16/10 6:24 AM
Hi Jorge
Any idea when the GA will be released?
Jorge Ferrer
6/16/10 6:40 AM
Hi Hennie,
We are working on it, trying to fix bugs so that it's a very stable release.
All help both testing and reporting bugs (creating a JIRA ticket + posting about it in the Beta Testing forum category)
and fixing the open tickets that relate to 6.0 is welcome.
Jorge,
I got it. However, I want to point that it is still very helpful tutorial. Everything step up to the error worked fine. I just thought that I missed some step. Thank you.
Jorge Ferrer
6/16/10 8:11 AM
Hi Brian,
Great to know. Actually, we would really appreciate the feedback of all of you trying out the workflow system.
You can use the Beta Testing category for that.
Bavithra Rajendran
6/18/10 3:49 AM
Sir, Thanks for writing about this big feature. Very Informative
unai alba
6/21/10 1:46 AM
Very powerful! Liferay needs something like that to make it more versatility.
Great job!
Nicholas Tenczar
8/7/10 2:43 PM
Is there any estimate on when the blog about applying workflows to custom assets will be ready? I want to use the workflow engine to define workflows for some custom services I am generating.
Jonas Yuan
8/12/10 3:55 PM
Thanks, Nicholas. Applying workflows to custom assets will be ready soon.
Dave Weitzel
8/22/10 3:19 PM
I'm not sure what you mean by custom assets in this context.
I am looking for the ability to configure workflow (simple approval would be fine bit more complex as well) to just specific content types, so anyone can publish basic web articles but for say Pres Releases or white paper content types they have to be put through workflow.
Will this be possible soon?
Jonas Yuan
8/23/10 11:20 AM
Hi Nicholas,
Applying workflows to custom assets is ready at
http://www.liferay.com/c/blogs/find_entry?entryId=5624351
Jonas Yuan
8/23/10 11:26 AM
Hi Dave, Out-of-the-box, liferay 6 provides the ability to enable workflow for core assets:
* Blogs Entry
* Comments
* Document Library Document
* Message Boards Message
* Web Content
* Wiki Page
custom assets are generated by Service-Builder) through plugins. Knowledge base articles are examples.
Notice that workflow is based on assets, not the type of assets. For example, you can apply workflow on the asset Web Content articles, not the type of Web Content.
Hope that it helps,
Thanks
Linus Sphinx
9/14/10 9:40 AM
Brilliant, works great. Loving your book, a most excellent read. In the image http://liferay.cignex.com/palm_tree/0387/workflow/workflow-04.png of My workflow tasks note that each line item are links, when I click it I get a blank space, what is it supposed to be? Is there any way to review the actual item there?
Jonas Yuan
9/16/10 4:42 PM
Hi Linus, thanks. Ideally, all links should bring you to reviewing pages. Do you get it fixed?
Corrado Truffi
9/22/10 5:15 AM
But I can set up an automatic change of status after a time, e.g. with a timer, if an user in workflow don't approve?
Jonas Yuan
9/23/10 8:34 AM
Hi Corrado, thanks. It would be better to set time (due time, expired time) in workflow definition. Do you agree?
Hi,
Do you known how to enable workflow for user, organization.
Or any schedule from Liferay this feature will available.
Jonas Yuan
9/28/10 10:53 PM
Hi ARA, role based approach would be better .... right?
Hi Jonas, thanks your reply,
I really want to have workflow for user, role and organization as when create new user, role or org need review and accept or reject by an approver.
Without this workflow my project cannot to go production.
Jonas Yuan
9/29/10 7:04 AM
Hi ERA, Thank you. Got you, you are going to apply workflow on core assets: user, role, and organization. right?
These are not supported OOB, but you can add these by using Ext Plugin, and/or hooks, or Liferay Portal Core. Logically, you can apply workflow on any assets, either portal core assets or custom assets.
Please let me know if you need more helps.
Thanks you very much Jonas,
You right! Im going to apply workflow on user, role and organization. Could you guild me how to? such as you write a article "applying workflow on user management in liferay 6" on your blog. I will flow your guild and apply for role, org.
Thanks you in advanced!
Amit Shah
10/28/10 4:05 AM
I am using Liferay6.0.5... and getting some error while deploying workflow engine...
Barry Rowe
11/1/10 10:37 AM
Are there known issues with this process on Liferay 6.0.10 (Enterprise)? The kaleo war deploys as expected, but at no point do I get the "Workflow Configuration" menu item in control panel. Is there an alternate workflow configuration process for Liferay EE?
Jonas Yuan
11/9/10 6:25 AM
Hi Amit, sorry to come back late. Do you get the issue fixed?
Jonas Yuan
11/9/10 6:28 AM
Hi Barry, Thanks. The answer is NO. In EE, many known bugs got fixed. With CE, you may have to fixed these bugs.
Jonas Yuan
11/9/10 6:31 AM
Hi ERA, is it urgent - applying workflow on user management in liferay 6? This can be done in portlet custom registration ...
abdul quddhus
11/22/10 2:07 AM
Hi Jonas, we are using Liferay CE 6.0.5 with JBoss bundle and we are getting below error:
Kindly let me know how we can resolve this issue as we want to use the workflow engine for the web contents.
2010-11-22 12:54:21,664 ERROR [org.springframework.web.context.ContextLoader] (HDScanner) Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.dao.shard.ShardUtil' defined in ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'shardAdvice' of bean class [com.liferay.portal.dao.shard.ShardUtil]: Bean property 'shardAdvice' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1353)
abdul quddhus
11/22/10 3:25 AM
Hi Jonas, it seems there was some issue with the kaleo war file which i was using. I downloaded "kaleo-web-6.0.5.1.war" and did a clean deployment. it was successful and i have to start using it
Jonas Yuan
11/22/10 11:28 AM
Thanks, Abdul! You are right that a lot of bugs got fixed in latest kaleo-web. In Liferay 6.1, you would see more features related to kaleo-web workflow ... :-)
Barry Rowe
11/29/10 8:14 AM
Where can I find a version of the kaleo-web.war that works with Liferay EE 6.0.10? I am currently working with the EE version of Liferay, and would like to get started setting up workflows.
Jonas Yuan
11/29/10 10:53 AM
Hi Barry, Thanks. As EE user, you should be able to access the WAR of Kaleo web at
http://www.liferay.com/group/customer/downloads?p_p_id=3_WAR_osbportlet&p_p_lifecycle=1&p_p_state=maximized&_3_WAR_osbportlet_fileName=/plugins/6.0.10/kaleo-web-6.0.10.1.war
Please let me know if you have any questions,
Thanks again,
Jonas
Marcelo Lagos
11/29/10 11:23 AM
I would appreciate if somebody tells me how to unsubscribe from this blog post. I've tried my profile, account, etc. Can't find it. Thanks.
Jonas Yuan
11/29/10 11:51 AM
Hi Marcelo, you are not only one who received unrelated emails. :-)
This is a bug related to email notification in blogs post in this portal instance. Maybe, you can raise a ticket for this issue.
Thanks,
Jonas
Linus Sphinx
2/25/11 12:18 PM
Yes, works as advertised thank you for asking, please forgive the late reply, it was my schema not being created fully.
Jonas Yuan
2/28/11 6:38 PM
Great! Thanks, Linus.
Maurice Biche
3/16/11 12:18 AM
Thanks Jonas, do you have similar example write-up using jbpm-web instead of kaleo-web? Thank you.
Jonas Yuan
3/17/11 11:05 AM
Hi Maurice, thanks. Unfortunately, I do not have similar example using jbpm-web instead of kaleo-web. But anyway kaleo-web is more robust now.
Bradai Salma
3/18/11 4:04 AM
I don't know if Jonas Yuan can help me,but i'
Bradai Salma
3/18/11 4:12 AM
Hi,I don't know whther Jonas Yuan can help me,but I'm in a confusion about the using of jbpm3 in liferay
1-is the plugin jbpm3 or kaleo with liferay does'nt support swimlane?
2-To assign task to some user,should i follow the example of Single Approver (Assign task to some roles).
Bradai Salma
3/19/11 3:21 AM
Hi Jonas,
I have configured Liferay 6.0.5 with jbpm3
but my goal now is to use 2 or more reviewer,I have followed The Single Approver example but,i have failed,so please can u help me,
I have posted a new thread:
http://www.liferay.com/community/forums/-/message_boards/message/7941822?_19_preview=false
Jonas Yuan
3/19/11 8:01 AM
Hi Bradai, Thanks.
It would be better to use Kaleo web. two new features: 1) swim-lane and 2) role-based workflow.
1) is good feature. It would get supported shortly.
2) got supported in the back-end. UI support would come out soon.
Bradai Salma
3/20/11 1:31 PM
Thanks Jonas for your reply,
But are there any examples of process definition using swimlane?
Hi Jonas,
I have multiple webcontent with different type of workflow for each.Is there any option to achieve it.
Jonas Yuan
3/23/11 7:11 AM
Hi Deepak, there is a new feature related: WCM workflow - ability to apply workflow on types of Web Content http://issues.liferay.com/browse/LPS-13617
Is it good for your requirements?
Jonas Yuan
3/23/11 7:22 AM
Hi Bradai, you may refer to the new feature:
Ability to specify workflow process definition using swimlane
http://issues.liferay.com/browse/LPS-16014
Hi Jonas,
This is exactly what i am looking for.So only the 6.1 release have this functionality.right?
Bradai Salma
3/25/11 11:56 AM
Hi Jonas,Thanks for reply
I want to know if workflow process definition in jbpm3 with Liferay 6.0.5 support sending mail notification in his xml file,
in fact according to your answer,I will decide whether i will use jbpm or kaleo
Jonas Yuan
3/29/11 10:34 AM
Hi Bradai, you should be able to use mail notification workflow simply by Kaleo.
Jonas Yuan
3/29/11 10:35 AM
Hi Deepak, this feature would be part of 6.1. But it is not finalized yet.
Mati-ur-Rehman Khan
7/25/11 5:42 AM
Hi,
I found a problem when you include a link from document library or image library into a web content and try to approve web content it doesn't work. It is removed from Assigned workflow tasks but it stays in your submissions and content status is pending.
One thing to mention is the image/document which is linked is already in publish state.
Is it a bug or a feature needs to be implemented?
Mati-ur-Rehman Khan
7/26/11 3:47 AM
It only causes problem while two persons are logged in with same username. Otherwise its fine.
Hi, I wanted to put the workflow into a custom portlet. so, instead of going into control panel every time to approve a document or any entry, there should be an out of box portlet. So that an admin or any authorized person can easily add this portlet on his/her private page. And then view and approve it. I tried to do it but didn't find a proper way.Please help??
Amirtha Mira
10/4/11 12:52 AM
Thanks for the helpful article.. But i want based on the category the workflow should start for my asset. Is it possible? Yes means plz tell me how?
Amirtha Mira
10/12/11 1:57 AM
hai..I want some condition based workflow when add new document..
Malek Tarboush
11/24/11 1:04 AM
hi Jonas
when select SingleApprover for Comments in Workflow Configuration
it works fine and i can see the comment pending in My Workflow Tasks
but the title is null
and when i click on the link it throws NullPointerException
any idea if its bug or something wrong i made ??
thanks
Malek Tarboush
11/24/11 2:13 AM
i forgot to mention that im using liferay 6.0.6 CE
Jonas Yuan
11/28/11 11:34 AM
Hi Malek,
Thanks. Would you be able to provide more details? is it OOB?
Jonas
Malek Tarboush
11/28/11 11:53 PM
hi Jonas thanks for response
i found that its a bug http://issues.liferay.com/browse/LPS-12186
and its resolved
but my question is do i have to upgrade to 6.1 ?
i can't upgrade right now , do you have any idea how can i solve it in 6.0.6 ?
thankx
Jay Patel
12/2/11 2:27 PM
Thanks Jonas for sharing this..
Hi Thiago,
I want to implement exact same scenario for "User" asset. Meaning when new user is created, it should be assigned to some Work-flow definition e.g. single-approver definition. Then when it is approved by approver then only status may be changed to "Approved".
The problem I am facing is I don't know what would be the best approach for this. For just POC purpose, I changed the following files of Portal source code directly.
1. service.xml to add columns & reference package path for Work-flow
2. liferay-portlet.xml to add UserWorkflowHandler
Now the problem is after changing this service.xml, portal does not allow me to build services again saying that "Could not find com.liferay.portal.tools.servicebuilder.ServiceBuilder. Make sure you have it in your classpath", though ServiceBuilder class is available under the same package.
What can be root cause here?
Also can you also suggest some other better way for above kind of requirement when Liferay's OOB asset needs to be customized to apply Workflow on it?
Thanks in advance,
Jay.
i don't wanna some entry through workflow, how do i disable these entry like blog, web content... bra bra...?
malik khalf.
5/24/12 2:43 AM
XPDL engine (e.g, shark), is it supported?