A interface de plug-in para IReplaceCourseTemplateHandler é usada pelos Adaptadores do IPSIS para oferecer suporte à operação de substituição para os modelos de curso.
A implementação da interface é D2L.IM.IPSIS.OrgUnits.CourseTemplates.Handlers.IReplaceCourseTemplateHandler.
As seguintes listas de configuração fornecem um ponto de partida para qualquer implementação do IPSIS:
IPSIS, modelo – Modelo de curso
ReplaceCourseTemplateRetainExistingDepartmentHandler
O ReplaceCourseTemplateRetainExistingDepartmentHandler verifica se a solicitação não tem um departamento principal especificado. Se sim, o manipulador manterá todos os principais do departamento existente ao atualizar o modelo (em vez de excluir todos os principais).
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateRetainExistingDepartmentHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Verifica se não há nenhum principal especificado na solicitação.
- Se não houver nenhum principal especificado, o manipulador tentará obter a unidade organizacional atual (para verificar se a solicitação é uma atualização).
- Se a unidade organizacional atual for válida, para cada principal em request.CurrentParents, o manipulador adicionará o principal a request.UpdatedParents. Para cada principal no ParentOrgUnits da unidade organizacional atual, o manipulador adicionará o principal a request.ParentOrgUnits
- 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 deve ser configurado antes de quaisquer manipuladores Read e, portanto, deve ser configurado primeiro.
ReplaceCourseTemplateReadHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateReadHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Tenta ler informações sobre o modelo do curso das tabelas IM.
- Se encontrado, tentará ler qualquer mapeamento no Brightspace para o modelo do curso.
- Se encontrado, tentará ler sobre o modelo de curso no Brightspace.
- Verifica se um departamento principal foi especificado na solicitação. Se um departamento principal for especificado, o manipulador adicionará o principal ao ParentOrgUnits da solicitação. Se um departamento principal não for especificado, a organização será configurada como principal para a solicitação (em request.ParentOrgUnits).
- Se um principal for especificado, mas não tiver mapeamentos de IM no banco de dados, o manipulador Read lançará um ParentNotFoundException e todo o processamento do manipulador será interrompido.
- 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 possível de detalhes.
Nota sobre a configuração
O manipulador Read geralmente é o primeiro dos manipuladores, a menos que o ReplaceCourseTemplateRetainExistingDepartmentHandler esteja configurado. Nesse caso, o manipulador Read deve ser o segundo manipulador.
ReplaceCourseTemplateValidateHandler
O ReplaceCourseTemplateValidateHandler destina-se a garantir que as informações mínimas necessárias estejam disponíveis para os manipuladores Create.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateValidateHandler
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. Os valores de código e nome devem ser strings com um comprimento maior que 0. Se o código ou o nome forem nulos ou vazios, o manipulador Validate lançará um ArgumentNullException e todo o processamento do manipulador será interrompido.
- 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 possível de detalhes.
Notas sobre a configuração
- Os manipuladores Read devem ocorrer antes do manipulador Validate.
- Esse manipulador deve ser configurado para ser executado antes dos manipuladores Create.
ReplaceCourseTemplateParentsNoUpdateLMSHandler
Quando um ReplaceTemplateRequest é processado através de IPSIS, o ReplaceCourseTemplateParentsNoUpdateLMSHandler recupera
unidades organizacionais acima do modelo do curso e preserva essa relação, mesmo que elas não tenham sido criadas por meio de IPSIS, portanto ele não é substituído pela operação de atualização.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentsNoUpdate
LMSHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- O manipulador busca todos os principais modelos de curso e atualiza a lista principal
- O processamento prossegue para o próximo manipulador
Comportamento de erro
- Nenhum erro é lançado nesse manipulador
Nó de configuração
- Esse manipulador deve ocorrer após os manipuladores Read e Validate
- Esse manipulador deve ocorrer antes dos manipuladores Save
ReplaceCourseTemplateDisallowParentChangesIfChildrenExistHandler
O ReplaceCourseTemplateDisallowParentChangesIfChildrenExistHandler pode ser usado para evitar excluir ou trocar um departamento principal para qualquer modelo que já tenha secundários. Na ausência desse manipulador, os principais podem ser atualizados livremente, o que pode alterar as informações de hierarquia para os antepassados e descendentes do modelo atual.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentDepartmentValidateHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Se o modelo já existir (substituir em vez de criar):
- Se um OrgUnit principal será removido ou substituído, o manipulador lançará uma exceção para impedir que outros manipuladores sejam executados.
Notas sobre a configuração
- Esse manipulador deve ser configurado para executar após os manipuladores Validate.
- Esse manipulador deve ser configurado para ser executado antes dos manipuladores Create.
ReplaceCourseTemplateParentDepartmentValidateHandler
O ReplaceCourseTemplateParentDepartmentValidateHandler pode ser colocado para capturar um cenário em que um departamento principal não é fornecido para o modelo.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentDepartmentValidateHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Se nenhum departamento principal for encontrado, o manipulador verificará se o Elemento de formulário, Criar curso > Departamento, tem IsRequired configurado como false.
- Se configurado como true, o manipulador lançará uma exceção de variável de configuração inválida, indicando instruções sobre como resolver.
Notas sobre a configuração
- O manipulador Read deve ocorrer antes do manipulador Validate.
- O manipulador Validate deve ser configurado para ser executado antes dos manipuladores Create.
ReplaceCourseTemplateCreateLMSHandler
O ReplaceCourseTemplateCreateLMSHandler cria o modelo do curso no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateCreateLMSHandler
Comportamento esperado
Esse manipulador só executa se não houver modelos de curso existentes do Brightspace associados à solicitação. O manipulador realiza as seguintes tarefas:
- Se um departamento principal não for especificado, o novo modelo terá a organização configurada como principal. Isso causará um erro se o Elemento de formulário de departamento de curso não estiver configurado corretamente. Em Elementos do formulário, verifique se Criar curso > Departamento, o destaque IsRequired está configurado como false para que a criação seja bem-sucedida.
- O manipulador cria o modelo de curso usando as informações transmitidas na solicitação (acionando a criação de logs de auditoria automática Criar modelo).
- Se a tarefa Create for bem-sucedida, o manipulador configurará ReplaceRequestStatus = EntityCreated.
- 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 possível de detalhes.
Notas sobre a configuração
- Esse manipulador é colocado após quaisquer manipuladores Validate.
- Esse manipulador é colocado antes de quaisquer manipuladores Create IM.
ReplaceCourseTemplateCreateIMHandler
O ReplaceCourseTemplateCreateIMHandler cria a Entidade nas tabelas de IM e um mapeamento se estiver definido.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateCreateIMHandler
Comportamento esperado
Esse manipulador só executa se não houver nenhum ExternalOrgUnitInfo e/ou mapeamento correspondente nas tabelas de IM. O manipulador realiza as seguintes tarefas:
- Cria o modelo do curso na Plataforma de IM.
- Cria as entradas da Hierarquia de IM.
- Se houver um OrgUnit do Brightspace associado à solicitação, o manipulador criará o mapeamento de modelo de curso da Plataforma de IM para o modelo de curso do Brightspace.
- Se houver sucesso em tudo, o manipulador configurará ReplaceRequestStatus = EntityCreated.
- 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 possível de detalhes.
Notas sobre a configuração
- Esse manipulador é colocado após o manipulador CreateLMS.
- É legítimo não configurar o ReplaceCourseTemplateCreateIMHandler ou o ReplaceCourseTemplateSaveIMHandler. Sem a criação de entradas da tabela IM, o IPSIS (Pacote de integração para sistemas de informação ao aluno) não sabe se o modelo existe no Brightspace. Um manipulador de mapeamento deve ser configurado para mapear a solicitação do Sistema de informações do aluno para o modelo do Brightspace, permitindo atualizações. Sem um manipulador de mapeamento, o IPSIS sempre criará um novo modelo, mesmo que um correspondente exista.
ReplaceCourseTemplateSaveLMSHandler
O ReplaceCourseTemplateSaveLMSHandler salva as alterações feitas no modelo de curso do Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateSaveLMSHandler
Comportamento esperado
Esse manipulador só executa se houver alterações a serem salvas para o modelo de curso do Brightspace. O manipulador realiza as seguintes tarefas:
- Atualiza o modelo de curso do Brightspace (acionando a criação de logs de auditoria automática do modelo de atualização).
- Se houver sucesso em tudo, se ReplaceRequestStatus != EntityCreated, o manipulador configurará ReplaceRequestStatus = EntityUpdated.
- 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 possível de detalhes.
Nota sobre a configuração
Esse manipulador é colocado após qualquer manipulador Create.
ReplaceCourseTemplateSaveIMHandler
O manipulador Save salva todas as alterações feitas na Entidade de IM e nos mapeamentos. Isso inclui atualizar as informações da hierarquia e propagar as alterações a todos os antepassados e descendentes do modelo determinado.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateSaveIMHandler
Comportamento esperado
Esse manipulador só executa se houver alterações a serem salvas para a Entidade ou os mapeamentos nas tabelas IM. O manipulador realiza as seguintes tarefas:
- Atualiza a Entidade de IM.
- Atualiza a Hierarquia de IM e atualiza as informações de relação de quaisquer principais e secundários afetados.
- Atualiza os Mapeamentos da Entidade de IM.
- Se houver sucesso em tudo, o manipulador configurará ReplaceRequestStatus = EntityUpdated.
- 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 possível de detalhes.
Notas sobre a configuração
- Esse manipulador é colocado após o manipulador SaveLMS.
- É legítimo não configurar o ReplaceCourseTemplateCreateIMHandler ou o ReplaceCourseTemplateSaveIMHandler. Sem a criação de entradas da tabela IM, o IPSIS (Pacote de integração para sistemas de informação ao aluno) não sabe se o modelo existe no Brightspace. Um manipulador de mapeamento deve ser configurado para poder mapear a solicitação do Sistema de informações do aluno para o modelo do Brightspace, permitindo atualizações. Sem um manipulador de mapeamento, o IPSIS sempre criará um novo modelo, mesmo que um correspondente exista.
ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler
O ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler verifica se a unidade organizacional à qual a solicitação corresponde foi excluída no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler
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 Brightspace), o manipulador tenta obter o ExternalOrgUnitInfo para a solicitação.
- Se o ExternalOrgUnitInfo for válido, significa que não é um create, a unidade organizacional foi excluída do Brightspace e um UpdateOrgUnitFailedException será lançado.
- Essa exceção faz 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 é colocado após os manipuladores Read, normalmente como um dos primeiros manipuladores Validate.