Forums / Developer / Engineering request for testing: stateful operations

Engineering request for testing: stateful operations

Author Message

Bertrand Dunogier

Friday 14 January 2011 3:30:57 am

Hi !

Yesterday, we came across an issue in the workflow/operation system. While operations interrupted by a workflow (for instance approval) will be resumed where they left off, interruptions from an operation method will restart the operation from scratch. This is quite severe, even though it fortunately only affects the kernel aspect of operations. No default method that I know of halts an operation by default, and therefore it had never been seen.

You can see the issue here, as well as the proposed patch: http://issues.ez.no/IssueView.php?Id=17840.

If you have a possibility to test it, please do ! I'm especially interested in tests on systems where real life workflows are used, interactive or not, and whatever the operation is. If it is a custom operation, it is even bettter !

Please let me know here.

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Gaetano Giunta

Friday 14 January 2011 5:10:46 am

1. Care to explain the interaction between interactions and operations, for the people who rae not that deep into them (or just forgopt ;-) ) ?

2. while working on this one thing that should be added to the current workflow events api is support for XA transactions: if an event at the end of the workflow ends in ABORT, the db transaction is currently rolled back, but the event handlers that previously executed get no chance to rollback their work

Principal Consultant International Business
Member of the Community Project Board

Bertrand Dunogier

Friday 14 January 2011 5:38:07 am

2) honestly, I can't add much more. I've already spent quite some time on this while it was unplanned, and really won't be able to fit more right now :(

1) which aspect exactly do you wish I elaborate upon here ? Just guide me, I'm a little slow today :)

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Gaetano Giunta

Saturday 15 January 2011 4:55:00 am

About point 1: just general info about "operations" will do

- some operations have triggers (and thus can have workflows added to them), while some olthers do not declare triggers. Correct? The list of operations that have triggers is found in workflow.ini

- operations are grouped in modules; the ggsysinfo extension can be used to show all of the operations available on a given install

- operations are declared in a operation_definition.php file inside the module directory; every operation can consist of a series of php methods that will be invoked one after the other (eg. content/publish has 19 php methods in it)

- what are the expected return values for those php methods that are declared as part of oeprations, and how can they "interrupt" the operation?

Principal Consultant International Business
Member of the Community Project Board