wiki:WF

Version 39 (modified by viani, 14 years ago) (diff)

--

Bem-vindo às páginas Wiki do Workflow!

Sumário do conteúdo:

Última versão estável: 2.0.004, disponível no pacote de instalação do Expresso 2.0.7

Versão em desenvolvimento: 2.2.000


Modificações Importantes da Versão 2.2 (Comentadas)

#1082 - Modificação no método getChildren da classe wf_instance

No 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.

#1069 - Log de tempo de execução

Com o objetivo de monitorar o tempo despendido na execução de atividades dos processos, foi modificada a classe run_activity, para calcular e registrar os tempos gastos na execução. O registro é feito utilizando a classe geral de log do módulo, que está melhor descrita no documento: Utilizando o Registro de Log. Os dados de log serão gravados no arquivo /home/expressolivre/workflow/logs/workflow.log, e dependendo do volume de dados registrados, é interessante programar uma rotação sobre este arquivo, evitando que o mesmo cresça indefinidamente.

Por padrão, na instalação do módulo workflow, o log está configurado para o valor mínimo (um), e caso seja de interesse logar os tempos de execução das atividades dos processos, o nível do log deve ser aumentado para o valor máximo (oito), correspondendo ao nível debug.

#942 - Ajustar a classe wf_location para considerar a nova coluna que identifica se o registro é distrito

A classe wf_location é uma classe utilitária disponível para uso dos processos, e sua finalidade é obter dados de estados e cidades. Está apoiada no módulo Contact Center, que teve a tabela phpgw_cc_city modificada com a inclusão da coluna is_district, para separar as cidades das outras localidades menores. Em especial foi modificado o método getCitiesFromState com a inclusão de um novo parâmetro para filtrar somente cidades.

#609 - Automatizar a instanciação e recuperação de objetos na $GLOBALS

Na 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.

A 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: Utilizando a Fábrica de objetos

#441 - Organograma - Incluir período de substituição de chefia

Este ticket implementou a tabela 'substituicao' no schema public do banco workflow, para armazenar o histórico de substituições dos titulares de área. Foi modificada a interface de administração do organograma (link organograma no menu lateral esquerdo) para possibilitar o registro da substituição. Na aba organograma, da interface do usuário, foi incluída uma nova consulta para monstrar as substituições em andamento. Também foi modificada a classe wf_orgchart para fornecer os dados da substituição, considerando o intervalo de datas. Ao instalar esta versão do módulo verifique se a nova tabela foi criada corretamente como está descrito no arquivo setup/tables_update.inc.php