Sobre a interface ITranslatePerson
A interface ITranslatePerson é usada para traduzir Solicitações de pessoa do LIS em um UserObject do IPSIS do Brightspace.
A implementação da interface é D2L.IM.IPSIS.LIS.PMS.ITranslatePerson.
A seguinte lista de configuração fornece um ponto de partida para qualquer implementação:
Modelo, IPSIS
- PersonRequestBaseTranslator (Ordem de classificação = 10)
- PersonRequestFirstAndLastNameRequiredTranslator (Ordem de classificação = 20)
- PersonRequestInstitutionRoleOptionalTranslator (Ordem de classificação = 30)
- PersonRequestEmailPrimaryOptionalTranslator (Ordem de classificação = 40)
- PersonRequestFirstUserIdAndPasswordOptionalTranslator (Ordem de classificação = 50)
PersonRequestBaseTranslator
O PersonRequestBaseTranslator requer e mapeia o identificador de pessoa.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestBaseTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- Configura o OrgDefinedId para o valor fornecido no sourcedGUID.sourcedid.
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
OrgDefinedId
|
result.Entity.OrgDefinedId
|
sourcedGUID.sourcedId
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor (ou um tradutor base alternativo) deve ser configurado em primeiro lugar na lista de tradutores.
PersonRequestIsActiveTranslator
O PersonRequestIsActiveTranslator define o status do usuário com base no valor do campo.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestIsActiveTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- Lê a mensagem LIS dos campos de extensão onde fieldName = "IsActive".
- O valor do campo deve ser 0 ou 1, ou verdadeiro ou falso.
- O processamento continua para o próximo tradutor (Return True).
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Status
|
result.Entity.Status
|
extension.extensionField.fieldValue[IsActive]
|
Comportamento de erro
Nenhum erro é lançado para esse tradutor.
Nota sobre a configuração
Esse tradutor deve ser configurado após o PersonRequestBaseTranslator.
PersonRequestFirstAndLastNameRequiredTranslator
O PersonRequestFirstAndLastNameRequiredTranslator requer e mapeia nomes e sobrenomes.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestFirstAndLastNameRequiredTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- Tenta preencher o Nome com base nos seguintes resultados de vocabulário:
- Se name.nameType.instanceName.textString = (Contact ou Full)
- e name.partName.instanceName.textString = (First ou Given)
- Tenta preencher o Sobrenome com base nos seguintes resultados de vocabulário:
- Se name.nameType.instanceName.textString = (Contact ou Full)
- e name.partName.instanceName.textString = (Last, Family ou Surname)
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Nome
|
result.Entity.FirstName
|
person.name.partName.instanceValue.textString
quando person.name.partName.instanceName.textString = (First ou Given)
|
Sobrenome
|
result.Entity.LastName
|
person.name.partName.instanceValue.textString
quando person.name.partName.instanceName.textString = (Last, Family ou Surname)
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor pode ser posicionado em qualquer lugar depois do tradutor base.
PersonRequestInstitutionRoleOptionalTranslator
O PersonRequestInstitutionRoleOptionalTranslator tenta mapear uma função e uma propriedade de função principal.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestInstitutionRoleOptionalTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- Adiciona as funções dos elementos institutionRole à lista de funções do resultado.
- Se um valor institutionRole for indicado como primaryroletype, a função será usada como a função principal.
- Se uma função não for fornecida, o processamento se moverá para o próximo tradutor.
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Funções
|
result.SISRoles(*).Name
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
|
Função primária
|
result.SISRoles(*).Primary
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
quando person.roles.institutionRole(*).primaryroletype = true
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor pode ser posicionado em qualquer lugar depois do tradutor base.
PersonRequestEmailPrimaryOptionalTranslator
O PersonRequestEmailPrimaryOptionalTranslator tenta mapear um endereço de e-mail.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestEmailPrimaryOptionalTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- Se um endereço de e-mail ainda não foi configurado, o tradutor usará o vocabulário para obter o primeiro valor EmailPrimary encontrado.
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Funções
|
result.Entity.ExternalEmail
|
person.contactinfo.contactInfoValue.textString
quando person.contactinfo.contactInfoType.instanceValue.textString = EmailPrimary
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor pode ser posicionado em qualquer lugar depois do tradutor base.
PersonRequestFirstUserIdAndPasswordOptionalTranslator
O PersonRequestFirstUserIdAndPasswordOptionalTranslator tenta mapear o userid e a senha.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestFirstUserIdAndPasswordOptionalTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- O nome do usuário é preenchido a partir do userId se ele foi fornecido.
- Se um nome de usuário for fornecido, a senha será preenchida.
- Se um tipo de criptografia de senha foi fornecido, a criptografia de senha será preenchida.
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Nome de usuário
|
result.Entity.Username.value
|
person.userId.userIdValue.textString
|
UserIdType
|
result.Entity.UserIdType
|
person.userId.userIdType.textString
|
Senha
|
result.Entity.Username.Password.Value
|
person.userId.password.textString
|
EncryptionMethod
|
result.Entity.EncryptionMethod
|
person.userId.pwEncryptionType.textString
|
Tipo de Autenticação
|
result.Username.AuthenticationType
|
person.userId.authenticationType.textString
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor pode ser posicionado em qualquer lugar depois do tradutor base.
PersonRequestSystemRoleOptionalTranslator
O PersonRequestSystemRoleOptionalTranslator tenta mapear a função do sistema.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestSystemRoleOptionalTranslator
Comportamento esperado
- Adiciona a função dos elementos do sistema à lista de funções do resultado.
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Funções
|
result.SISRoles(*).Name
|
person.roles.systemRole.instanceValue.textString
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor pode ser posicionado em qualquer lugar depois do tradutor base.
PersonRequestEmailSecondaryOptionalTranslator
O PersonRequestEmailSecondaryOptionalTranslator tentará mapear um endereço de e-mail com base nos e-mails secundários da mensagem, se um e-mail ainda não foi configurado.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestEmailSecondaryOptionalTranslator
Comportamento esperado
- Se um endereço de e-mail ainda não foi configurado, use o vocabulário e obtenha o primeiro valor EmailSecondary encontrado.
- Continua o processamento para o próximo tradutor.
Propriedade
|
Objeto de resultado da tradução
|
Mapeamento da solicitação do LIS
|
Funções
|
result.Entity.ExternalEmail
|
person.contactinfo.contactInfoValue.textString
quando person.contactinfo.contactInfoType.instanceValue.textString = EmailSecondary
|
Comportamento de erro
Se houver um problema durante o processamento, um IncompleteRequestException será lançado. Isso resulta em:
- Suspensão de todo processamento adicional.
- Um cabeçalho de resposta do LIS contendo:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota sobre a configuração
Esse tradutor pode ser posicionado em qualquer lugar depois do tradutor base.
PersonRequestCreateRecordFromSourcedIdRequiredTranslator
O PersonRequestCreateRecordFromSourcedIdRequiredTranslator criará uma solicitação de pessoa válida se tudo o que foi transmitido foi o sourcedId.
Implementação
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestCreateRecordFromSourcedIdRequiredTranslator
Comportamento esperado
O tradutor realiza as seguintes tarefas:
- Se um registro de pessoa válido não existia na solicitação, o tradutor criará um registro de pessoa fictício, usando o sourcedId para o nome, o sobrenome e o id do usuário.
- Continua o processamento para o próximo tradutor.
Notas sobre a configuração
- Esse tradutor deve ser posicionado diretamente depois do tradutor base.
- Este tradutor é usado apenas quando se espera que informações insuficientes sejam recebidas do SIS para criar uma pessoa dentro do Brightspace.