A interface de plug-in para IReplaceOrgUnitHandler é usada pelos Adaptadores do IPSIS para oferecer suporte à operação de substituição para quaisquer operações que não sejam dos Tipos de OrgUnit padrão, incluindo: Semestres, Departamentos, Modelos de curso, Ofertas de curso e Seções de curso. Os exemplos incluem: Faculdades, Campi.
A implementação da interface é D2L.IM.IPSIS.OrgUnits.OtherOrgUnits.Handlers.IReplaceOrgUnitHandler.
As listas de configuração Modelo - OrgUnit,IPSIS fornecem um ponto de partida para qualquer implementação do IPSIS.
A seguinte lista de manipuladores é usada como ponto de partida:
- ReplaceOrgUnitReadHandler (Ordem de classificação = 10)
- ReplaceOrgUnitValidateHandler (Ordem de classificação = 20)
- ReplaceOrgUnitCreateLMSHandler (Ordem de classificação = 30)
- ReplaceOrgUnitCreateIMHandler (Ordem de classificação = 40)
- ReplaceOrgUnitSaveLMSHandler (Ordem de classificação = 50)
- ReplaceOrgUnitSaveIMHandler (Ordem de classificação = 60)
ReplaceOrgUnitReadHandler
O ReplaceOrgUnitReadHandler lê todas as informações relacionadas ao OrgUnit que existem nas tabelas LMS ou IM do banco de dados a ser usado em outros manipuladores.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitReadHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Tenta ler informações sobre o OrgUnit das tabelas IM.
- Se encontrado, o manipulador tentará ler quaisquer mapeamentos ao LMS para o OrgUnit com o tipo de unidade organizacional específico e tentará ler sobre o OrgUnit do LMS.
- O manipulador tenta ler informações sobre qualquer OrgUnits principal indicado nas tabelas IM.
- Se não encontrar nenhuma, o manipulador configurará a lista de principais 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 possível de detalhes.
Nota sobre a configuração
Um manipulador Read deve ocorrer antes dos manipuladores Validate.
ReplaceOrgUnitValidateHandler
O ReplaceOrgUnitValidateHandler garante que um Código e um Nome válidos sejam atribuídos ao OrgUnit.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitValidateHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- 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.
- 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.
ReplaceOrgUnitCreateLMSHandler
O ReplaceOrgUnitCreateLMSHandler cria o OrgUnit no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitCreateLMSHandler
Comportamento esperado
Esse manipulador só executa se não houver OrgUnits do Brightspace associadas à solicitação. O manipulador realiza as seguintes tarefas:
- Cria o OrgUnit usando as informações transmitidas na solicitação (acionando a criação de logs de auditoria automática "Criar {OrgUnitType}").
- 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 seria colocado após qualquer manipulador Validate.
- O manipulador Create LMS deve ocorrer antes do manipulador Create IM.
ReplaceOrgUnitCreateIMHandler
O ReplaceOrgUnitCreateIMHandler cria a Entidade nas tabelas IM e um mapeamento se estiver definido.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitCreateIMHandler
Comportamento esperado
Esse manipulador só executa se não houver nenhuma Entidade correspondente nas tabelas IM. O manipulador realiza as seguintes tarefas:
- Cria o OrgUnit na Plataforma de IM.
- Se houver um OrgUnit do LMS associado à solicitação, o manipulador criará o Mapeamento do OrgUnit da plataforma de IM para o OrgUnit 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 é colocado após quaisquer manipuladores CreateLMS.
ReplaceOrgUnitSaveLMSHandler
O ReplaceOrgUnitSaveLMSHandler salva as alterações feitas no OrgUnit do LMS.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitSaveLMSHandler
Comportamento esperado
Esse manipulador só executa se houver alterações a serem salvas para o OrgUnit do LMS. O manipulador realiza as seguintes tarefas:
- Atualiza o OrgUnit (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, configure 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 possível de detalhes.
Nota sobre a configuração
Esse manipulador é colocado após qualquer manipulador Create.
ReplaceOrgUnitSaveIMHandler
O ReplaceOrgUnitSaveIMHandler salva as alterações feitas na Entidade de IM e nos Mapeamentos.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitSaveIMHandler
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 possível de detalhes.
Nota sobre a configuração
Esse manipulador seria colocado após qualquer manipulador SaveLMS.
ReplaceOrgUnitMapByCodeHandler
O ReplaceOrgUnitMapByCodeHandler associa um OrgUnit a um OrgUnit do LMS existente correspondendo o OrgUnitCode e o tipo.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitMapByCodeHandler
Comportamento esperado
Esse manipulador só deve ser usado se for esperado que o Código da unidade organizacional seja exclusivo dentro de uma Org.
O manipulador realiza as seguintes tarefas:
- Se não houver um Mapeamento de OrgUnit, o manipulador tentará encontrar um OrgUnit no Brightspace que coincida com o OrgUnitCode e o OrgUnitType
- Se uma correspondência for encontrada, o manipulador atualizará o objeto de solicitação para conter o orgUnit correspondente.
- Se nenhuma correspondência for encontrada, o manipulador não fará nada.
- Se várias correspondências forem encontradas, o manipulador lançará um MultipleOrgUnitsFoundException
- O processamento 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 de detalhes possível.
Nota sobre a configuração
Esse manipulador normalmente é colocado entre os manipuladores Read e os manipuladores Create; nesse caso, ele só executa se os manipuladores Read não conseguirem encontrar um OrgUnit mapeado.
ReplaceOrgUnitNameNoUpdateLMSHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitNoUpdateLMSHandler
Comportamento esperado
- 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 possível de detalhes.
Nota sobre a configuração
Esse manipulador é colocado antes de quaisquer manipuladores SaveLMS.
ReplaceOrgUnitValidateLMSOrgUnitExistsHandler
O ReplaceOrgUnitValidateLMSOrgUnitExistsHandler verifica se a unidade organizacional à qual a solicitação corresponde foi excluída no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitValidateLMSOrgUnitExistsHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- O manipulador tenta obter a unidade organizacional atual.
- Se a unidade organizacional atual não existir (a solicitação é um create ou a unidade organizacional foi excluída do Brightspace):
- Tente 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. Portanto, lance um UpdateOrgUnitFailedException.
- Essa exceção fará o Serviço do LIS responder com invaliddata. Esse foi considerado o código de resposta mais adequado para a situação.
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 os manipuladores read, normalmente como um dos primeiros manipuladores validate.