[jboss-user] [jBPM] - Re: Which Designer?

Franck cdsosi do-not-reply at jboss.com
Wed Aug 1 13:04:07 EDT 2012

Franck cdsosi [https://community.jboss.org/people/cdsosi] created the discussion

"Re: Which Designer?"

To view the discussion, visit: https://community.jboss.org/message/751509#751509

Hi Tihomir,

Thanks for replying as well !
Some answers following next (always with web designer 2.2 Final) :

>> Another question by the way : is there a more simple way to get web designer version directly under drools-gubnor  ;)  ? <<
>>>You can click on the "Info" button in the Designer navigation bar which will give you it's version. It is a round button with an "i" in it  ;) 
I pushed many buttons but not that one  ;)  
Thanks, now I will be able to give my designer version at the speed of light !

>> many input fields are free and there is not much assistance on what to input <<
This was made easier in Designer 2.3.0.Final, as you now have task-type specific properties. So by changing your task type, the properties shown are specific to it rather than showing general task properties.
So I may have a try to this brand new designer ! 

 >> I don't not know what mistake I must have made but now I have nothing the Evaluation process. No matter I will use the import BPMN2 function, but when you paste the orignal source code of the Evaluation.bpmn file, I have an error in the server log of JAS 7.0.2 (NPE). << 
>>>What is this error? There are some minor differences in the generated BPMN2 code with the Eclipse editor so there could be some problems moving it to Designer, but if you show us the BPMN2 we can point you in the right direction quickly
I reinstall everything (do not know how many times I have done that  :-/ )
Here are my steps :
a- After ant start.demo launch drools-guvnor ( http://localhost:8080/drools-guvnor http://localhost:8080/drools-guvnor)
b- Under the defaultPackage, create a New BPMN2 Process named "Test"
c- When the web designer is opened, use the BPMN2 Import Function and input the file Evaluation.bpmn coming from "jbpm-5.3.0.Final-installer-full.zip"
=> [...]jbpm-installer\sample\evaluation\src\main\resources\Evaluation.bpmn
* The first time the import works !
* Inside the web designer the process keeps its original name with Test although the name in the imported file is different (same for Asset in the defaultPackage tree browser on the left)
* Close the process, open it again and now the correct name is displayed (Evaluation (com.sample.evaluation)), however the Asset in the defaultPackage tree browser on the left is still Test...
d- Create another New BPMN2 Process named Test2 try to import the file again and an error log message is displayed. Here is an extract of the server.log :

+18:25:01,752 ERROR [stderr] (http-localhost- org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'script' not found. (inputStream://dummyUriWithValidSuffix.xml, 33, 19)+

+18:25:01,753 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.handleErrors(XMLLoadImpl.java:83)+

+18:25:01,753 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:191)+

+18:25:01,753 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:180)+

+18:25:01,753 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1494)+

+18:25:01,753 ERROR [stderr] (http-localhost-     at org.jbpm.designer.web.profile.impl.JbpmProfileImpl.getDefinitions(JbpmProfileImpl.java:273)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$2.parseModel(JbpmProfileImpl.java:252)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at org.jbpm.designer.web.server.TransformerServlet.doPost(TransformerServlet.java:221)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70)+

+18:25:01,754 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154)+

+18:25:01,755 ERROR [stderr] (http-localhost-     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)+

+18:25:01,756 ERROR [stderr] (http-localhost-     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)+

+18:25:01,756 ERROR [stderr] (http-localhost-     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)+

+18:25:01,756 ERROR [stderr] (http-localhost-     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)+

+18:25:01,756 ERROR [stderr] (http-localhost-     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)+

+18:25:01,756 ERROR [stderr] (http-localhost-     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952)+

+18:25:01,756 ERROR [stderr] (http-localhost-     at java.lang.Thread.run(Thread.java:662)+

+18:25:01,756 ERROR [stderr] (http-localhost- Caused by: org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'script' not found. (inputStream://dummyUriWithValidSuffix.xml, 33, 19)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.reportUnknownFeature(XMLHandler.java:1991)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleUnknownFeature(XMLHandler.java:1955)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLHandler.java:1899)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1023)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:1001)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:712)+

+18:25:01,757 ERROR [stderr] (http-localhost-     at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)+

+18:25:01,758 ERROR [stderr] (http-localhost-     at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)+

+18:25:01,759 ERROR [stderr] (http-localhost-     at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)+

+18:25:01,759 ERROR [stderr] (http-localhost-     at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:181)+

+18:25:01,759 ERROR [stderr] (http-localhost-     ... 24 more+

+18:25:01,759 GRAVE [org.jbpm.designer.web.profile.impl.JbpmProfileImpl] (http-localhost- null: java.lang.NullPointerException+
+    at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshallDefinitions(Bpmn2JsonMarshaller.java:201) [classes:]+
+    at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshall(Bpmn2JsonMarshaller.java:157) [classes:]+
+    at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$2.parseModel(JbpmProfileImpl.java:252) [classes:]+
+    at org.jbpm.designer.web.server.TransformerServlet.doPost(TransformerServlet.java:221) [classes:]+
+    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]+
+    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]+
+    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70) [classes:]+
+    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]+
+    at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952) [jbossweb-7.0.1.Final.jar:7.0.2.Final]+
+    at java.lang.Thread.run(Thread.java:662) [:1.6.0_32]+

I may be a conflicting process naming issue? I thought that import function would have rename the process on the fly so that it feets the orignal process name Test2.
I must say that the place where this import function is that is to say inside the web designer is strange to me. I thought this function would have been available outside the web designer for exemple with a specific menu in the tree browser on the left in drools guvnor. By doing this, the imported file would automatically create the package if necessary and the process with correct name. Create a new empty process and then import a file or BPMN2 code is a bit strange to me but that's my opinion.

>> I try to use a "Reusable Subprocess" when in the window "Editor for Called Elements" i have no process in the list although I have other defined in drools guvnor... <<
 >> I try to save all other processes and export bpmn2 files and same for process images (png) and then I have some processes displayed in the list but not all  :(  and I don't understand why... <<
>>>I have not encountered this problem yet, in Guvnor if you go to the Administration tab and then Import/Export, can you export your repository (it will generate a .zip file that you can save) and show it so can test? 
>>>Not sure either without seeing some errors in logs or a better, reproducible description of what you are doing 
Actually I can't reproduce that with a brad new installation. The only thing I see is that when you create a New BPM2 Process and design it, you are able to close it (in other words no check-in done) and it is still available in the tree browser on the left. That may be what I did since no warning message
is displayed when you close a modified process without saving it... I played a lot with new processes that may explain my problem so it appears not to be an issue. The warning message to close an unsaved process would be a good thing  ;) 

>> How do you use Boundary Events ? In my version I don't think I am able to specify a Boundary Event on a specific Task, no graphical component named Boundary Event available in the Shape Repository... <<
>>>You can drag an even to the edge of a task/subprocess and you will see its edges turn green color. Dropping your even when the edges are green will make it a boundary event automatically for you.
 I agree with you but my first try was directly with a Reusable Subprocess and when you do that the edges keep red  :(( 

>> When writing this, I told myself I must give another try : with a task, miracle it's working. In fact I think I am not used to clicking on the Morph Shape Function. I thought all the possible components were avaibable in the Shape Repository but it seems that it is not the case. (ex: Throwing Error Intermediate Event displayed in blue color not avaibable directly (you must use Morph Shape to get it) although Catching Error Intermediate Event displayed in brown color available in the Shape Repository). Actually I tried till now to put a Boundary Event on a Reusable SubProcess directly and with this web designer version it don't think it is possible : you must first put the Boundary Event on a Basic Task first and then Morph the Basic Task to a Reusable Subprocess so that it works. <<
>>>I will try this out..but best for you would be if you encounter issues like this to open a jBPM Jira so we can fix it.
You are right but sometimes "newbee" users may be not using the tools in a right way so that we may (the newbees !) not think that it is an issue  ;)  
=> I will test again and open a JIRA if needed => tested on Web Designer 2.2 Final, still an issue.

>> 1- I read in the 5.3.0 Final User Guide that there were a way to directly use an xml file describing a BPM process so it means that the web designer does not offer all the functionnalities the jBPM engine is able to handle, is that correct? <<
>>>Nope, from the current jBPM BPMN2 Editors Designer is the only one what actually supports everything that the jBPM runtime can execute.
Sorry, I must re-formulate so that I am sure I understand what you are saying :
a- the jBPM BPMN2 Editors Designer you mentioned is the *web* designer provided with jBPM 5.3.0 Full Package
b- Everything available in the jBPM web designer is totally executable by the jBPM runtime
c- The last step, there is nothing that the jBPM runtime can execute which is not available in the web designer (bijective function)?

>> 2- If I use New BPMN2 modeler unde eclipse will the JBPM Engine be able to handle everything coming from eclipse New BPMN2 Modeler file? <<
>>>With Eclipse you have to at times modify the BPMN2 XML by hand to some constructs in there.
How do you know that, problems in the server.log? Is there a way to detect as soon as possible the things that must be change by hand?

Hey you were on the right way, what about points 3-, 4-, 5-, 6- ?  ;)  

>> I must say that I really enjoy jBPM solution through the documentaiton even if I think in my case and opinion the first steps are not easy to handle when using the differents tools. <<
>>>Well we give you free help here or on IRC or if you raise Jiras we fix them also for free ... so you could maybe help with the documentation as well if you feel like contributing something back  ;) 
Ok I'll try to think about that but for now I must go further in using jBPM  ;)  and be able to evaluate the things that I will be able or not able to do, so keep in touch to help me !!!

Now I am playing with Signal Events and have some problems but I need to make some further tests to see if I need help from community  :8} 

Kind regards

Reply to this message by going to Community

Start a new discussion in jBPM at Community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20120801/eb12ab5c/attachment-0001.html 

More information about the jboss-user mailing list