Migration
by Tom Baeyens
Jeff, Burr, Martin,
Afaict, you are the guys closest to our customers. Next week, we'll be discussing
migration between jBPM 3 and 4 in the team. We would appreciate your input.
If we had unlimited resources, we'ld simply provide DB, process-XML and API backwards
compatibility, but given that our resources are limited and the improvements
numerous, here are my initial thoughts on how we currently think to handle migration:
Probably DB migration will be too hard to supply in a decent manner. So we'll
probably target that users will be able to use jBPM 3 and jBPM 4 in parralel. That
way they can start deploying new processes to jBPM 4 and let jBPM 3 processes fade out.
For each process in jBPM 3, they could migrate the process to jBPM 4 (see below),
redeploy and start new executions in jBPM 4. Although from the user client code
perspective this will be hard or impossible.
We also anticipate that we'll have to supply a process translation tool that can
translate jPDL 3 process XML files to jBPM 4 process XML files. Most of the process
file will be converted. But probably there will be some things in jBPM 3 that we
will not support in the exact same way in jBPM 4. So some converted processes might
not be complete or might not execute exactly the same way as in jBPM 3.
API will be different. Only migration docs. The good news is that with the arrival
of jBPM 4, we'll start to ship a more limited API that is more decoupled from the
engine internals so that it will remain much more stable from then onwards.
Feedback from our jBPM Community Day in Dublin was very clear: Migration is one of
the biggest concerns for our users.
So here are my questions:
What aspect of migration will be the biggest challenge for our customers ?
Which aspects of migration will be showstoppers for ourcustomers ?
Suppose that we ship the above migration strategy and a really really really
important client wants to migrate his DB really really really badly. Would we
a) be able to say no.
b) provide him with skeleton code that the client can use as a basis to write their
own DB migration in code.
c) let our consultants work out the DB migration for the first customer that wants to
pay for it and then add it to the jBPM codebase.
--
regards, tom.
16 years
[Design of JBoss jBPM] - Re: JSF setting default values
by woo37830
I've gotten the go to next screen working when the user can service the next task by creating my own version of <j4j:completeTask and adding an optional parameter nextId. It does some figuring out and sets the nextId to '0' if the user cannot service the next task, and to the id of the next task if servicable. If that variable is nid, then
In the <n:nav outcome="transition" url="task.jsf?id=${nid}" />
moves completely nicely to the next task!
However, if the nid from above is '0', then I get an exception that the task 0 can't be instantiated. In that case I'd like to redirect to "home.jsf"d which is where I have the task list.
Is there a way I can do that? I can't find a generic forward, redirect, or exception inside the console itself to have a default error page. In my case I'd make it "home.jsf" and not show the messages and be happy.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4186107#4186107
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4186107
16 years
[Design of JBoss jBPM] - Re: JSF setting default values
by woo37830
Written actionhandler but can't set value
I have code that writes out the following when used as a tag
<sj4j:updateVariable name="destination" trueValue="home.jsf" falseValue="task.jsf?id='#{nid}'" condition="#{nid == '0'}" />
nameValue = destination ( String.class )
trueValue = home.jsf (String.class)
falseValue = task.jsf?id='580' (..)
conditionValue = false (...)
NOW, I then do a
if( conditionValue.toString().equals("true") )
this.nameExpression.setValue(context, trueValue.toString() );
else
this.nameExpression.setValue(context, falseValue.toString() );
in my tag action listener.
I get the following error when the tag is executed.
Error updating variable: An exception of type "javax.el.PropertyNotWriteableException" was thrown ...name="destination: Illegal Syntax for Set Operation.
Question is how to set the variable destination in the action listener?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4186080#4186080
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4186080
16 years
[Design of JBoss jBPM] - Re: JSF setting default values
by woo37830
Okay, trying to nav to two different places depending upon a variable that gets set by an action.
here is the n:nav tag
<n:nav outcome="transition" url="#{nid == '0' ? 'home.jsf' : 'task.jsf?id=#{nid}'}" storeMessages="true" />
Now I think that the expression parser is getting confused because there is a #{variable} inside of the outside #{string}.
Is there another way to do this? I'm thinking of writing a tag that takes a trueValueVariable and a falseValueVariable and a condition and target.
If the condition is true, it assigns the trueValueVariable to the target, else it assigns the falseValueVariable.
NOW, the question is will the n:nav tag handle a url="#{target}" where the target was the name of the target variable in the previous assignment via the action?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4186069#4186069
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4186069
16 years