Changes between Version 32 and Version 33 of WF


Ignore:
Timestamp:
06/09/10 11:29:16 (14 years ago)
Author:
viani
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF

    v32 v33  
    2323 
    2424No workflow é possível associar instâncias entre si, num relacionamento tipo pai-filho, que fica registrado na tabela egw_wf_interinstance_relations. Esta tabela teve a coluna wf_parent_activity_id suprimida, implicando em modificações no método getChildren da classe wf_instance, que diretamente recupera dados da tabela. A assinatura do método mudou de getChildren($instanceID = null, $activityID = null) para getChildren($instanceID = null). Recomenda-se revisar o código dos processos de workflow, e modificar as chamadas ao método getChildren, caso esteja sendo utilizado por algum processo. Recomenda-se também, após a atualização da versão do módulo, verificar se a coluna wf_parent_activity_id foi removida da tabela e se a chave primária também foi modificada. Caso tenha ocorrido algum problema, deve-se fazer a atualização manualmente. Outra recomendação é substituir o método getChildInstances (que está depreciado) da classe wf_engine, pelo método getChildren da classe wf_instance. 
     25 
     26#609 - Automatizar a instanciação e recuperação de objetos na $GLOBALS 
     27 
     28Na verdade o título deste ticket não está bem claro, mas o objetivo foi modificar a forma como os objetos de classe utilizados pelo workflow são armazenados. Havia uma implementação de factory no módulo que utilizava o array $GLOBALS para armazenamento. A proposta foi criar uma nova factory que pudesse ser chamada de forma estática e mantivesse os objetos em um array interno próprio dela, ao invés de usar o array global. Outra característica implementada foi que a factory é a mesma para atender ao módulo e aos processos, sendo invocada da mesma forma, não importando a origem. Internamente ela implementa uma espécie de proxy que identifica a origem, e faz a devida separação do contexto em que deve trabalhar: módulo ou processo. Também foi implementado o registro das classes que podem ser instanciadas com a nova factory.  
     29 
     30A nível de módulo, a implementação deste ticket é transparente para os usuários, sem necessidade de qualquer adequação. Mas a nível de processo é necessário modificar o código dos mesmos para fazer uso da nova factory. Isso está melhor esclarecido no documento: [wiki:WF/fabrica Utilizando a Fábrica de objetos]