Hope to get some answers...
For large scale applications, where performance is a real challenge, I personally implement the current solution :
-I define a concept of 'workflow views', every view being associated to a query
-Every query is some kind of class that returns a list (or array) of workflow instance id's.
-I provide a little library of frequently used queries.
-The view definitions and association with queries are described as a Spring bean.
Now, configuration of these views/queries have to correspond to the action conditions, so the user will see (I mean queries results) only workflow instances on which he can perform actions.
To be clearer, I will give the following example : If you have an action belonging to step 3, that only 'GroupOne' users can perform, you would define a view that's associated to a query that returns all workflows in step 3 if the user belongs to GroupOne and empty array otherwise.
This kind of solution makes a heavy configuration work, as you find yourself making a redundant work (redefining conditions as queries). And every change in your workflow model will impact a change in your queries configuration. In the other hand, performance is really enhanced, especially if you are using some kind of caching system.
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=579026&messageID=738919#738919---------------------------------------------------------------------
To unsubscribe, e-mail:
users-unsubscribe@...
For additional commands, e-mail:
users-help@...