La interfaz ITranslatePerson se utiliza para traducir las Solicitudes de persona del LIS en un UserObject del IPSIS de Brightspace.
La implementación de la interfaz es D2L.IM.IPSIS.LIS.PMS.ITranslatePerson.
La siguiente lista de configuración ofrece un punto de partida para la implementación:
Plantilla, IPSIS
- PersonRequestBaseTranslator (Orden de clasificación = 10)
- PersonRequestFirstAndLastNameRequiredTranslator (Orden de clasificación = 20)
- PersonRequestInstitutionRoleOptionalTranslator (Orden de clasificación = 30)
- PersonRequestEmailPrimaryOptionalTranslator (Orden de clasificación = 40)
- PersonRequestFirstUserIdAndPasswordOptionalTranslator (Orden de clasificación = 50)
PersonRequestBaseTranslator
El traductor PersonRequestBaseTranslator requiere y asigna el identificador de la persona.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestBaseTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- Establece el OrgDefinedId al valor provisto en sourcedGUID.sourcedid.
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
OrgDefinedId
|
result.Entity.OrgDefinedId
|
sourcedGUID.sourcedId
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor (o un traductor Base alternativo) debe configurarse, en primer lugar, en la lista de traductores.
PersonRequestIsActiveTranslator
PersonRequestIsActiveTranslator establece el estado del usuario según el valor del campo.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestIsActiveTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- Lee el mensaje de Lis para campos de extensión donde el fieldName = "IsActive".
- El valor del campo debe ser 0 o 1, o verdadero o falso.
- El proceso continúa con el siguiente traductor (devuelve True).
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Estado
|
result.Entity.Status
|
extension.extensionField.fieldValue[IsActive]
|
Comportamiento de error
El traductor no arroja errores.
Nota de configuración
Este traductor debe configurarse después de PersonRequestBaseTranslator.
PersonRequestFirstAndLastNameRequiredTranslator
El traductor PersonRequestFirstAndLastNameRequiredTranslator requiere y asigna nombres y apellidos.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestFirstAndLastNameRequiredTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- Intenta completar el Nombre según las siguientes coincidencias de vocabulario:
- Si name.nameType.instanceName.textString = ("Contact" o "Full")
- y name.partName.instanceName.textString = ("First" o "Given")
- Intenta completar el Apellido según las siguientes coincidencias de vocabulario:
- Si name.nameType.instanceName.textString = ("Contact" o "Full")
- y name.partName.instanceName.textString = ("Last", "Family" o "Surname")
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Nombre
|
result.Entity.FirstName
|
person.name.partName.instanceValue.textString
donde person.name.partName.instanceName.textString = ("First" o "Given")
|
Apellido
|
result.Entity.LastName
|
person.name.partName.instanceValue.textString
donde person.name.partName.instanceName.textString = ("Last", "Family" o "Surname")
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor puede ubicarse en cualquier orden después del traductor Base.
PersonRequestInstitutionRoleOptionalTranslator
El traductor PersonRequestInstitutionRoleOptionalTranslator intenta asignar un rol y una propiedad de rol primario.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestInstitutionRoleOptionalTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- Agrega los roles desde los elementos institutionRole a la lista de roles del resultado.
- Si un valor de institutionRole se indica como primaryroletype, el papel se utiliza como el rol principal.
- Si no se proporciona un rol, el procesamiento se desplaza al traductor siguiente.
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Roles
|
result.SISRoles(*).Name
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
|
Rol principal
|
result.SISRoles(*).Primary
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
cuando person.roles.institutionRole(*).primaryroletype = true
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor puede ubicarse en cualquier orden después del traductor Base.
PersonRequestEmailPrimaryOptionalTranslator
El traductor PersonRequestEmailPrimaryOptionalTranslator intenta asignar una dirección de correo electrónico.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestEmailPrimaryOptionalTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- Si aún no se ha configurado una dirección de correo electrónico, el traductor utiliza vocabulario y obtiene el primer valor EmailPrimary encontrado.
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Roles
|
result.Entity.ExternalEmail
|
person.contactinfo.contactInfoValue.textString
donde person.contactinfo.contactInfoType.instanceValue.textString = EmailPrimary
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor puede ubicarse en cualquier orden después del traductor Base.
PersonRequestFirstUserIdAndPasswordOptionalTranslator
El traductor intenta PersonRequestFirstUserIdAndPasswordOptionalTranslator asignar el userid y la contraseña.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestFirstUserIdAndPasswordOptionalTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- El nombre de usuario se completa con el userId, si se proporcionó.
- Si se proporcionó un nombre de usuario, se completa la contraseña.
- Si se proporcionó un tipo de cifrado de contraseña, se completa el cifrado de la contraseña.
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Nombre de usuario
|
result.Entity.Username.value
|
person.userId.userIdValue.textString
|
UserIdType
|
result.Entity.UserIdType
|
person.userId.userIdType.textString
|
Contraseña
|
result.Entity.Username.Password.Value
|
person.userId.password.textString
|
EncryptionMethod
|
result.Entity.EncryptionMethod
|
person.userId.pwEncryptionType.textString
|
Tipo de autenticación
|
result.Username.AuthenticationType
|
person.userId.authenticationType.textString
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor puede ubicarse en cualquier orden después del traductor Base.
PersonRequestSystemRoleOptionalTranslator
El traductor PersonRequestSystemRoleOptionalTranslator intenta asignar el rol del sistema.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestSystemRoleOptionalTranslator
Comportamiento esperado
- Agrega el rol desde los elementos del sistema a la lista de roles del resultado.
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Roles
|
result.SISRoles(*).Name
|
person.roles.systemRole.instanceValue.textString
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor puede ubicarse en cualquier orden después del traductor Base.
PersonRequestEmailSecondaryOptionalTranslator
El traductor PersonRequestEmailSecondaryOptionalTranslator intenta asignar una dirección de correo electrónico en función de los correos electrónicos secundarios del mensaje, si un correo electrónico aún no se ha establecido.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestEmailSecondaryOptionalTranslator
Comportamiento esperado
- Si aún no se ha configurado una dirección de correo electrónico, utilice vocabulario y obtenga el primer valor EmailSecondary encontrado.
- El proceso continúa con el traductor siguiente.
Propiedad
|
Objeto de resultados de traducción
|
Esquema de solicitud del LIS
|
Roles
|
result.Entity.ExternalEmail
|
person.contactinfo.contactInfoValue.textString
donde person.contactinfo.contactInfoType.instanceValue.textString = EmailSecondary
|
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción IncompleteRequestException. Esto produce lo siguiente:
- La suspensión de todos los procesamientos adicionales.
- Un encabezado de respuesta del LIS que contiene:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Nota de configuración
Este traductor puede ubicarse en cualquier orden después del traductor Base.
PersonRequestCreateRecordFromSourcedIdRequiredTranslator
El traductor PersonRequestCreateRecordFromSourcedIdRequiredTranslator crea una solicitud de persona válida si todo lo que se pasó se encontraba en el sourcedId.
Implementación
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestCreateRecordFromSourcedIdRequiredTranslator
Comportamiento esperado
El traductor realiza las siguientes tareas:
- Si no existe un registro de personas válido en la solicitud, el traductor crea una solicitud de persona ficticia; para ello, utiliza el sourcedId del nombre, del apellido y del ID del usuario.
- El proceso continúa con el traductor siguiente.
Notas de configuración
- Este traductor debe ubicarse directamente después del traductor Base.
- Este traductor se utiliza solo cuando se prevé que se recibirá información insuficiente del SIS para crear una persona en Brightspace.