On 3/8/07, Rodrigo Senra <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
>
>  [ Rafael Oliveira ]:
>
>  |A não ser que eu tenha como requisito registrar todas as modificações
>  |nos objetos ...
>
>  Outra idéia que surgiu agora é usar Workflows como "hook"
>  Ou seja, em cada edição do objeto o Workflow é notificado
>  e scripts (before/after) podem ser usados para rastrear
>  as mudanças de estado.
>
>  Eu nunca fiz isso, de forma que talvez Gurus tenham que
>  se manifestar aqui para dar coordenadas precisas.
>  Todavia, uma rápida busca na Internet (aka Google)
>  por "plone automatic workflow  transition triggered"
>  mostrou resultados promissores, como [1].

Uma idéia também é fazer isso usando eventos...notificam o seu event
handler, que por sua vez executa a lógica.
Mas advinha onde fica o hook?

at_post_edit_script

Dá uma olhada nesse pedaço de código retirado de [1].

from zope.event import notify

...

class Employee(ExtensibleSchemaSupport, BaseContent):

    ...

    security.declarePrivate(permissions.View, 'at_post_create_script')
    def at_post_create_script(self):
        """Notify that the employee has been saved.
        """
        notify(EmployeeModifiedEvent(self))

    security.declarePrivate(permissions.View, 'at_post_edit_script')
    def at_post_edit_script(self):
        """Notify that the employee has been saved.
        """
        notify(EmployeeModifiedEvent(self))

[]'s
Fernando

[1]  http://plone.org/documentation/tutorial/borg/sending-and-handling-events

>
>  """
>  You could also arrange to trigger workflow transitions during your
>  "edit" handling scripts;  this is what the old, now-deprecated
>  WorkflowMethod wrapper did.
>
>  Tres
>  """
>
>  Eu não sei qual é o "novo jeito", já que o mencionado pelo
>  Tres Seaver está deprecated ? Todavia, acho que é por aí.
>
>  [1] http://mail.zope.org/pipermail/zope-cmf/2004-August/021125.html
>
>  Abração,
>  Senra
>
>  -------------
>  Rodrigo Senra
>  GPr Sistemas
>  http://www.gpr.com.br
>                    

Responder a