L'interface du gestionnaire IReplaceOrgUnitHandler est utilisée par les adaptateurs IPSIS pour prendre en charge l'opération de remplacement pour toute opération associée aux types d'UO non standards, y compris : Semestre, Département, Modèle de cours, Offre de cours et Section de cours. Les exemples comprennent : Collège, Campus.
La mise en œuvre de l'interface est D2L.IM.IPSIS.OrgUnits.OtherOrgUnits.Handlers.IReplaceOrgUnitHandler.
Les listes de configuration IPSIS, Template – Org Unit offrent un point de départ pour toute mise en œuvre IPSIS.
La liste des gestionnaires ci-dessous est utilisée comme point de départ :
- ReplaceOrgUnitReadHandler (Sort Order = 10)
- ReplaceOrgUnitValidateHandler (Sort Order = 20)
- ReplaceOrgUnitCreateLMSHandler (Sort Order = 30)
- ReplaceOrgUnitCreateIMHandler (Sort Order = 40)
- ReplaceOrgUnitSaveLMSHandler (Sort Order = 50)
- ReplaceOrgUnitSaveIMHandler (Sort Order = 60)
ReplaceOrgUnitReadHandler
Le gestionnaire ReplaceOrgUnitReadHandler lit toutes les informations relatives à l'unité organisationnelle stockées dans les tableaux LMS (SGA) ou IM de la base de données à des fins d'utilisation par les gestionnaires ultérieurs.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitReadHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Tente de lire les informations relatives à l'unité organisationnelle dans les tableaux IM.
- S'il en trouve, il tente de lire toute correspondance au SGA pour l'UO en fonction du type d'UO indiqué et tente de lire les informations relatives à l'UO dans les tableaux LMS (SGA).
- Tente de lire les informations relatives à toute unité organisationnelle primaire indiquée dans les tableaux IM.
- Si aucune information n'y figure, le gestionnaire définit la liste des nœuds primaires par défaut de l'organisation comme unique UO primaire.
- Le traitement est cédé au prochain gestionnaire (renvoi de la valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Un gestionnaire de lecture devrait s'exécuter avant un gestionnaire de validation.
ReplaceOrgUnitValidateHandler
Le gestionnaire ReplaceOrgUnitValidateHandler vérifie qu'un nom et qu'un code valides sont affectés à l'unité organisationnelle.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitValidateHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Vérifie qu'un code et qu'un nom sont précisés pour la requête. Ces valeurs doivent être des chaînes d'une longueur supérieure à 0.
- Si les champs de code ou de nom affichent une valeur nulle ou vide, le gestionnaire génère une exception ArgumentNullException et interrompt tout le traitement.
- Le gestionnaire de validation s'assure également que la requête ne tente pas de modifier le type (p. ex., Collège à Département) d'une unité organisationnelle existante.
- Si la requête tente de modifier le type, le gestionnaire génère une exception InvalidOperationException et le traitement est interrompu.
- Si toutes les étapes aboutissent, le traitement est cédé au prochain gestionnaire (renvoi d'une valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Les gestionnaires de validation devraient être configurés de façon à s'exécuter avant le gestionnaire de création.
ReplaceOrgUnitCreateLMSHandler
Le gestionnaire ReplaceOrgUnitCreateLMSHandler crée l’unité organisationnelle dans Brightspace.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitCreateLMSHandler
Comportement prévu
Ce gestionnaire ne s’exécute que si aucune unité organisationnelle existante de Brightspace n’est associée à la requête. Ce gestionnaire effectue les tâches suivantes :
- Crée l'unité organisationnelle à l'aide des informations transmises dans la requête (ce qui génère automatiquement une entrée de création de type d'UO dans le journal de vérification).
- Si toutes les étapes aboutissent, le gestionnaire attribue l'état EntityCreated au résultat.
- Si une erreur survient, le gestionnaire attribue l'état CreateFailed au résultat.
- Le traitement est cédé au prochain gestionnaire (renvoi de la valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Notes de configuration
- Ce gestionnaire devrait être placé après tout gestionnaire de validation.
- Le gestionnaire CreateLMS devrait précéder le gestionnaire CreateIM.
ReplaceOrgUnitCreateIMHandler
Le gestionnaire ReplaceOrgUnitCreateIMHandler crée l'objet Entity (entité) dans les tableaux IM, et une correspondance si une entité est définie.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitCreateIMHandler
Comportement prévu
Ce gestionnaire ne s'exécute que si les tableaux IM ne comprennent aucun objet Entity correspondant. Ce gestionnaire effectue les tâches suivantes :
- Crée l'unité organisationnelle dans la plateforme IM.
- Si une UO du SGA est associée à la requête, le gestionnaire crée la correspondance d'UO de la plateforme IM à l'UO du SGA.
- Si toutes les étapes aboutissent, le gestionnaire attribue l'état EntityCreated au résultat.
- Le traitement est cédé au prochain gestionnaire (renvoi de la valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Ce gestionnaire doit être placé après tout gestionnaire CreateLMS.
ReplaceOrgUnitSaveLMSHandler
Le gestionnaire ReplaceOrgUnitSaveLMSHandler enregistre toute modification apportée à l'unité organisationnelle dans le SGA.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitSaveLMSHandler
Comportement prévu
Ce gestionnaire ne s'exécute que si des modifications relatives à l'unité organisationnelle du SGA doivent être enregistrées. Ce gestionnaire effectue les tâches suivantes :
- Actualise l'unité organisationnelle (ce qui génère automatiquement une entrée de journal de vérification).
- Si la requête est une mise à jour et qu'au moins un champ a été modifié, le gestionnaire attribue l'état EntityUpdated au résultat.
- Le traitement est cédé au prochain gestionnaire (renvoi de la valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Ce gestionnaire doit être placé après tout gestionnaire de création.
ReplaceOrgUnitSaveIMHandler
Le gestionnaire ReplaceOrgUnitSaveIMHandler enregistre toute modification apportée à l'entité IM et aux correspondances.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitSaveIMHandler
Comportement prévu
Ce gestionnaire ne s'exécute que si des modifications relatives à l'entité ou à la hiérarchie dans les tableaux IM doivent être enregistrées. Ce gestionnaire effectue les tâches suivantes :
- Actualise l'entité IM si des modifications sont en cours.
- Actualise les relations de la hiérarchie de l'entité IM si des nœuds primaires ont été ajoutés ou supprimés.
- Le traitement est cédé au prochain gestionnaire (renvoi de la valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Ce gestionnaire devrait être placé après tout gestionnaire SaveLMS.
ReplaceOrgUnitMapByCodeHandler
Le gestionnaire ReplaceOrgUnitMapByCodeHandler associe une unité organisationnelle à une UO existante du SGA en fonction des correspondances de code et de type d'UO.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitMapByCodeHandler
Comportement prévu
Ce gestionnaire ne devrait être utilisé que si le code d'unité organisationnelle devait s'avérer unique au sein d'une organisation.
Ce gestionnaire effectue les tâches suivantes :
- S’il n’existe aucune correspondance d’UO, le gestionnaire tente de trouver dans Brightspace une unité organisationnelle correspondant au code et au type d’UO.
- S'il trouve une correspondance, le gestionnaire actualise la requête en fonction de la valeur d'UO.
- S'il ne trouve aucune correspondance, le gestionnaire ne fait rien.
- S'il trouve plusieurs correspondances, il génère une exception MultipleOrgUnitsFoundException.
- Le traitement est cédé au prochain gestionnaire.
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Ce gestionnaire est généralement placé entre les gestionnaires de lecture et les gestionnaires de création, auquel cas il ne s'exécuterait que si les gestionnaires de lecture ne réussissent pas à trouver une unité organisationnelle correspondante.
ReplaceOrgUnitNameNoUpdateLMSHandler
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitNoUpdateLMSHandler
Comportement prévu
- Actualise la requête pour indiquer que le nom ne doit pas être actualisé.
- Le traitement est cédé au prochain gestionnaire (renvoi de la valeur True [vrai]).
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Ce gestionnaire doit précéder tout gestionnaire SaveLMS.
ReplaceOrgUnitValidateLMSOrgUnitExistsHandler
Le gestionnaire ReplaceOrgUnitValidateLMSOrgUnitExistsHandler vérifie si l’unité organisationnelle à laquelle la requête correspond a été supprimée dans Brightspace.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitValidateLMSOrgUnitExistsHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Tente de récupérer l'unité organisationnelle actuelle.
- Si l’UO actuelle n’existe pas (la requête est une opération de création ou l’UO a été supprimée dans Brightspace) :
- Tente de récupérer la valeur de l'objet ExternalOrgUnitInfo de la requête.
- Si la valeur de l'objet ExternalOrgUnitInfo est valide, il ne s'agit pas d'une opération de création et l'UO a été supprimée dans le SGA. Le cas échéant, le gestionnaire génère une exception UpdateOrgUnitFailedException.
- Cette exception pousse les services LIS à générer un code de données non valides. Ce code a été évalué comme représentant la réponse la plus appropriée pour cette situation.
Comportement en cas d'erreur
Si un problème survient lors du traitement, le gestionnaire génère une exception et un message d’information détaillé.
Note de configuration
Ce gestionnaire serait placé après les gestionnaires de lecture, généralement comme l'un des premiers gestionnaires de validation.