Certifique-se de que você tenha uma estratégia para definir sourceId exclusivamente para pais/responsáveis no Brightspace, pois o relacionamento de usuários é um mapeamento de sourceId exclusivos entre pais/responsáveis e filhos. Quando você enviar solicitações replacePerson para criar usuários, certifique-se de enviar informações do sourceId dos pais/responsáveis na seção do agente da solicitação para filhos/alunos. Isso cria o relacionamento entre pai/responsável e filho.
Cinco novos plug-ins foram adicionados ao Adaptador IPSIS LIS 2.0, que ajudam a criar, atualizar e excluir relacionamento pai/responsável-filho. Os plug-ins são configurados automaticamente:
- IReplaceUserHandler Interface ParentPortalUpdateRelationshipHandler
- IDeleteUserHandler Interface ParentPortalDeleteRelationshipHandler
- IDeleteUserHandler Interface DeleteUserRemoveRelationshipsHandler
- ITranslatePerson Interface PersonRequestAgentsTranslator
- ITranslateReadPersonResponse Interface ReadUserAgentsTranslator
ParentPortalCreateRelationshipHandler
ParentPortalUpdateRelationshipHandler cria e atualiza implicitamente os relacionamentos entre pais/responsáveis e alunos (filhos).
Implementação:
D2L.Integration.ParentPortal.IPSIS.RequestAdapters.ParentPortalUpdateRelationshipHandler,D2L.Integration.ParentPortal.IPSIS
Comportamento esperado:
O manipulador realiza as seguintes tarefas:
• Cria e atualiza relacionamentos pai/responsável-filho implicitamente, como definido pelo campo de agente para um aluno em uma solicitação de substituição de usuário.
• Sincroniza os relacionamentos para o usuário se o campo de extensão SynchronizeRelationships for fornecido. O aluno é mantido no sistema, mas todos os relacionamentos são removidos.
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:
• Deve ser colocado após os manipuladores Replace.
DeleteUserRemoveRelationshipsHandler
DeleteUserRemoveRelationshipsHandler é usado para remover a relação do agente quando o usuário é excluído.
Implementação
D2L.IM.IPSIS.Default.Users.Handlers.DeleteUserRemoveRelationshipsHandler,D2L.IM.IPSIS.Default
Comportamento esperado:
Quando um pai/responsável ou filho é excluído, a relação é excluída.
Nota de configuração:
Deve ser colocado depois de ParentPortalDeleteRelationshipHandler
ParentPortalDeleteRelationshipHandler
ParentPortalDeleteRelationshipHandler exclui implicitamente os relacionamentos entre pais/responsáveis e alunos (filhos) (ou seja, quando um relacionamento estiver ausente, o Brightspace excluirá o relacionamento).
Implementação
D2L.Integration.ParentPortal.IPSIS.RequestAdapters.ParentPortalDeleteRelationshipHandler,D2L.Integration.ParentPortal.IPSIS
Comportamento esperado:
O manipulador realiza as seguintes tarefas:
• Exclui relacionamentos pai/responsável-filho
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:
• Deve ser colocado antes de todos os manipuladores Delete.
PersonRequestAgentsTranslator
PersonRequestAgentsTranslator é necessário para mapear o identificador do agente.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestAgentsTranslator,D2L.IM.IPSIS.LIS
Comportamento esperado:
Mapeia os agentes da solicitação e cria relações de pais/responsáveis.
Nota de configuração:
Deve ser colocado ao final dos tradutores.
ReadUserAgentsTranslator
ReadUserAgentsTranslator é usado para recuperar os pais e responsáveis associados ao usuário.
Implementação:
D2L.IM.IPSIS.LIS.ResultAdapters.PMS.Default.ReadUserAgentsTranslator,D2L.IM.IPSIS.LIS
Nota de configuração:
Deve ser colocado ao final dos tradutores.
Sobre a solicitação replacePerson
Trecho da solicitação replacePerson que destaca a seção agent.
<ims:agent>
<ims:agentType>
<ims:instanceIdentifier>
<ims:language>en-US</ims:language>
</ims:instanceIdentifier>
<ims:instanceVocabulary>http://www.imsglobal.org/lis/pmsv2p0/agenttypevocabularyv1p0</ims:instanceVocabulary>
<ims:instanceValue>
<ims:textString>Parent</ims:textString>
</ims:instanceValue>
</ims:agentType>
<ims:agentId>
<ims:language>en-US</ims:language>
<ims:textString>parentsourceid</ims:textString>
</ims:agentId>
</ims:agent>
Tipo de agente suportado: Pai ou Guardião