Wisss should provide a workflow metamodel
May 24, 2007 Wisss No CommentsWhat a pity not to have much time to work on Wisss these weeks. But not working very much on it doesn’t mean that I don’t think to the project. I’ve stopped hopping to be ready to publish Wisss in the Acceleo farm 1.0 that’s why I must comit my big refactoring soon, even if it doesn’t work yet.
These days, I was thinking about workflow. Should classes provides “operators” like UML to define the actions you can make on an object (and thus provide an “action” menu like in Plone) ? I wanted to add for the first major version, or after, a workflow metamodel and this term of action was too restrictive to my mind. I’ve discussed with my colleague Régis (”The official egroupware workflow maintainer”
) to highlight notions and problems relative to workflow. It appears that classes should have operators which are invoked by workflow activities. I won’t explain each detail since a model is better than a long speech, so I will published the metamodel as soon as it’s done.
One of the biggest problems is the role and acl management. In a workflow, each activities is related to role to define who can see or change a state of the process. In my first try, I had included acl rules in the model, what I don’t want anymore (because it’s heavy and not enough flexible). The choice seems to tend to define roles in the model and set groups, users, roles’ rights and affectation of groups and users to roles in the administration part of the generated web application. I may change my mind and any ideas is welcome :-p
I’ve not yet talked about the problem of multiple edition (or any activities launch by more than one user at the same time) but it’s something which must be solved in the PHP code or in database, as soon as I can implement a kind of reliable mutex, so it’s a bit far from my concern for now.
