A interface de plug-in para IDeleteCourseSectionHandler é usada pelos adaptadores do IPSIS para excluir seções de curso do Brightspace.
A implementação da interface é D2L.IM.IPSIS.OrgUnits.CourseSections.Handlers.IDeleteCourseSectionHandler.
A seguinte lista de configuração fornece um ponto de partida para qualquer implementação do IPSIS:
IPSIS, modelo – Seção do curso
- DeleteCourseSectionValidateHandler(Ordem de classificação = 10)
- DeleteCourseSectionIMHandler (Ordem de classificação = 20)
DeleteCourseSectionValidateHandler
O DeleteCourseSectionValidateHandler sempre deve ser usado. Ele executa validação de entrada que é necessária para garantir que todos os outros manipuladores Delete executem corretamente.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.DeleteCourseSectionValidateHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Verifica se o ID do SIS na solicitação corresponde a um item real nas tabelas IM.
- Verifica se o Tipo de OrgUnit esperado pelo serviço corresponde ao Tipo do orgUnit no banco de dados.
- Verifica se a seção não tem nenhum principal de SectionAssociation (eles devem ser removidos usando os serviços de SA antecipadamente).
- Se todas as verificações passarem, o manipulador salvará o ExternalOrgUnitInfo na solicitação para os manipuladores posteriores usarem.
Comportamento de erro
Se alguma parte da validação falhar, uma exceção será lançada, junto com o máximo possível de detalhes.
Nota sobre a configuração
O manipulador Validate normalmente deve ser executado primeiro na lista de manipuladores, antes de qualquer manipulador que atualize ou exclua as informações do banco de dados.
DeleteCourseSectionIMHandler
O DeleteCourseSectionIMHandler marca a seção como excluída nas tabelas do IPSIS, mas não tem efeito no Brightspace. Se as inscrições ou unidades organizacionais do Brightspace forem afetadas, serão necessários manipuladores adicionais.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.DeleteCourseSectionIMHandler
Comportamento esperado
Se houver algo dependente da seção do curso (ex. inscrições de IM não excluídas), isso deve falhar. O manipulador realiza as seguintes tarefas:
- Conclui uma exclusão reversível da seção do curso da Tabela de OrgUnit externa do IM (mas não dos Mapeamentos).
- Remove todas as referências da Hierarquia IM para a seção.
- O processamento continua para o próximo manipulador configurado.
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
O manipulador Delete IM normalmente deve ser executado por último na lista de manipuladores.
DeleteCourseSectionLEHandler
O DeleteCourseSectionLEHandler será usado se o comportamento desejado for que todas as seções mapeadas do Brightspace sejam excluídas. A menos que todos os usuários ativos restantes sejam excluídos ou inativados, eles permanecerão inscritos nas ofertas principais. Você pode usar o DeleteCourseSectionCascadeDeleteEnrollmentHandler para excluir os usuários restantes das Seções.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.DeleteCourseSectionLEHandler
Comportamento esperado
Para cada seção do curso mapeada, o manipulador:
- Exclui a seção do curso (gerando automaticamente uma entrada de auditoria).
- Marca o mapeamento de IM como excluído.
- Continua o processamento para o próximo manipulador configurado.
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
Isso deve ocorrer antes da exclusão da tabela IM (exemplo: DeleteCourseSectionIMHandler).
DeleteCourseSectionCascadeDeleteEnrollmentHandler
Se houver inscrições restantes ativas que dependam da Seção excluída, os manipuladores da Plataforma IPSIS configurados para o IDeleteEnrollmentHandler serão usados para aplicar o comportamento desejado para excluir as inscrições para a organização.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.DeleteCourseSectionCascadeDeleteEnrollmentHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Obtém a lista de inscrições restantes que não foram excluídas para a seção.
- Usa a interface IDeleteEnrollmentHandler para excluir todas elas.
- O processamento continua para o próximo manipulador configurado.
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.
- Esse manipulador para o processamento na primeira inscrição que falhar, retornando a exceção. Ele não continua nas outras inscrições (se existirem).
Notas sobre a configuração
- Isso deve ocorrer antes da exclusão da tabela IM (exemplo: DeleteCourseSectionIMHandler).
- Isso deve ocorrer antes das exclusões do LMS, se você também desejar excluir as Seções do LMS (exemplo: DeleteCourseSectionLMSHandler).