A interface de plug-in para IReplaceSemesterHandler é usada pelos adaptadores do IPSIS para oferecer suporte à operação de substituição para Semestres.
A implementação da interface é D2L.IM.IPSIS.OrgUnits.Semesters.Handlers.IReplaceSemesterHandler.
A seguinte lista de configuração fornece um ponto de partida para qualquer implementação do IPSIS:
Modelo – Semestre, IPSIS
- ReplaceSemesterReadHandler (Ordem de classificação = 10)
- ReplaceSemesterValidateHandler (Ordem de classificação = 20)
- ReplaceSemesterCreateLMSHandler (Ordem de classificação = 30)
- ReplaceSemesterCreateIMHandler (Ordem de classificação = 40)
- ReplaceSemesterSaveLMSHandler (Ordem de classificação = 50)
- ReplaceSemesterSaveIMHandler (Ordem de classificação = 60)
ReplaceSemesterReadHandler
O ReplaceSemesterReadHandler lê todas as informações relacionadas ao Semestre que existem nas tabelas LMS ou IM do banco de dados a ser usado em outros manipuladores.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterReadHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Tenta ler informações sobre o Semestre das tabelas IM. Se a informação for encontrada, o manipulador tentará ler quaisquer mapeamentos para o LMS para o Semestre e tentará ler sobre o Semestre do LMS.
- Tenta ler informações sobre quaisquer OrgUnits principais indicados das tabelas de IM; se não encontrar nenhuma, o manipulador configurará a lista principal padrão da Organização no único principal.
- O processamento continua para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo de detalhes possível.
Nota sobre a configuração
Um manipulador Read deve ocorrer antes dos manipuladores Validate.
ReplaceSemesterValidateHandler
O ReplaceSemesterValidateHandler garante que um Código e um Nome válidos sejam atribuídos ao Semestre.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterValidateHandler
Comportamento esperado
O manipulador Validate verifica se um Código e um Nome foram especificados para a solicitação. Esses valores devem ser strings com um comprimento maior que 0. O manipulador realiza as seguintes tarefas:
- Se o Código ou o Nome forem nulos ou vazios, o manipulador lançará um ArgumentNullException e todo o processamento do manipulador será interrompido.
- O manipulador Validate também verifica se a solicitação não está tentando alterar o tipo (por exemplo, alterar uma Faculdade para um Departamento) de uma unidade organizacional existente. Se a solicitação estiver tentando alterar o tipo, um InvalidOperationException será lançado e todo o processamento do manipulador será interrompido.
- Se houver sucesso em tudo, o processamento continuará para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo de detalhes possível.
Nota sobre a configuração
Os manipuladores Validate devem ser configurados antes do manipulador Create.
ReplaceSemesterCreateLMSHandler
O ReplaceSemesterCreateLMSHandler cria o Semestre no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterCreateLMSHandler
Comportamento esperado
Esse manipulador só é executado se não houver Semestres do Brightspace associados à solicitação. O manipulador realiza as seguintes tarefas:
- Cria o Semestre do LMS usando as informações transmitidas na solicitação (acionando a criação de logs de auditoria automática Criar semestre).
- Se houver sucesso em tudo, o manipulador configurará o status do resultado para EntityCreated.
- Se houver um erro, o manipulador configurará o status do resultado para CreateFailed.
- O processamento continua para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo possível de detalhes.
Notas sobre a configuração
- Esse manipulador deve ser colocado após qualquer manipulador Validate.
- O manipulador Create LMS deve ocorrer antes do manipulador Create IM.
ReplaceSemesterCreateIMHandler
O ReplaceSemesterCreateIMHandler cria a Entidade nas tabelas IM e um mapeamento se estiver definido.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterCreateIMHandler
Comportamento esperado
Esse manipulador só executa se não houver nenhuma Entidade correspondente nas tabelas IM. O manipulador realiza as seguintes tarefas:
- Cria o Semestre na Plataforma IM.
- Se houver um OrgUnit do LMS associado à solicitação, o manipulador criará o Mapeamento do Semestre da plataforma IM para o Semestre do LMS.
- Se houver sucesso em tudo, o manipulador configurará o status do resultado para EntityCreated.
- O processamento continua para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo possível de detalhes.
Nota sobre a configuração
Esse manipulador seria colocado após qualquer manipulador CreateLMS.
ReplaceSemesterSaveLMSHandler
O manipulador save salva todas as alterações feitas no Semestre do LMS.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterSaveLMSHandler
Comportamento esperado
Esse manipulador só executa se houver alterações a serem salvas para o Semestre do LMS. O manipulador realiza as seguintes tarefas:
- Atualiza o Semestre do LMS (ativando a criação de logs de auditoria automática).
- Se a solicitação for uma atualização e pelo menos um campo foi modificado, o manipulador configurará o status do resultado como EntityUpdated.
- O processamento continua para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo de detalhes possível.
Nota sobre a configuração
Esse manipulador seria colocado após qualquer manipulador Create.
ReplaceSemesterSaveIMHandler
O manipulador save salva todas as alterações feitas na Entidade de IM e nos Mapeamentos.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semester.Handlers.ReplaceSemesterSaveIMHandler
Comportamento esperado
Esse manipulador só executa se houver alterações a serem salvas para a Entidade ou a Hierarquia nas tabelas IM. O manipulador realiza as seguintes tarefas:
- Atualiza a Entidade IM se houver alterações pendentes.
- Atualiza as relações da Hierarquia da Entidade IM, se os principais foram adicionados ou removidos.
- O processamento continua para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo de detalhes possível.
Nota sobre a configuração
Esse manipulador seria colocado após qualquer manipulador SaveLMS.
ReplaceSemesterMapByCodeHandler
O ReplaceSemesterMapByCodeHandler associa um Semestre a um Semestre do LMS existente correspondendo o OrgUnitCode.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterMapByCodeHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Se não houver um Mapeamento de Semestre, o manipulador tentará encontrar um Semestre no LMS que coincida com o OrgUnitCode
- Se uma correspondência for encontrada, o manipulador atualizará o objeto de solicitação para conter o orgUnit correspondente. O manipulador só deve ser usado se for esperado que o Código da unidade organizacional seja exclusivo dentro de uma Org.
- Prossegue para o próximo manipulador.
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo possível de detalhes.
Nota sobre a configuração
Esse manipulador normalmente é colocado entre os manipuladores Read e os manipuladores Create; nesse caso, ele só executará se os manipuladores Read não conseguirem encontrar um Semestre mapeado.
ReplaceSemesterNameNoUpdateLMSHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterNoUpdateLMSHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Atualiza o objeto de solicitação para indicar que o Nome não deve ser atualizado.
- O processamento continua para o próximo manipulador (Return True).
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo de detalhes possível.
Nota sobre a configuração
Esse manipulador deve ser colocado antes de qualquer manipulador SaveLMS.
ReplaceSemesterValidateLMSOrgUnitExistsHandler
O ReplaceSemesterValidateLMSOrgUnitExistsHandler verifica se a unidade organizacional à qual a solicitação corresponde foi excluída no LMS.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.Semesters.Handlers.ReplaceSemesterValidateLMSOrgUnitExistsHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Tenta obter a unidade organizacional atual.
- Se a unidade organizacional não existir (a solicitação é um create ou a unidade organizacional foi excluída do LMS), o manipulador tenta obter o ExternalOrgUnitInfo para a solicitação.
- Se o ExternalOrgUnitInfo for válido, então não é um create e a unidade organizacional foi excluída do LMS. O manipulador lança um UpdateOrgUnitFailedException. Essa exceção faz o Serviço do LIS responder com invaliddata.
Comportamento de erro
Se houver um problema durante o processamento, uma exceção será lançada, junto com o máximo possível de detalhes.
Nota sobre a configuração
Esse manipulador é colocado após os manipuladores read, normalmente como um dos primeiros manipuladores validate.