L'interface du gestionnaire IReplaceCourseTemplateHandler est utilisée par les adaptateurs IPSIS pour prendre en charge l'opération de remplacement pour les modèles de cours.
La mise en œuvre de l'interface est D2L.IM.IPSIS.OrgUnits.CourseTemplates.Handlers.IReplaceCourseTemplateHandler.
Les listes de configuration suivantes offrent un point de départ pour toute mise en œuvre IPSIS :
IPSIS, Template – Course Template
ReplaceCourseTemplateRetainExistingDepartmentHandler
Le gestionnaire ReplaceCourseTemplateRetainExistingDepartmentHandler vérifie si la requête n'indique aucun département primaire. Le cas échéant, le gestionnaire conserve tout département primaire existant à l'actualisation du modèle (au lieu de les supprimer).
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateRetainExistingDepartmentHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Vérifie qu'aucun nœud primaire n'est indiqué dans la requête.
- Si aucun nœud primaire n'est indiqué, le gestionnaire tente de récupérer l'unité organisationnelle actuelle (afin de vérifier si la requête est une actualisation).
- Si l'UO actuelle est valide, le gestionnaire ajoute le nœud primaire à l'objet Request.UpdatedParents pour chaque nœud primaire dans Request.CurrentParents. Le gestionnaire ajoute le nœud primaire à l'objet Request.ParentOrgUnits pour chaque nœud primaire dans ParentOrgUnits de l'UO actuelle.
- 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 doit être configuré avant tout gestionnaire de lecture et, par conséquent, devrait être configuré en premier.
ReplaceCourseTemplateReadHandler
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateReadHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Tente de lire les informations relatives au modèle de cours dans les tableaux IM.
- S’il en trouve, il tente de lire toute correspondance à Brightspace pour le modèle de cours.
- S’il en trouve, il tente de lire l’information relative au modèle de cours dans Brightspace.
- Vérifie si un département primaire est indiqué dans la requête. Le cas échéant, le gestionnaire l'ajoute dans l'objet ParentOrgUnits de la requête. Si aucun département primaire n'est indiqué, l'organisation est définie comme étant le département primaire pour la requête (dans Request.ParentOrgUnits).
- Si un département primaire est indiqué mais ne présente aucune correspondance IM dans la base de données, le gestionnaire de lecture génère une exception ParentNotFoundException et le traitement est interrompu.
- 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
Le gestionnaire de lecture est généralement le premier gestionnaire, à moins que le gestionnaire ReplaceCourseTemplateRetainExistingDepartmentHandler ne soit configuré. Le cas échéant, le gestionnaire de lecture devrait s'exécuter en second lieu.
ReplaceCourseTemplateValidateHandler
Le gestionnaire ReplaceCourseTemplateValidateHandler vérifie que les informations minimales requises sont disponibles pour les gestionnaires de création.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateValidateHandler
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 de validation génère une exception ArgumentNullException et interrompt tout le traitement.
- 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é.
Notes de configuration
- Un gestionnaire de lecture devrait s'exécuter avant un gestionnaire de validation.
- Ce gestionnaire devrait être configuré de façon à s'exécuter avant les gestionnaires de création.
ReplaceCourseTemplateParentsNoUpdateLMSHandler
Lorsqu'une requête ReplaceTemplateRequest est traitée par le biais d'IPSIS, le gestionnaire ReplaceCourseTemplateParentsNoUpdateLMSHandler récupère
les unités organisationnelles personnalisées supérieures au niveau du modèle de cours et préserve cette relation (même si les UO n'ont pas été créées par l'entremise d'IPSIS) afin qu'elle ne soit pas écrasée par l'opération de mise à jour.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentsNoUpdate
LMSHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Récupère tous les nœuds primaires du modèle de cours et actualise la liste des nœuds primaires.
- Le traitement est cédé au prochain gestionnaire.
Comportement en cas d'erreur
- Aucune erreur n'est générée pour ce gestionnaire.
Note de configuration
- Ce gestionnaire doit s'exécuter après les gestionnaires de lecture et de validation.
- Ce gestionnaire doit s'exécuter avant les gestionnaires d'enregistrement.
ReplaceCourseTemplateDisallowParentChangesIfChildrenExistHandler
Le gestionnaire ReplaceCourseTemplateDisallowParentChangesIfChildrenExistHandler peut être utilisé pour prévenir la suppression ou le remplacement d'un département primaire pour tout modèle de cours qui comprend déjà des nœuds secondaires. Si ce gestionnaire est absent, les nœuds primaires peuvent être actualisés, ce qui pourrait modifier les informations de hiérarchie pour les ancêtres et les descendants du modèle de cours actuel.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentDepartmentValidateHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Si le modèle de cours existe déjà, le remplacement est utilisé plutôt que la création.
- Si une UO primaire doit être supprimée ou remplacée, le gestionnaire génère une exception pour empêcher l'exécution de tout autre gestionnaire.
Notes de configuration
- Ce gestionnaire devrait être configuré de façon à s'exécuter après les gestionnaires de validation.
- Ce gestionnaire devrait être configuré de façon à s'exécuter avant les gestionnaires de création.
ReplaceCourseTemplateParentDepartmentValidateHandler
Le gestionnaire ReplaceCourseTemplateParentDepartmentValidateHandler peut être utilisé pour couvrir les cas où aucun département primaire n'est fourni pour le modèle.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentDepartmentValidateHandler
Comportement prévu
Ce gestionnaire effectue les tâches suivantes :
- Si aucun département primaire n'est trouvé, le gestionnaire vérifie que la valeur IsRequired (est requis [chemin Élément de formulaire, Créer le cours > Département]) est réglée à False (faux).
- Si la valeur est réglée à True (vrai), le gestionnaire génère une exception de variable de configuration non valide qui comprend des directives de résolution du problème.
Notes de configuration
- Le gestionnaire de lecture devrait s'exécuter avant le gestionnaire de validation.
- Le gestionnaire de validation devrait être configuré de façon à s'exécuter avant les gestionnaires de création.
ReplaceCourseTemplateCreateLMSHandler
Le gestionnaire ReplaceCourseTemplateCreateLMSHandler crée le modèle de cours dans Brightspace.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateCreateLMSHandler
Comportement prévu
Ce gestionnaire ne s’exécute que si aucun modèle de cours existant de Brightspace n’est associé à la requête. Ce gestionnaire effectue les tâches suivantes :
- Si aucun département primaire n'est indiqué, le nouveau modèle affiche l'organisation comme nœud primaire. Ceci entraîne une erreur si l'élément de formulaire du département du cours n'est pas configuré adéquatement. Dans l'outil Éléments du formulaire, vérifiez que la valeur de I'indicateur IsRequired (est requis [chemin Créer le cours > Département]) est réglée à False (faux) pour que la création réussisse.
- Le gestionnaire crée le modèle de cours à l'aide des informations transmises dans la requête (ce qui génère automatiquement une entrée de création de modèle dans le journal de vérification).
- Si la tâche de création aboutit, le gestionnaire attribue l'état EntityCreated à l'objet ReplaceRequestStatus.
- 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é.
Notes de configuration
- Ce gestionnaire doit être placé après tout gestionnaire de validation.
- Ce gestionnaire doit précéder tout gestionnaire de création.
ReplaceCourseTemplateCreateIMHandler
Le gestionnaire ReplaceCourseTemplateCreateIMHandler 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.CourseTemplates.Handlers.ReplaceCourseTemplateCreateIMHandler
Comportement prévu
Ce gestionnaire ne s'exécute que si les tableaux IM ne comprennent aucun objet ExternalOrgUnitInfo correspondant ou aucune mise en correspondance. Ce gestionnaire effectue les tâches suivantes :
- Crée le modèle de cours dans la plateforme IM.
- Crée les entrées de la hiérarchie IM.
- Si une UO de Brightspace est associée à la requête, le gestionnaire crée la correspondance du modèle de cours de la plateforme IM au modèle de cours de Brightspace.
- Si toutes les étapes aboutissent, le gestionnaire attribue l'état EntityCreated à l'objet ReplaceRequestStatus.
- 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é.
Notes de configuration
- Ce gestionnaire doit être placé après le gestionnaire CreateLMS.
- Il n'est pas obligatoire de configurer le gestionnaire ReplaceCourseTemplateCreateIMHandler ou ReplaceCourseTemplateSaveIMHandler. Si les entrées ne sont pas créées dans les tableaux IM, IPSIS ne peut pas savoir si le modèle existe dans Brightspace. Il est recommandé de configurer un gestionnaire de mise en correspondance pour faire correspondre la requête SIS au modèle de Brightspace afin de permettre les actualisations. Si aucun gestionnaire de mise en correspondance n'est présent, IPSIS crée toujours un nouveau modèle, même si un modèle correspondant existe.
ReplaceCourseTemplateSaveLMSHandler
Le gestionnaire ReplaceCourseTemplateSaveLMSHandler enregistre toute modification apportée au modèle de cours de Brightspace.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateSaveLMSHandler
Comportement prévu
Ce gestionnaire ne s’exécute que si des modifications relatives au modèle de cours de Brightspace doivent être enregistrées. Ce gestionnaire effectue les tâches suivantes :
- Actualise le modèle de cours de Brightspace (ce qui génère automatiquement une entrée d’actualisation de modèle dans le journal de vérification).
- Si toutes les étapes aboutissent, le gestionnaire attribue l'état EntityUpdated à l'objet ReplaceRequestStatus s'il affichait l'état EntityCreated.
- 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 doit être placé après tout gestionnaire de création.
ReplaceCourseTemplateSaveIMHandler
Le gestionnaire ReplaceCourseTemplateSaveIMHandler enregistre toute modification apportée à l'entité IM et aux correspondances. Ce processus comprend l'actualisation des informations de hiérarchie et à propagation des changements à tous les ancêtres et descendants du modèle de cours indiqué.
Mise en œuvre
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateSaveIMHandler
Comportement prévu
Ce gestionnaire ne s'exécute que si des modifications relatives à l'entité ou aux correspondances dans les tableaux IM doivent être enregistrées. Ce gestionnaire effectue les tâches suivantes :
- Actualise l'entité IM.
- Actualise la hiérarchie IM et les informations de relation de tous les nœuds primaires/secondaires touchés.
- Actualise les correspondances de l'entité IM.
- Si toutes les étapes aboutissent, le gestionnaire attribue l'état EntityUpdated à l'objet ReplaceRequestStatus.
- 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é.
Notes de configuration
- Ce gestionnaire doit être placé après le gestionnaire SaveLMS.
- Il n'est pas obligatoire de configurer le gestionnaire ReplaceCourseTemplateCreateIMHandler ou ReplaceCourseTemplateSaveIMHandler. Si les entrées ne sont pas créées dans les tableaux IM, IPSIS ne peut pas savoir si le modèle existe dans Brightspace. Il est recommandé de configurer un gestionnaire de mise en correspondance pour faire correspondre la requête SIS au modèle de Brightspace afin de permettre les actualisations. Si aucun gestionnaire de mise en correspondance n'est présent, IPSIS crée toujours un nouveau modèle, même si un modèle correspondant existe.
ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler
Le gestionnaire ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler 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.CourseTemplates.Handlers.ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler
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 le Brightspace), le gestionnaire 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, l’UO a été supprimée dans Brightspace et une exception UpdateOrgUnitFailedException est générée.
- 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 est placé après les gestionnaires de lecture, généralement comme l'un des premiers gestionnaires de validation.