À propos de l'interface ITranslatePerson
L’interface ITranslatePerson sert à traduire les requêtes de personne LIS en objet d’utilisateur UserObject d’IPSIS dans Brightspace.
La mise en œuvre de l'interface est D2L.IM.IPSIS.LIS.PMS.ITranslatePerson.
La liste de configuration suivante offre un point de départ pour toute mise en œuvre :
Template (Modèle), IPSIS
- PersonRequestBaseTranslator (Sort Order = 10)
- PersonRequestFirstAndLastNameRequiredTranslator (Sort Order = 20)
- PersonRequestInstitutionRoleOptionalTranslator (Sort Order = 30)
- PersonRequestEmailPrimaryOptionalTranslator (Sort Order = 40)
- PersonRequestFirstUserIdAndPasswordOptionalTranslator (Sort Order = 50)
PersonRequestBaseTranslator
Le traducteur PersonRequestBaseTranslator envoie les requêtes relatives à l'identificateur de personne et le met en correspondance.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestBaseTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Définit OrgDefinedId à la valeur fournie dans sourcedGUID.sourcedid.
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
OrgDefinedId
|
result.Entity.OrgDefinedId
|
sourcedGUID.sourcedId
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur (ou un autre traducteur de base) doit d'abord être configuré dans la liste des traducteurs.
PersonRequestIsActiveTranslator
Le traducteur PersonRequestIsActiveTranslator définit l'état d'un utilisateur en fonction de la valeur du champ.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestIsActiveTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Lit le message LIS pour les champs d'extension où fieldName = "IsActive".
- La valeur du champ doit être soit 0 ou 1, soit True (vrai) ou False (faux).
- Le traitement passe au traducteur suivant (renvoi de la valeur True [vrai]).
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
État
|
result.Entity.Status
|
extension.extensionField.fieldValue[IsActive]
|
Comportement en cas d'erreur
Aucune erreur n'est générée pour ce traducteur.
Note de configuration
Ce traducteur doit être configuré n'importe où après le traducteur PersonRequestBaseTranslator.
PersonRequestFirstAndLastNameRequiredTranslator
Le traducteur PersonRequestFirstAndLastNameRequiredTranslator envoie les requêtes relatives aux prénoms et aux noms de famille et les met en correspondance.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestFirstAndLastNameRequiredTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Tente d'afficher le prénom d'après les correspondances de vocabulaire suivantes :
- If name.nameType.instanceName.textString = (Contact or Full)
- and name.partName.instanceName.textString = (First or Given)
- Tente d'afficher le nom de famille d'après les correspondances de vocabulaire suivantes :
- If name.nameType.instanceName.textString = (Contact or Full)
- and name.partName.instanceName.textString = (Last, Family, or Surname)
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
Prénom
|
result.Entity.FirstName
|
person.name.partName.instanceValue.textString
when person.name.partName.instanceName.textString = (First or Given)
|
Nom de famille
|
result.Entity.LastName
|
person.name.partName.instanceValue.textString
when person.name.partName.instanceName.textString = (Last, Family or Surname)
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur peut être placé n'importe où après le traducteur de base.
PersonRequestInstitutionRoleOptionalTranslator
Le traducteur PersonRequestInstitutionRoleOptionalTranslator tente de mettre en correspondance le rôle et les propriétés d'un rôle principal.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestInstitutionRoleOptionalTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Ajoute les rôles depuis les éléments de l'institutionRole à la liste de rôles du résultat.
- Si une valeur institutionRole est indiquée comme primaryroletype, le rôle est utilisé comme rôle principal.
- Si aucun rôle n'est fourni, le traitement passe au traducteur suivant.
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
Rôles
|
result.SISRoles(*).Name
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
|
Rôle primaire
|
result.SISRoles(*).Primary
|
person.roles.institutionRole(*).institutionroletype.instanceValue.textString
when person.roles.institutionRole(*).primaryroletype = true
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur peut être placé n'importe où après le traducteur de base.
PersonRequestEmailPrimaryOptionalTranslator
Le traducteur PersonRequestEmailPrimaryOptionalTranslator tente de mettre en correspondance une adresse de courriel.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestEmailPrimaryOptionalTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Si une adresse de courriel n'est pas déjà définie, le traducteur utilise le vocabulaire et prend la première valeur EmailPrimary trouvée.
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
Rôles
|
result.Entity.ExternalEmail
|
person.contactinfo.contactInfoValue.textString
when person.contactinfo.contactInfoType.instanceValue.textString = EmailPrimary
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur peut être placé n'importe où après le traducteur de base.
PersonRequestFirstUserIdAndPasswordOptionalTranslator
Le traducteur PersonRequestFirstUserIdAndPasswordOptionalTranslator tente de mettre en correspondance l'ID utilisateur et le mot de passe.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestFirstUserIdAndPasswordOptionalTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Le nom d'utilisateur est rempli automatiquement à partir de l'ID d'utilisateur s'il a été fourni.
- Si un nom d'utilisateur est fourni, le mot de passe est rempli.
- Si un type de chiffrement de mot de passe a été fourni, le chiffrement par mot de passe est rempli.
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
Nom d’utilisateur
|
result.Entity.Username.value
|
person.userId.userIdValue.textString
|
UserIdType
|
result.Entity.UserIdType
|
person.userId.userIdType.textString
|
Mot de passe
|
result.Entity.Username.Password.Value
|
person.userId.password.textString
|
EncryptionMethod
|
result.Entity.EncryptionMethod
|
person.userId.pwEncryptionType.textString
|
Type d’authentification
|
result.Username.AuthenticationType
|
person.userId.authenticationType.textString
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur peut être placé n'importe où après le traducteur de base.
PersonRequestSystemRoleOptionalTranslator
Le traducteur PersonRequestSystemRoleOptionalTranslator tente de mettre en correspondance le rôle du système.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestSystemRoleOptionalTranslator
Comportement prévu
- Ajoute le rôle depuis les éléments de système à la liste de rôles du résultat.
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
Rôles
|
result.SISRoles(*).Name
|
person.roles.systemRole.instanceValue.textString
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur peut être placé n'importe où après le traducteur de base.
PersonRequestEmailSecondaryOptionalTranslator
Le traducteur PersonRequestEmailSecondaryOptionalTranslator tente de mettre en correspondance une adresse de courriel d'après les courriels secondaires dans le message si une adresse de courriel n'a pas déjà été définie.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestEmailSecondaryOptionalTranslator
Comportement prévu
- Si une adresse de courriel n'est pas déjà définie, le traducteur utilise le vocabulaire et prend la première valeur EmailSecondary trouvée.
- Le traitement passe au traducteur suivant.
Propriété
|
Objet du résultat de la traduction
|
Mise en correspondance de requête LIS
|
Rôles
|
result.Entity.ExternalEmail
|
person.contactinfo.contactInfoValue.textString
when person.contactinfo.contactInfoType.instanceValue.textString = EmailSecondary
|
Comportement en cas d'erreur
Si un problème survient lors du traitement, IncompleteRequestException génère une exception. Résultat :
- L'interruption de toute étape de traitement éventuelle.
- En-tête de réponse LIS contenant :
- CodeMajor = échec.
- Severity = état.
- CodeMinor = invaliddata.
Note de configuration
Ce traducteur peut être placé n'importe où après le traducteur de base.
PersonRequestCreateRecordFromSourcedIdRequiredTranslator
Le traducteur PersonRequestCreateRecordFromSourcedIdRequiredTranslator crée une requête de personne valide si seul le sourcedId a été transmis.
Mise en œuvre
D2L.IM.IPSIS.LIS.RequestAdapters.PMS.Default.PersonRequestCreateRecordFromSourcedIdRequiredTranslator
Comportement prévu
Le traducteur effectue les tâches suivantes :
- Si aucun enregistrement de personne valide n'existe dans la requête, le traducteur crée une requête de personne fictive, à l'aide du sourcedId du prénom, du nom de famille et de l'ID d'utilisateur
- Le traitement passe au traducteur suivant.
Notes de configuration
- Ce traducteur peut être placé tout de suite après le traducteur de base.
- Ce traducteur n’est utilisé que lorsque l’on s’attend à ce que l’information reçue du SIS ne suffise pas à créer une personne dans Brightspace.