= Bem-vindo às páginas Wiki do Workflow! = Sumário do conteúdo: * [wiki:WF/changelog Changelog] * [wiki:WF/cursos Cursos Ministrados] * [wiki:WF/Documentação Documentação] * [wiki:WF/Links Links] * [query:status=new|assigned|reopened&component=Workflow&type=tarefa|melhoria|defeito&order=id&desc=1 Tarefas, Melhorias e Bugs] * [wiki:WF/versaoexperimental Versão Experimental - Flumen] Ú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: [wiki:WF/WFLog 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: [wiki:WF/fabrica 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