Personalização do Módulo de Ensino
O módulo de ensino possui funcionalidades que comumente serão diferentes entre as instituições da rede IFES, como por exemplo, a estratégias de consolidação, o cálculo dos índices acadêmicos dos alunos, dentre outros. Para permitir uma simples personalização evitando gerar qualquer conflito de código, o módulo de ensino foi projetado com vários pontos de extensão fazendo uso de padrões como Factory, Strategy e outros. Esses pontos de personalização referentes ao módulo de ensino são explicados neste documento.
Personalizando Estratégias de Consolidação
Os módulos de ensino são dividos em vários níveis e em cada um deles há diferentes regras para consolidar as turmas e gerar o resultado de cada aluno na turma em questão, estas regras de consolidação também variam entre as instituições da rede IFES. Para permitir uma fácil personalização em cada situação que foi necessário foi criado uma solução usando padrões.
Na solução implementada onde há uma interface que define os métodos utilizados na consolidação e é possível criar quantas implementações desta interface for necessário. Será necessário ainda alterar o factory que instancia a estratégia de consolidação correta para cada situação.
Para criar uma estratégia de consolidação personalização são necessários basicamente dois passos:
- Criar uma implementação da interface br.ufrn.sigaa.ensino.negocio.consolidacao.EstrategiaConsolidacao que define os métodos da estratégia de consolidação.
- Criar um Factory que instancie a estratégia de consolidação. Para criar o factory é necessário criar uma classe que implemente a interface br.ufrn.sigaa.ensino.negocio.consolidacao.EstrategiaConsolidacaoFactory. Após a implementação desta classe é preciso configurar o parametro 2_10100_35 do banco de dados para apontar para a implementação do factor que foi criada.
Vários exemplos de estratégias de consolidação que são utilizadas na UFRN podem ser encontradas no pacote br.ufrn.sigaa.ensino.negocio.consolidacao, nessas classes:
- ConsolidacaoCompetencia
- ConsolidacaoEadBacharelado
- ConsolidacaoEadLicenciatura
- ConsolidacaoGraduacao
- ConsolidacaoLato
- ConsolidacaoMedio
- ConsolidacaoMetropoleDigita
- ConsolidacaoMusica
- ConsolidacaoResidencia
- ConsolidacaoStricto
Um exemplo de implementação do factor utilizado na UFRN pode ser encontrado na classe br.ufrn.sigaa.ensino.negocio.consolidacao.EstrategiaConsolidacaoFactoryUFRN.