A interface de plug-in para IReplaceCourseSectionHandler é usada pelos adaptadores do IPSIS para oferecer suporte à operação de substituição para as seções de curso.
A implementação da interface é D2L.IM.IPSIS.OrgUnits.CourseSections.Handlers.IReplaceCourseSectionHandler.
As listas de configuração do IPSIS, Modelo – Seções e IPSIS, Modelo – Grupos fornecem um ponto de partida para qualquer implementação do IPSIS.
A seguinte lista de manipuladores é usada como ponto de partida quando você deseja usar as Seções de curso do Brightspace para as suas Seções do SIS:
- ReplaceCourseSectionReadHandler (Ordem de classificação = 10)
- ReplaceCourseSectionStatusDefaultActiveHandler (Ordem de classificação = 20)
- ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler (Ordem de classificação = 30)
- ReplaceCourseSectionValidateBaseHandler (Ordem de classificação = 40)
- ReplaceCourseSectionValidateParentOfferingExistsHandler (Ordem de classificação = 50)
- ReplaceCourseSectionCreateLMSSectionHandler (Ordem de classificação = 60)
- ReplaceCourseSectionCreateIMSectionHandler (Ordem de classificação = 70)
- ReplaceCourseSectionSaveLMSSectionHandler (Ordem de classificação = 80)
- ReplaceCourseSectionSaveIMHandler (Ordem de classificação = 90)
A seguinte lista de manipuladores é usada como ponto de partida quando você deseja usar os Grupos do Brightspace para as suas Seções do SIS:
- ReplaceCourseSectionReadHandler (Ordem de classificação = 10)
- ReplaceCourseSectionStatusDefaultActiveHandler (Ordem de classificação = 20)
- ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler (Ordem de classificação = 30)
- ReplaceCourseSectionValidateBaseHandler (Ordem de classificação = 40)
- ReplaceCourseSectionValidateParentOfferingExistsHandler (Ordem de classificação = 50)
- ReplaceCourseSectionCreateLMSGroupHandler (Ordem de classificação = 60)
- ReplaceCourseSectionCreateIMSectionHandler (Ordem de classificação = 70)
- ReplaceCourseSectionSaveLMSGroupHandler (Ordem de classificação = 80)
- ReplaceCourseSectionSaveIMHandler (Ordem de classificação = 90)
ReplaceCourseSectionReadHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionReadHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Tenta ler informações sobre a seção do curso das tabelas de IM.
- Se encontrado, o manipulador tentará ler quaisquer mapeamentos ao Brightspace para a seção do curso e tentará ler sobre a seção do curso do Brightspace.
- Para cada unidade organizacional principal especificada na solicitação, o manipulador lê as informações do Brightspace e as adiciona à lista de OrgUnits principal. Se o principal não tiver mapeamentos para o Brightspace, o manipulador lançará um ParentNotFoundException.
- O processamento prossegue para o próximo manipulador.
ReplaceCourseSectionStatusDefaultActiveHandler
Implementação
ReplaceCourseSectionStatusDefaultActiveHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Configura o status do objeto de seção do curso como ativo se ele ainda não tiver um valor.
- O processamento prossegue para o próximo manipulador.
ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Remove o departamento principal e/ou o semestre principal da solicitação.
- Remove os ParentOrgUnits se qualquer um deles estiver configurado no adaptador. Esses valores não são usados na implementação padrão.
- O processamento prossegue para o próximo manipulador.
ReplaceCourseSectionValidateBaseHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionValidateBaseHandler
Comportamento esperado
O manipulador realiza as seguintes ações:
- Verifica se um valor de código e um valor de 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 Validate lançará um ArgumentNullException.
- Se a seção já existir nas tabelas de IM, o manipulador verificará se algum OrgUnits principal especificado na solicitação já existe como principal na hierarquia de IM. Se houve uma tentativa de adicionar ou substituir um principal da seção, uma exceção será lançada. A mensagem de erro é: Não é possível alterar a oferta principal da seção do curso com id {id}. Esse comportamento não é suportado.
- O processamento prossegue para o próximo manipulador.
ReplaceCourseSectionValidateParentOfferingExistsHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionValidateParentOfferingExistsHandler
Comportamento esperado
O manipulador realiza as seguintes ações:
- Verifica se a oferta principal especificada existe tanto no OrgUnit do Brightspace como no OrgUnit do IPSIS.
- Se houver uma associação entre os dois, o manipulador garantirá que a associação seja válida.
- Se qualquer uma das verificações falhar, o manipulador Validate lançará um ParentNotFoundException. A exceção é capturada, registrada e manipulada no gerenciador.
- O processamento continua para o próximo manipulador.
ReplaceCourseSectionNameNoUpdateLMSHandler
O ReplaceCourseSectionNameNoUpdateLMSHandler é usado para impedir atualizações no nome do Grupo/Seção do Brightspace após a criação.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionNameNoUpdateLMSHandler
Comportamento esperado
O manipulador realiza as seguintes ações:
- Atualiza o objeto de solicitação para indicar que o nome não deve ser atualizado.
- O processamento continua para o próximo manipulador.
Nota sobre a configuração
Esse é um manipulador Manipulate, previsto para ser configurado antes dos manipuladores LMS Create e LMS Save.
ReplaceCourseSectionCreateLMSSectionHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionCreateLMSSectionHandler
Comportamento esperado
Esse manipulador será executado apenas se a seção ainda não existir nas tabelas de IM e do Brightspace. O manipulador realiza as seguintes ações:
- Cria a seção do curso usando as informações transmitidas na solicitação (acionando uma entrada de auditoria Criar seção).
- Se o LMS Create for bem-sucedido, o manipulador gerará uma entrada de auditoria Seção do curso criada, fazendo referência ao Id da Seção do curso.
- Se o Create não for bem-sucedido, o manipulador configurará ReplaceRequestStatus = CreateFailed e todo o processamento do manipulador será interrompido (Return False).
- Se houver sucesso em tudo, o manipulador configurará o ReplaceRequestStatus = EntityCreated e o processamento continuará para o próximo manipulador (Return True).
ReplaceCourseSectionCreateIMSectionHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionCreateIMSectionHandler
Comportamento esperado
O manipulador realiza as seguintes ações:
- Cria o OrgUnit do IPSIS se ele ainda não existir.
- Adiciona a hierarquia de IM apropriada.
- Para cada Unidade organizacional para a qual é mapeado, o manipulador cria o mapeamento do IPSIS se ele ainda não existir. Se for bem-sucedido, o manipulador configurará ReplaceRequestStatus como EntityCreated e retornará true. Se ocorrer uma falha, o ReplaceRequestStatus será configurado como CreateFailed e o manipulador retornará false.
- O processamento continua para o próximo manipulador.
ReplaceCourseSectionSaveLMSSectionHandler
O ReplaceCourseSectionSaveLMSSectionHandler salva as alterações em todas as seções mapeadas do Brightspace (zero ou mais), se necessário.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionSaveLMSSectionHandler
Comportamento esperado
Para cada seção mapeada, se houver alguma atualização, o manipulador executará as seguintes ações:
- Atualiza a seção (acionando uma entrada de auditoria Atualizar seção).
- Atualiza as propriedades do OrgUnit no Brightspace, mas não altera os principais da seção.
- Se o LMS Update for bem-sucedido, o manipulador gerará uma entrada de auditoria Seção do curso atualizada, fazendo referência ao SectionId do curso.
- Se não houver sucesso em tudo, o manipulador configurará ReplaceRequestStatus = CreateFailed e todo o processamento do manipulador será interrompido (Return False).
- Se houver sucesso em tudo, o manipulador configurará o ReplaceRequestStatus = EntityCreated e o processamento continuará para o próximo manipulador (Return True).
ReplaceCourseSectionSaveIMHandler
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionSaveIMHandler
Comportamento esperado
O manipulador realiza as seguintes ações:
- Salva quaisquer alterações na seção do curso do IPSIS e associações, se necessário.
- Salva quaisquer alterações na Hierarquia de IM.
ReplaceCourseSectionCreateLMSGroupHandler
O ReplaceCourseSectionCreateLMSGroupHandler quando uma organização deseja criar grupos em vez de seções no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionCreateLMSGroupHandler
Comportamento esperado
Esse manipulador será executado apenas se o grupo ainda não existir nas tabelas de IM e do Brightspace. O manipulador realiza as seguintes ações:
- Obtém o valor em d2l.integration.IPSIS.GroupCategory. Se o valor não estiver configurado, o manipulador lançará um InvalidConfigurationVariableException.
- Se uma categoria do grupo correspondente ao nome em d2l.integration.IPSIS.GroupCategory não existir, o manipulador criará uma categoria do grupo com um nome e uma descrição da variável de configuração (acionando uma entrada de auditoria do grupo de criação).
- Se a criação da categoria do grupo não for bem-sucedida, o manipulador lançará uma exceção com uma indicação explícita do identificador de problema e da seção.
- Cria o grupo de cursos com a categoria de grupo acima, usando as informações transmitidas na solicitação.
- Se o LMS Create for bem-sucedido, o manipulador gerará uma entrada de auditoria Grupo do curso criado, fazendo referência ao Id do Grupo de cursos.
- Se não houver sucesso em tudo, o manipulador configurará ReplaceRequestStatus = CreateFailed e todo o processamento do manipulador será interrompido (Return False).
- Se houver sucesso em tudo, o manipulador configurará o ReplaceRequestStatus = EntityCreated e o processamento continuará para o próximo manipulador (Return True).
Nota sobre a configuração
Esse manipulador substitui o ReplaceCourseSectionCreateLMSSectionHandler na lista de plug-ins padrão.
ReplaceCourseSectionSaveLMSGroupHandler
O ReplaceCourseSectionSaveLMSGroupHandler é usado quando uma organização deseja criar grupos em vez de seções no LMS.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionSaveLMSGroupHandler
Comportamento esperado
Para cada grupo mapeado do Brightspace, se houver alguma atualização, o manipulador executará as seguintes ações:
- Atualiza o grupo (acionando uma entrada de auditoria Atualizar grupo) e atualiza as propriedades do OrgUnit no Brightspace, mas não altera os principais do grupo.
- Se o LMS Update for bem-sucedido, o manipulador gerará uma entrada de auditoria Grupo do curso atualizado, fazendo referência ao Id do Grupo de cursos.
- Se não houver sucesso em tudo, o manipulador configurará ReplaceRequestStatus = CreateFailed e todo o processamento do manipulador será interrompido (Return False).
- Se houver sucesso em tudo, o manipulador configurará o ReplaceRequestStatus = EntityCreated e o processamento continuará para o próximo manipulador (Return True).
Nota sobre a configuração
Esse manipulador substitui o ReplaceCourseSectionSaveLMSSectionHandler na lista de plug-ins padrão.
ReplaceCourseSectionValidateLMSOrgUnitExistsHandler
O ReplaceCourseSectionValidateLMSOrgUnitExistsHandler verifica se a unidade organizacional à qual a solicitação corresponde foi excluída no Brightspace.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionValidateLMSOrgUnitExistsHandler
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 tentará 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.
ReplaceCourseSectionBuildParentHierarchyRequiredHandler
O ReplaceCourseSectionBuildParentHierarchyRequiredHandler criará uma oferta principal e um modelo para a seção se nenhum foi transmitido na solicitação.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionBuildParentHierarchyRequiredHandler
Comportamento esperado
O manipulador realiza as seguintes ações:
- Verifica se uma oferta principal foi especificada na solicitação.
- Caso contrário, o manipulador cria um modelo principal e uma oferta principal, ambos com o mesmo nome e código da seção.
- Retorna true.
Comportamento de erro
Se houver um problema ao criar o modelo ou a oferta, um CreateOrgUnitFailedException será lançado.
Nota sobre a configuração
Esse manipulador deve ser colocado antes de quaisquer manipuladores Validate, geralmente logo após o manipulador Read.