= 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&order=id&desc=1 Tarefas, Melhorias e Bugs] * [wiki:WF/versaoexperimental Sandbox - Área Experimental] * [wiki:WF/moduloapplications Novo Módulo Applications] Versão atual: 2.2.1 (Esta versão também é compatível com a série Expresso 2.0.x) ---- == 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] #446 - Log - Registrar utilização de métodos depreciados Nesse ticket foram identificados os métodos depreciados, seus substitutos e foi definida a política a ser adotada para a depreciação dentro do Workflow.[[BR]] Foi criado o arquivo inc/common_functions.inc.php, onde serão implementadas funções de uso geral, como a função ''wf_warn_deprecated_method'', que, quando chamada, gera um alerta e grava em arquivo de log o uso de um método depreciado. Mais detalhes podem ser consultados no documento: [wiki:WF/depreciacao Depreciação] #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