Hi dev's,
I've been working on documenting the jbpm DB schema's today and noticed
how extensive the human task schema is.
One of the enormous advantages of the marshalling code in drools and
jbpm is that schema modifications are transparent to the end user:
adding a new entity/table or modifying one then doesn't mean anything to
the user, whereas without marshalling, the users are forced to update
their schema's -- or sometimes even abandon old data because schema/db
migrations are impractical/impossible.
(As I'm writing this, btw, the saying "Premature optimization is the
root of all bugs" does come to mind -- concerning what I'm about to
propose.)
In any case, are there any opinions on providing an option to save the
HT info via marshalling, in one object รก la SessionInfo,
ProcessInstanceInfo or WorkItemInfo[1]?
The main reason to offer this would be that it transfers the complexity
from the database to the code (which can be as much a pro as a con),
and that it makes backwards compatibility a lot easier.
Thanks,
Marco
[1] as if there's not enough other stuff to do, by the way. ;D
--
jBPM/Drools developer
Utrecht, the Netherlands