The functionalities you mention are in fact simple additions that are very near on the roadmap. Especially the node right click behaviour was planned to get implemented this or next week. I don't know where you are in the implementation of the features you mention, but it would be very annoying to do double work here. So I will keep you posted here on what I am currently working on.
If you have a look at our open JIRA issues you will have an idea on the other tasks that are still to be done. I am looking forward to be working with you!
Btw here is the overview of the JIRA issues in relation to the GPD : http://jira.jboss.com/jira/IssueNavigator.jspa?reset=true&mode=hide&pid=10052&sorter/order=DESC&sorter/field=priority&resolutionIds=-1&component=10054
Note that this is an unfinished list. Feel free to comment on any of the issues or to add some.
I think for now, the two items that you can work on are the properties pages on the decision and/or process state nodes. Before we can accept your contributions, you will have to sign our contributor's agreement. You'll find the details here : http://labs.jboss.com/portal/index.html?ctrl:id=page.default.con&noproject=true. Also, keep me posted here on this forum on the work you do. Just post the code you write, along with some explanation under an appropriate topic.
After going through Jira feature request list hre is what I have compiled.Decision node property sheet (handler and condition fields)GOAL: be able to set basic decision settings in a decision property panel such as a handler class and conditions.THOUGHTS: I'm hoping to make a generic handler with some kind of basic logical scripting system for the condition as well.
For example a business analysist can write simple logic in the condition, select the handler class and it can figure itself out where to transition to.
Swimlane shows on node/tasksGOAL: visible swimlane names on the nodes (tasks aren't visible on GPD..)THOUGHTS: We may want to graphically show tasks in nodes somehow and then next to them have swimlanes.
Form editing (JBPM-135 forms editing)JSP Editor to generate form HTML docs or something simliarGOAL: be able to export a PAR with forms included to be deployable
Packaged version (JBPM-127 create packaging strategy)GOAL: be able to do PAR creation export
Future (prob somethind I want to see but not do myself :-P):
Source XML, Property View -> Graphical View Updating (JBPM-211 Adapt property sheet according to context in xml tab.)GOAL: Be able to edit XML and have it update in the graph
Like you mentioned, I would like to start working on the decision property page as that is at the top of our list here.
I've looked at the code and I have a basic idea of how it works. It seems I may have to add methods in the Decision bean model so I can reference them from the property page. I'll have to play around with it a bit more.
I would like to add a JIRA ticket for the decision node panel stuff but I can't seem to find where todo that. Do I not have the rights with a regular jboss user account or am I missing where the link is?
Anyone can enter JIRA issues. You should simply logon with your jboss credentials and select the 'create issue' option.
In the meantime, the context menu on the graphical pane is implemented. A decision node property page for configuring scripts would be a great contribution as well as a property page for configuring the process of a process-state. If you would like to contribute this, please post the code changes you would like to make here or send them directly to me.
Note that the model part of the GPD does not contain the greatest code at the moment and is in need of a good old refactoring.
Now that I think of it. It would also be great if you (or anyone else) could work on the tests. There is a test plugin (module org.jbpm.ui.test) but until last week all tests in it were broken. Last week I implemented a new one, that essentially tests the creation wizard to create a new process project. That is the only test working at the moment and it can serve as an example. If you have a look at it, you will see that it involves quite a lot of work to write such tests. Nevertheless, as we become a real big piece of software, these tests can become invaluable as regression testing tools, so I want definitely put more energy in that. Again if you (or anyone else) feel tempted to have a look at it, please do. It will provide you also with major insight in the Eclipse platform.
Jira issue has been posted: http://jira.jboss.com/jira/browse/JBPM-516
Cool, I will check out CVS as soon as I can to see your work on the context menus.
I'll probably start coding issue 516 tomorrow assuming everything paperwork (contributor license) goes through here. I will either post the code here or email it to you when complete and then we can talk about CVS write/update access.
I mentioned the model because I was tracing the task node property sheet and noticed all method calls run off of the task bean model. While the decision bean model has nothing in it and would have to be expanded. I'm going to have to dig further to see how that is converted to XML on the fly but I'm assuming there are DOM calls somewhere in there.
In regards to the tests, i'll probably take a look but I doubt i'll be able to work on them. They definitly are important I agree to a project.
- Which CVS are you running off right now? the one at sourceforge or jbosses? Can you give reply back with the connection string?
- I'm trying to think of a good way of easily allowing someone to setup decision logic without requiring them to edit a handler in the GPD. The perfect scenario would be a field I could pull in with the selected handler, parse and come up with a decision. Otherwise some kind of variable editor would be nice but I don't believe the jpdl schema has any ability for variable assigning except in the controllers. Any thoughts? Are condition fields accessible by the class handlers if specified in transitions?
In regards to my last thought here's an idea:
may be cool to have a mini decision wizard that makes the beanshell code for the condition tags for each transition connected to the decision node.
So when you goto the propery sheet it will give you the condition fields for each transition currently connected and then you can click for a wizard. Condition fields are for beanshell expressions so the wizard can have some sort of selectable logic. type in variables (since they aren't in the workflow def), select conditions, add the rules and click save to fill in the beanshell code. In its basic form it is an if condition beanshell generator.
We use the JBoss repository since last wednesday. The connection string is :pserver:firstname.lastname@example.org:/cvsroot/jbpm.
Regarding the property pages you want to contribute. I would opt to implement it in the simplest way possible initially. There is always room to improve this later.