So there's a check if the content_updateobjectstate exists, and if ti doesn't then eZContentOperationCollection::updateObjectState() is used.
Why this amibguity? Why do we have the ability to use both ways and not only one?
It's not exactly a check against content_updateobjectstate existence but against wether the operation is activated or not in workflow.ini/[OperationSettings]/AvailableOperations
So both will do the job, but with the operation you can plug a workflow event type while without you can't.
This is done this way to avoid the performance penalty of always using the operation even if there's no workflow.
This is done this way to avoid the performance penalty of always using the operation even if there's no workflow.
Any idea about how much is the penalty?
Is this pinciple, of avoiding using operations where there's no workflow, used consistently through the eZP code? Is it done like this in all parts where we can have/nothave operations and workflows?
--
Nothing is impossible. Not if you can imagine it!