A interface de plug-in para IReplaceSectionAssociationHandler é usada pelos Adaptadores do IPSIS, assim como a UI de Associação de seção, para oferecer suporte à operação de substituição para as Associações de seção.
Para a configuração típica, uma solicitação SectionAssociation é transformada em uma Oferta no Brightspace. As Seções são desconectadas da Oferta. A Oferta herda algumas propriedades, incluindo o Modelo principal, da primeira Seção na lista.
A implementação da interface é D2L.IM.IPSIS.OrgUnits.SectionAssociations.Handlers.IReplaceSectionAssociationHandler.
As seguintes listas de configuração fornecem um ponto de partida para qualquer implementação do IPSIS:
IPSIS, Modelo – Seções
- ReplaceSectionAssociationReadHandler (Ordem de classificação = 10)
- ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler (Ordem de classificação = 20)
- ReplaceSectionAssociationValidateHandler (Ordem de classificação = 30)
- ReplaceSectionAssociationCreateLMSOfferingHandler (Ordem de classificação = 40)
- ReplaceSectionAssociationCreateIMHandler (Ordem de classificação = 50)
- ReplaceSectionAssociationAddLMSSectionHandler (Ordem de classificação = 60)
- ReplaceSectionAssociationUnenrollLMSGroupSectionHandler (Ordem de classificação = 70)
- ReplaceSectionAssociationUnenrollLMSOfferingHandler (Ordem de classificação = 80)
- ReplaceSectionAssociationRemoveLMSGroupSectionHandler (Ordem de classificação = 90)
- ReplaceSectionAssociationSaveLMSOfferingHandler (Ordem de classificação = 100)
- ReplaceSectionAssociationSaveIMHandler (Ordem de classificação = 110)
IPSIS, Modelo – Grupos
- ReplaceSectionAssociationReadHandler (Ordem de classificação = 10)
- ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler (Ordem de classificação = 20)
- ReplaceSectionAssociationValidateHandler (Ordem de classificação = 30)
- ReplaceSectionAssociationCreateLMSOfferingHandler (Ordem de classificação = 40)
- ReplaceSectionAssociationCreateIMHandler (Ordem de classificação = 50)
- ReplaceSectionAssociationAddLMSGroupHandler (Ordem de classificação = 60)
- ReplaceSectionAssociationUnenrolLMSGroupSectionHandler (Ordem de classificação = 70)
- ReplaceSectionAssociationUnenrolLMSOfferingHandler (Ordem de classificação = 80)
- ReplaceSectionAssociationRemoveLMSGroupSectionHandler (Ordem de classificação = 90)
- ReplaceSectionAssociationSaveLMSOfferingHandler (Ordem de classificação = 100)
- ReplaceSectionAssociationSaveIMHandler (Ordem de classificação = 110)
SA, Modelo – Seções
Esse ponto de extremidade é usado pela Interface de usuário da Associação de seção quando as associações exigirem a criação ou atualização das Seções do LMS:
SA, Modelo – Grupos
Esse ponto de extremidade é usado pela Interface de usuário da Associação de seção quando as associações exigirem a criação ou atualização dos Grupos do LMS:
- ReplaceSectionAssociationAddLMSGroupHandler (Ordem de classificação = 10)
- ReplaceSectionAssociationUnenrolLMSGroupSectionHandler (Ordem de classificação = 20)
- ReplaceSectionAssociationUnenrolLMSOfferingHandler (Ordem de classificação = 30)
- ReplaceSectionAssociationRemoveLMSGroupSectionHandler (Ordem de classificação = 40)
ReplaceSectionAssociationReadHandler
O manipulador Read obtém uma grande quantidade de informações de tabelas IM e LMS e as adiciona à mensagem de solicitação, para que os manipuladores posteriores possam usá-las.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationReadHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Lê a Associação de seção das Tabelas IM, se houver.
- Lê a Hierarquia da associação de seção das Tabelas IM, se houver.
- Lê os Mapeamentos da associação de seção das Tabelas IM, se houver. Se não houver mapeamentos, o manipulador não criará nem excluirá nenhuma seção do LMS. Quaisquer alterações às seções (adicionar/remover) acontecem apenas nas Tabelas IM.
- Lê as Seções do curso das Tabelas IM para as Seções do curso na Associação.
- Prepara uma lista de Seções para adicionar. Consistem em seções ausentes na hierarquia que fazem parte da solicitação atual.
- Prepara uma lista de Seções para remover. Consistem em seções extras na hierarquia que não fazem parte da solicitação atual.
- Se for possível determinar o mapeamento para as seções que estão sendo removidas, o manipulador o incluirá.
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 será o primeiro, pois ele é o manipulador Read padrão.
ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler
Se alguma propriedade de Associação de seção não estiver configurada para um valor não nulo, configure-a como as da primeira Seção na Lista de associações. As propriedades que são configuradas se estiverem ausentes incluem a lista de Nome, Status, Datas e Principal.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler
Comportamento esperado
Esse manipulador só toma ação na primeira vez que a Associação de seção é recebida pelo IPSIS (isto é, não existe nas Tabelas IM).
As Propriedades da Associação de seção são configuradas com base nas especificadas nas Tabelas IM para a primeira Seção na Lista de associações, se não foram previamente configuradas:
- Nome
- Status
- Data de início
- Data final
- Lista principal (obtida do primeiro principal da Oferta da primeira seção, inclui Modelos e/ou Semestres)
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 configurado antes de qualquer manipulador validate e create.
ReplaceSectionAssociationValidateHandler
Esse manipulador garante que as informações mínimas necessárias estejam disponíveis para criar uma Oferta de curso para a Associação de seção.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationValidateHandler
Comportamento esperado
Esse manipulador lançará uma exceção apropriada se qualquer um dos seguintes valores não estiver configurado:
- Nome
- Código
- Status
- Modelo do curso principal (apenas novas Associações)
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 configurado antes de qualquer manipulador validate e create.
ReplaceSectionAssociationCreateLMSOfferingHandler
O ReplaceSectionAssociationCreateLMSOfferingHandler cria uma Oferta de curso do LMS para a Associação de seção, se esta for a primeira vez que a Associação de seção foi vista.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationCreateLMSOfferingHandler
Comportamento esperado
Esse manipulador só executa se não houver nenhum registro dessa Associação de seção nas Tabelas IM. O manipulador realiza as seguintes tarefas:
- Cria uma Unidade organizacional de Oferta de curso do LMS (resultando automaticamente em uma entrada de auditoria).
- 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 o manipulador Validate.
- Esse manipulador deve ser colocado antes do manipulador Create IM.
ReplaceSectionAssociationCreateIMHandler
O ReplaceSectionAssociationCreateIMHandler cria uma Associação de seção de IM e a mapeia para a entidade do LMS apropriada, se houver.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationCreateIMHandler
Comportamento esperado
Esse manipulador só executa se não houver nenhum registro dessa Associação de seção nas Tabelas IM. O manipulador realiza as seguintes tarefas:
- Cria um registro de Associação de seção de IM.
- Se um OrgUnit for criado no LMS para a Associação de seção, o manipulador criará o Mapeamento.
- 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.
Notas sobre a configuração
Esse manipulador deve ser colocado após o manipulador validate.
Esse manipulador deve ser colocado antes do manipulador Create IM.
ReplaceSectionAssociationAddLMSSectionHandler
O ReplaceSectionAssociationAddLMSSectionHandler cria uma Seção do curso do LMS para as Seções associadas definidas na lista Adicionar seção.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationAddLMSSectionHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Cria uma Unidade organizacional de Seção de curso do LMS (resultando automaticamente em uma entrada de auditoria).
- Cria um registro de Mapeamento de IM para a seção e a Unidade organizacional recém-criada.
- 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 o manipulador Create IM.
Esse manipulador deve ser colocado antes do manipulador Save IM.
ReplaceSectionAssociationAddLMSGroupHandler
O ReplaceSectionAssociationAddLMSGroupHandler cria um Grupo do curso do LMS para as Seções associadas definidas na lista Adicionar seção.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationAddLMSGroupHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- 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 do LMS correspondente ao nome em d2l.integration.IPSIS.GroupCategory não existir, o manipulador criará uma Categoria do grupo do LMS 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 do LMS 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 uma Unidade organizacional de Grupo de curso do LMS com o GroupType (resultando automaticamente em uma entrada de auditoria).
- Cria um registro de Mapeamento de IM para a seção e a Unidade organizacional recém-criada.
- 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 o manipulador Create IM.
- Esse manipulador deve ser colocado antes do manipulador Save IM.
- Esse manipulador serve como alternativa a ReplaceSectionAssociationAddLMSSectionHandler.
ReplaceSectionAssociationUnenrolLMSGroupSectionHandler
O ReplaceSectionAssociationUnenrolLMSGroupSectionHandler cancela a inscrição dos usuários de quaisquer seções que devem ser removidas da associação.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationUnenrolLMSGroupSectionHandler
Comportamento esperado
Esse manipulador só executa se houver seções associadas (com um mapeamento) a serem removidas do LMS. O manipulador realiza as seguintes tarefas:
- Determina quais usuários estão inscritos na Seção (na Tabela de inscrições de IM).
- Cancela a inscrição dos usuários da Seção do curso do LMS ou Grupo do LMS que será removido (resultando automaticamente em uma entrada de auditoria).
- 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 o manipulador Create IM.
- Esse manipulador deve ser colocado antes do manipulador DeleteLMSGroupSection para garantir que nenhuma inscrição iniciada pelo LIS permaneça na entidade LMS quando ela for excluída.
- Esse manipulador deve ser colocado antes do manipulador Save IM.
ReplaceSectionAssociationUnenrolLMSOfferingHandler
O ReplaceSectionAssociationUnenrolLMSOfferingHandler cancela a inscrição dos usuários dos principais de oferta do mapeamento da seção excluída, a menos que estejam inscritos em outro grupo/seção com o mesmo tipo de grupo sob a oferta.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationUnenrolLMSOfferingHandler
Comportamento esperado
Esse manipulador só executa se houver seções associadas (com um mapeamento) a serem removidas do LMS. O manipulador realiza as seguintes tarefas:
- Determina quais usuários estão inscritos na Seção (na Tabela de inscrições de IM).
- Se o usuário não estiver inscrito em outras Seções (ou Grupos) com o mesmo tipo de grupo, sob a Oferta do LMS, o manipulador cancelará a inscrição do usuário da Oferta de curso do LMS que será removida (resultando automaticamente em uma entrada de auditoria).
- 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 o manipulador Create IM.
- Esse manipulador deve ser colocado antes do manipulador DeleteLMSGroupSection para garantir a remoção de todas as inscrições necessárias do LMS.
- Esse manipulador deve ser colocado antes do manipulador Save IM.
ReplaceSectionAssociationRemoveLMSGroupSectionHandler
O ReplaceSectionAssociationRemoveLMSGroupSectionHandler exclui o Grupo ou a Seção do LMS que está mapeado para a Seção que está sendo removida da Associação de seção.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationRemoveLMSGroupSectionHandler
Comportamento esperado
Esse manipulador só executa se houver seções associadas (com um mapeamento) a serem removidas do LMS. O manipulador realiza as seguintes tarefas:
- Exclui o Grupo/Seção do LMS (produzindo automaticamente uma entrada de auditoria).
- Exclui o mapeamento para o Grupo/Seção do LMS.
- 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.
Notas sobre a configuração
- Esse manipulador deve ser colocado após o manipulador Create IM.
- Esse manipulador deve ser colocado após os manipuladores Unenroll para garantir que nenhuma inscrição iniciada pelo LIS permaneça na entidade LMS quando ela for excluída.
- Esse manipulador deve ser colocado antes do manipulador Save IM.
ReplaceSectionAssociationUpdateHierarchyHandler
O ReplaceSectionAssociationUpdateHierarchyHandler salva todas as alterações na Associação de seção de IM, Hierarquia de IM e mapeamentos para a Associação de seção.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers. ReplaceSectionAssociationUpdateHierarchyHandler
Comportamento esperado
Esse manipulador só executa se houver alterações nas Tabelas IM. O manipulador realiza as seguintes opções:
-
Atualiza a Hierarquia de IM se houver atualizações nas atribuições de seção:
-
Todos os Adicionar registros devem ter novas Seções para adicionar como secundárias à Associação de seção.
-
Todos os Remover registros devem ter novas Seções para remover como secundárias da Associação de seção.
-
Atualiza os Mapeamentos de IM para quaisquer Grupos/Seções novos criados 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 geralmente seria executado por último.
ReplaceSectionAssociationSaveLMSOfferingHandler
O ReplaceSectionAssociationSaveLMSOfferingHandler salva quaisquer alterações em qualquer oferta do LMS mapeada.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationSaveLMSOfferingHandler
Comportamento esperado
Esse manipulador só executa se houver Ofertas mapeadas e alguma das Propriedades da oferta foi alterada. O manipulador realiza as seguintes tarefas:
- Atualiza a Oferta de curso do LMS (resultando automaticamente em uma Entrada de auditoria).
- Se o status do resultado não for EntityCreated e pelo menos um campo for alterado, 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.
Notas sobre a configuração
- Esse manipulador deve ser colocado após o manipulador Create IM.
- Esse manipulador deve ser colocado após os manipuladores add/remove group/section.
- Esse manipulador deve ser colocado antes do manipulador Save IM.
ReplaceSectionAssociationSaveIMHandler
O ReplaceSectionAssociationSaveIMHandler salva quaisquer alterações na Associação de seção de IM, Hierarquia de IM e mapeamentos para a Associação de seção.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationSaveIMHandler
Comportamento esperado
Esse manipulador só executa se houver alterações nas Tabelas IM. O manipulador realiza as seguintes opções:
- Atualiza o registro de Associação de seção de IM.
- Atualiza a Hierarquia de IM se houver atualizações nas atribuições de seção:
- Todos os Adicionar registros devem ter novas Seções para adicionar como secundárias à Associação de seção.
- Todos os Remover registros devem ter novas Seções para remover como secundárias da Associação de seção.
- Atualiza os Mapeamentos de IM para quaisquer Grupos/Seções novos criados ou removidos:
- Todos os Adicionar registros devem ter novos mapeamentos para adicionar.
- Todos os Remover registros devem ter novos mapeamentos para remover.
- 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 geralmente seria executado por último.
ReplaceSectionAssociationNameNoUpdateLMSOfferingHandler
O ReplaceSectionAssociationNameNoUpdateLMSOfferingHandler é usado para impedir atualizações no Nome da Oferta do LMS mapeada após a criação inicial.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationNameNoUpdateLMSOfferingHandler
Comportamento esperado
Esse manipulador só executa se houver um mapeamento para uma Oferta de curso do LMS. 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 possível de detalhes.
Nota sobre a configuração
Esse manipulador normalmente seria executado após o manipulador read, mas antes de SaveLMSOffering.
ReplaceSectionAssociationStatusNoUpdateLMSOfferingHandler
O ReplaceSectionAssociationStatusNoUpdateLMSOfferingHandler é usado para impedir atualizações no Status da Oferta do LMS mapeada após a criação inicial.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationStatusNoUpdateLMSOfferingHandler
Comportamento esperado
Esse manipulador só executa se houver um mapeamento para uma Oferta de curso do LMS. O manipulador realiza as seguintes tarefas:
- Atualiza o objeto de solicitação para indicar que o Status 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 normalmente seria executado após o manipulador read, mas antes de SaveLMSOffering.
ReplaceSectionAssociationDatesNoUpdateLMSOfferingHandler
O ReplaceSectionAssociationDatesNoUpdateLMSOfferingHandler é usado para impedir atualizações nas Datas de início e final da Oferta do LMS mapeada após a criação inicial.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationDatesNoUpdateLMSOfferingHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Atualiza o objeto de solicitação para indicar que StartDate e EndDate não devem ser atualizados.
- 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 normalmente deve executar após o manipulador read, mas antes de SaveLMSOffering.
ReplaceSectionAssociationSetMappingsIsGradableFalseHandler
O ReplaceSectionAssociationSetMappingsIsGradableFalseHandler é usado para configurar o destaque É avaliável como falso na associação entre a seção e a oferta de curso. Isto é, a seção original será deixada como a seção avaliável (se estiver configurada).
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationSetMappingsIsGradableFalseHandler
Comportamento esperado
- Atualiza o objeto de solicitação para indicar que o destaque É avaliável deve ser configurado como falso.
- 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 normalmente deve executar após o manipulador read, mas antes de SaveLMSOffering.
ReplaceSectionAssociationValidateLMSOrgUnitExistsHandler
O ReplaceSectionAssociationValidateLMSOrgUnitExistsHandler verifica se a unidade organizacional à qual a solicitação corresponde foi excluída no LMS.
Implementação
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationValidateLMSOrgUnitExistsHandler
Comportamento esperado
O manipulador realiza as seguintes tarefas:
- Tenta obter a unidade organizacional atual; se ela 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, a unidade organizacional foi excluída do LMS e o manipulador lançará 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 de detalhes possível.
Nota sobre a configuração
Esse manipulador deve ser colocado após os manipuladores read, normalmente como um dos primeiros manipuladores validate.