42 | | * Definir uma nova árvore de diretórios para o módulo, que separe o código acessível pelo Expresso, código do módulo (lib), e código de terceiros. Prever local para hooks, plugins, especializações de classes, templates por organização; |
| 42 | * Definir uma nova árvore de diretórios para o módulo que contemple: |
| 43 | * Isolar o código acessível pelo Expresso (inc); |
| 44 | * Separar o código interno do módulo (lib); |
| 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. |
| 52 | * Transferir para o módulo as classes que são de estrutura dos processos e deixar no engine apenas as funcionalidades relativas ao andamento das instâncias; |
| 53 | * Eliminar o parâmetro link do banco de dados passado cada classe; |
| 54 | * Documentar o engine com um diagrama de classes e um diagrama entidade-relacionamento; |
| 55 | * Verificar se é possível documentar o engine com algum diagrama comportamental. |
| 56 | |
| 57 | * Criar uma nova factory estática para o workflow |
| 58 | * Fazer o registro das classes que podem ser utilizadas; |
| 59 | * Avaliar o design pattern registry e ver como pode ser aproveitado; |
| 60 | * Encapsular objetos do array $Globals; |
| 61 | * Criar um cache na factory; |
| 62 | * Avaliar como pode ser feito um cache de objetos que perdure após um recarregamento da página, por exemplo utilizando sessão ou memcache; |
| 63 | * Aproveitar esta factory também para os processos, e prover uma forma de isolar as classes que são do módulo. Uma possibilidade seria criar uma factory abstrata e uma especialização para o workflow e outra para os processos; |
| 64 | * Verificar se é possível utilizar o autoload para identicar a localização dos arquivos fontes. |