Replies: 11 comments
-
I am sorry but the version 5.0.1 was released to fast. We found lately some bug forcing us to a lot of refactoring. It is not recommended to use the version 5.0.1
But version 5.0.2 is not yet released because we need to make sure that everything works this time. In version 5.0.2 the method "execute()" of the AccessAdapter expects either a Task or Event object. Both provide the ACL model settings. So you can call this method. But the Access Control should not be changed outside of the processing life cycle. It is now fully controlled by the WorklfowService and the WorkflowKernel. |
Beta Was this translation helpful? Give feedback.
-
Okay, good to know.
In my application you can create a new workitem. After creating this workitem, it's not saved yet. If I remember correctly, your create methods of WorkflowController saves the workitem directly. I don't like this behaviour. And in WorkflowController.create() deprecated fields are used, no rights are set from the model. Is it possible to create a workitem without deprecated fields and with all computed fields (rights, owner, workflowgroup, ...)? |
Beta Was this translation helpful? Give feedback.
-
ok - in our own applications we do not work in this way. A new workitem (not yet saved) is empty and has no ACLl values. This is also a kind of status. Why should the user see the access list? The create method of the WorkflowController is setting the new fields:
Typical a new workitem is created by calling the method create(model, task, ref) in JSF:
...but you are right, maybe we can improve the create method. As we know modelversion and taskID we can load the task from the model and call accessAdapter.execute(workitem,task) This would update the ACL. What do you think? |
Beta Was this translation helpful? Give feedback.
-
If I want to define additional readers or writers of the workitem, I always use the items $readaccess and $writeaccess directly. I tested the create method yesterday and it didn't set anything. But I have to test why.
This would be great, thank you! |
Beta Was this translation helpful? Give feedback.
-
Should the method work with 5.0.2 ? For me, it doesn't if I'm usign a task instead of an event as a parameter. |
Beta Was this translation helpful? Give feedback.
-
yes this method can be used in version 5.0.2 |
Beta Was this translation helpful? Give feedback.
-
sorry - please try the following method call:
This should work |
Beta Was this translation helpful? Give feedback.
-
Great! This works. Thank you |
Beta Was this translation helpful? Give feedback.
-
Sorry, I have to reopen this issue again. But how can I update $owners without an event?
Exception: Thank you. |
Beta Was this translation helpful? Give feedback.
-
Have you tried to give your workitem a dummy $eventid (e.g. 1) I am still not convinced about the way you are using the workflow engine. Calling the AccessAdapter and OwnerPlugin against an empty (new) workitem is not a way we will active support. So in the future this can always break with new versions. The OwnerPlugin expects an event object and not a task object.
This means the workflowService looks into your BPMN model and computes the target Task your workitem instance will be associated with after the processing live-cycle is completed. This means the method looks for follow-up events and conditional events and so on... So at least if you really want to go this way
Maybe it is more save to use the Imixs SimulationService. This will run a complete processing life cycle without saving the woritem. We use this Service in the Imixs Test Environment. |
Beta Was this translation helpful? Give feedback.
-
With dummy ID:
Hm okay I already wondered about the evalNextTask method why it's necessary. I already used the SimulationService but it's really "expensive" to compute all tasks. |
Beta Was this translation helpful? Give feedback.
-
Hi,
with AccessPlugin and OwnerPlugin it was possible to refresh the ACL and owner without an event like here:
Is this also possible with the new ParticipantAdapter? Unfortunately, all public methods of ParticipantAdapter wants to have an event but in my case the $taskid is set and I need the ACL and owners for a new workitem. Doesn't work since the update to 5.0.1 and using the new method ParticipantAdapter.execute(...).
Beta Was this translation helpful? Give feedback.
All reactions