| 1 | Seguem abaixo os requisitos já validados para o novo MVC do workflow |
| 2 | |
| 3 | || 00 || Implementar a estrutura de uma atividade do processo com divisão em camadas: controller, model, view || |
| 4 | || 00 || A camada controller deve conhecer a camada view e model || |
| 5 | || 00 || A camada model não terá acesso a camada view || |
| 6 | || 00 || Existirá uma interface para cada camada || |
| 7 | || 00 || Será obrigatório implementar as camadas controller e model. || |
| 8 | || 00 || A implementação da camada view é opcional || |
| 9 | || 00 || Registrar as rotinas do sistema, ações das rotinas e os perfis de acesso às ações || |
| 10 | || 00 || Compartilhar os perfis entre rotinas e atividades || |
| 11 | || 00 || A associação de usuários/grupos aos perfis será o controle de acesso das rotinas || |
| 12 | || 00 || A primeira fronteira da camada controller será a página de entrada do módulo || |
| 13 | || 00 || Os dados passados para a controller deverão ser: identificador da rotina, identificador da ação, e opcionalmente dados para consumo na execução da atividade || |
| 14 | || 00 || A camada model deve retornar dados formatados para a camada controller || |
| 15 | || 00 || Implantar uma ferramenta para mapeamento de objetos de banco de dados || |
| 16 | || 00 || A camada model deve ter acesso a qualquer classe de negócio do sistema || |
| 17 | || 00 || Possibilitar à camada model definir operações sobre a instância: iniciar, completar, enviar, definir transição, definir usuário, atualizar atributos || |
| 18 | || 00 || A classe de instância deverá percorrer o fluxo, executando as atividades não interativas, e retornar o resultado da operação || |
| 19 | || 00 || Será possível definir código a ser executado pelas atividades, sob controle da instância, sendo possível acesso ao modelo de negócio do sistema || |
| 20 | || 00 || O camada model e o código da atividade devem ter acesso aos plugins do workflow || |
| 21 | || 00 || A classe de instância será responsável por persistir os seus dados || |
| 22 | || 00 || Obrigar a implementação de um método para validação de dados, na camada model || |
| 23 | || 00 || Obrigar a implementação de um método padrão nas camadas controller e model || |
| 24 | || 00 || Gerar o código básico das camadas model e controller || |
| 25 | || 00 || Implementar uma estrutura de mensagens para o processo, com possibilidade de internacionalização || |
| 26 | || 00 || A camada controller fornece dados para a camada view em conformidade com um protocolo de representação || |
| 27 | || 00 || A camada de visualização, por ser opcional. permite que seja implementada por sistema externo || |
| 28 | || 00 || A camada de visualização tem a responsabilidade de criar as interfaces, usando ferramentas que estejam disponíveis || |
| 29 | || 00 || A camada view deve mesclar os dados com a interface || |
| 30 | || 00 || A camada view não deve misturar código da aplicação servidora com código html || |
| 31 | || 00 || A camada view executa chamadas endereçadas para ações da controller, utilizando protocolo http/post || |
| 32 | || 00 || Disponibilizar uma interface de serviço para ações da camada controller || |
| 33 | || 00 || Autenticar as chamadas de serviço usando sessão do Expresso || |
| 34 | || 00 || Implantar uma ferramenta para construção de interfaces, com template padrão e internacionalização || |
| 35 | || 00 || Validar os dados no lado cliente, usando javascript, garantido adequação às propriedades dos campos, e prevenindo contra sqlinjection e xss || |
| 36 | || 00 || A camada de visualização deverá invocar a validação de dados, implementada na model, antes de submeter o formulário || |
| 37 | || 00 || A validação de dados deve ser obrigatória no lado servidor || |
| 38 | || 00 || Transformar as classes utilitárias em plugins, que deverão implementar uma interface || |
| 39 | || 00 || Possibilitar a construção de plugins extras pelas organizações || |
| 40 | || 00 || Disponibilizar os plugins utilitários, para as camadas controller e model, utilizando o padrão de inicialização tardia || |
| 41 | || 00 || Construir plugins de visualização específicos para o negócio do workflow || |
| 42 | || 00 || Definir uma nova estrutura de armazenamento de código para o processo, que contemple as novas características do mvc || |
| 43 | || 00 || Executar a atividade sob tratamento de erros || |
| 44 | || 00 || Implementar a sinalização de erro em todos os plugins disponíveis para o sistema || |
| 45 | || 00 || Prover um classe para a definição dos dados constantes do sistema || |
| 46 | || 00 || Identificar quais bibliotecas de javascript estarão disponíveis para o sistema || |
| 47 | || 00 || O código do sistema não poderá ter acesso à classes do módulo || |