Changes between Version 12 and Version 13 of WF/versaoexperimental
- Timestamp:
- 12/18/09 17:38:28 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WF/versaoexperimental
v12 v13 36 36 Caso alguma implementação no Flumem possa ser aproveitada de imediato no módulo oficial, nada impede que seja transferida, desde que bem testada e não comprometa o funcionamento do módulo e processos. 37 37 38 Mais abaixo segue o levantamento de requisitos desejáveis para a nova versão.38 Mais abaixo segue uma lista de melhorias desejáveis para a nova versão. 39 39 40 40 == Propostas para o Módulo == … … 44 44 * Separar o código interno do módulo (lib); 45 45 * Separar o código de terceiros (php e js); 46 * Prever local para o código das organizações: hooks, plugins, especializações de classes, templates.46 * Prever local (custon) para o código das organizações: hooks, plugins, especializações de classes, templates. 47 47 48 48 * Revisar o código do engine … … 75 75 * Deve-se criar uma estrutura padrão para os plugins que siga o design pattern MVC; 76 76 * Deve existir algum controle de acesso para liberar os plugins para usuários; 77 * Possibilitar aninhamento de plugins. 77 * Possibilitar aninhamento de plugins; 78 * Possibilitar a criação de plugin na área custom da organização. 78 79 79 80 * Pesquisar e implantar uma ferramenta para design dos fluxos dos processos … … 102 103 * Implementar uma nova funcionalidade para atividades em que possa ser definido um tempo máximo de permanência da mesma com o usuário que detém a posse; 103 104 * Criar um job genérico que rode diariamente e selecione as atividades que expiraram os prazos, e de alguma forma comunicar o usuário ou um administrador designado; 104 * Se ficar inviável criar o job, porque o atual modelo exige configuração do cron do servidor, criar ao menos um página que mostre o resultado das pesquisas com opção de envio de email. 105 * Se ficar inviável criar o job, porque o atual modelo exige configuração do cron do servidor, criar ao menos um página que mostre o resultado das pesquisas com opção de envio de email; 106 * Verificar a possibilidade de gravar buscas no monitoramento por processo, e efetuar envio de email automático a partir do resultado da busca. 105 107 106 108 * Prover uma auditoria de queries executadas nas tabelas do módulo Workflow. 107 * Quando alguma alteração nos dados do processo for realizada, na interface de administração, registrar o evento em banco de dados para se ter um histórico dos acontecimentos. Por exemplo, ativação/desativação de processo, alteração de parâmetros, etc;109 * Quando alguma alteração nos dados do processo for realizada, na interface de administração, registrar o evento em banco de dados para se ter um histórico dos acontecimentos. Por exemplo, ativação/desativação de processo, alteração de configuração, inclusão/exclusão de elementos, etc; 108 110 * Verificar a possibilidade de executar triggers nas tabelas do módulo Workflow, para logar a atividade sql. Cuidar para não impactar na performance geral do banco; 109 111 * Outra abordagem pode ser inserção de código nos principais eventos administrativos, para logar as modificações; … … 135 137 * Facade (opcional); 136 138 * Dao; 139 * Serviços 137 140 * Log. 138 141 * Isolar os dados variáveis como log, documentação, compiled, smarty, graph, para facilitar a automação de deploy e a integração com IDEs; … … 141 144 * Criar um novo modelo de execução de atividades 142 145 * Criar uma classe base para execução de atividades, contendo métodos básicos como inicialização, finalização, cancelamento, execução, continuação de uma instância, execução de ajax, comunicação com o engine e outros que um estudo mais detalhado venha a revelar; 143 * Incluir também objetos para as classes já existentes hoje como regex, factory, validações; 144 * O desenvolvedor irá criar uma classe para cada uma de suas atividades, que estenderá a superclasse e que contenha atributos do tipo objeto para as classes controller e model da atividade; 146 * O desenvolvedor irá criar uma classe para cada uma de suas atividades, que estenderá a superclasse e que contenha atributos do tipo objeto para as classes controller, model e view da atividade; 145 147 * Implementar um método run que possa ser executado para iniciar a atividade. Continuarão a existir as classes de controller e model da atividade, em separado. Continuarão a existir as classes basecontroller e basemodel; 146 148 * O desenvolvedor poderá sobrescrever os métodos de evento da superclasse: inicialização, finalização, cancelamento, transição. Em especial a transição pode servir ao desenvolvedor para obter o id da instância, após o encerramento de uma atividade start; … … 149 151 * Acomodar os processamentos pré e pós execução das atividades (agente de correio) em outro local do código; 150 152 * Pensar se é viável liberar para o processo gravar dados na sessão; 151 *152 153 153 154 * Criar uma camada de visualização