I found more details on the situation.

After a workflow is loaded from an xml storage, the workflow is verified:

$workflow->verify();

in which is applied the visitor pattern with the
"ezcWorkflowVisitorNodeCollector" class, that re-orders the ID's,
there by loosing the Id defined in the XML.

It would be nice to attach a "oid" property to the node, a static
identifier. i'm working around this.

2010/1/26 José Moreira <matrixowns...@gmail.com>:
> I found the reason. I'm using the database executer and when the
> workflow is saved in the database (from the XML) the ID of the node
> becomes the generated ID from the database and it will change
> everytime you do it, for example installing new versions of the
> workflow and also the plugin doesn't help because the node ID on the
> XML is lost.
>
> It makes sense of course, but it would be helpful to attach a fixed
> identifier to a node.
>
> I'm, thinking about rewriting the save() method of
> ezcWorkflowDatabaseDefinitionStorage class to add additional
> information to a database node record but that would mean it could
> also be required to extend the Node class to access that information
> later, which adds up to the problem.
>
>
>
> 2010/1/26 erminia de angelis <erminia.deange...@gmail.com>:
>> Hi
>>
>> José Moreira ha scritto:
>>>
>>> ... and/or the node id set on the XML, <node id="333" type="Input">,
>>> doesn't match up with the ID on the objects which seems to be
>>> generated from the position of the DOM Node on the document.
>>>
>>> My objective is to associate extra info to the node on a database
>>> table and during the workflow execution to be able to load that
>>> information for the executed Input node.
>>>
>>>
>>
>> Well I had to face this problem some time ago
>> and I rembember only the ids of the Start and End nodes being regenerated
>> ... if it is so you can get the original node_id  for this 2 nodes from
>> table node just by giving the workflow_id
>>
>> Hope it will help
>>
>> Erminia
>>
>>
>>
>>> 2010/1/26 José Moreira <matrixowns...@gmail.com>:
>>>
>>>>
>>>> I'm looking in the API and i haven't been able to find a way to get
>>>> the ID of the last executed node ( the Input Node)  when the execution
>>>> is suspended waiting for input, except by using a Plugin that
>>>> registers the executes nodes somewhere, an execution variable for
>>>> example.
>>>>
>>>> any thoughts?
>>>>
>>>
>>>
>>
>> I used the plugin
>>>
>>>
>>
>>
>
>
>
> --
> José Moreira
> * http://pt.linkedin.com/in/josemoreira
>



-- 
José Moreira
* http://pt.linkedin.com/in/josemoreira
-- 
Components mailing list
Components@lists.ez.no
http://lists.ez.no/mailman/listinfo/components

Reply via email to