Le type d'intégration Fichier plat de la structure SIS n'apporte aucun changement par rapport à l'ancienne intégration (outils de ligne de commande d'instantané) excepté l'ajout d'en-têtes aux nouveaux objets de données pris en charge et l'obligation d'inclure certains champs jusque-là facultatifs.
Les mêmes règles de classement s'appliquent aux fichiers plats d'instantané et aux instantanés existants : les flux échoueront si les dépendances ne sont pas satisfaites. Par exemple, un flux d'information sur l'adhésion ne réussira pas tant que les flux sur l'utilisateur et le cours contenant les objets associés à l'adhésion n'auront pas été traités ou qu'un cours enfant ne sera pas lié à un cours parent avant la création du cours principal (parent). Cette logique s'applique également aux plages de dates et aux nœuds.
Notez également que le comportement du système lors du traitement des données envoyées aux points d'arrêt peut être configuré via la page de modification de l'intégration.
Pour obtenir la description complète des URL et de leurs fonctions, reportez-vous à la section Fichier plat d'instantané.
Les clients ANGEL adoptent Learn
Il existe des différences entre les formats de source de données Learn et ANGEL. Ces différences sont signalées dans le parcours de connaissances sur le mappage de données ANGEL-LEARN.
Jeu de caractères acceptable pour les données d'intégration
Les caractères de sécurité inclus dans les champs de données de base sont les suivants :
A-Z a-z 0-9 . ' , " : ! ? $ @ [ ] { } - _ *
Le mot de passe et les clés externes peuvent également contenir les caractères suivants :
% & # < > = \ + /
Exemples utilisant les champs de données minimum
Notez que ces exemples correspondent aux données minimales requises pour le flux. D'autres objets peuvent être dérivés pour chaque flux de l'interface des en-têtes personnalisés dans la configuration avancée des fichiers plats d'instantané de la structure SIS. Vous pouvez également déduire le caractère obligatoire d'un champ depuis l'interface de mappage des champs. Vous trouverez la liste complète des champs (avec leur description), des exemples de valeurs par défaut et les valeurs acceptables pour chaque objet à la fin de ce document. Les URL complètes utilisées pour votre installation peuvent être trouvées via l'interface administrateur de la structure SIS sous Configuration HTTP. Pour en savoir plus, reportez-vous à la section Fichier plat d'instantané.
Les exemples ci-dessous utilisent la barre verticale (|) comme délimiteur. Vous pouvez sélectionner le délimiteur utilisé lorsque vous configurez votre implémentation.
Pour obtenir des exemples d'utilisation de données plus complexes, reportez-vous à la section Exemples de fichiers plats d'instantanés.
Utilisateurs
Tâche : création/mise à jour d'utilisateurs (Personnes)
URL : stockage ou actualisation des personnes
Exemple :
external_person_key|user_id|passwd|firstname|lastname|system_role
testPerson1|aanderson_test|changeme|Alpha|Anderson|none
testPerson2|bbrown_test|changeme|Beta|Brown|none
testPerson3|ccharlie_test|changeme|Chi|Charlie|none
testPerson4|ddavis_test|changeme|Delta|Davis|none
testPerson5|eedwards_test|changeme|Epsilon|Edwards|none
Bien qu'il ne soit pas obligatoire de renseigner le champ d'adresse e-mail pour créer un utilisateur, il est tout de même conseillé de fournir cette information pour éviter que des capacités du système, telles que l'envoi de notifications de cours par e-mail, soient limitées.
Tâche : suppression/désactivation d'utilisateurs (Personnes)
URL : suppression de personne
Exemple :
external_person_key
testPerson1
Tâche : rôle secondaire de la personne dans l'établissement
URL : stockage/actualisation/suppression d'un rôle
Exemple :
external_person_key|role_id
testPerson1|ALUMNI
testPerson1|PROSPECTIVE_STUDENT
testPerson2|ALUMNI
Tâche : flux d'association de personne à observateur
URL : stockage/actualisation/suppression d'une association
Exemple :
external_observer_key|external_user_key
testPerson6|testPerson1
Cours
Tâche : création/mise à jour de cours
URL : stockage ou actualisation de cours
Exemple :
external_course_key|course_id|course_name
testCourse1|TEST_COURSE_1|Test Course 1
testCourse2|TEST_COURSE_2|Test Course 2
testCourse3|TEST_COURSE_3|Test Course 3
Tâche : choix de la vue de cours
URL : stockage ou actualisation de cours
Exemple :
external_course_key|course_id|course_name|course_experience
testCourse1|TEST_COURSE_1|Test Course 1|Original
testCourse2|TEST_COURSE_2|Test Course 2|Ultra
testCourse3|TEST_COURSE_3|Test Course 3|Instructor choice
Valeurs possibles : « Original », « Ultra » ou « Instructor choice » Ces valeurs correspondent uniquement à des insertions et ne peuvent pas être mises à jour par le biais de la structure SIS.
Tâche : suppression/désactivation de nouveaux cours
URL : suppression de cours
Exemple :
external_course_key
testCourse1
Ajoutez le champ template_course_key au fichier source du cours lorsque vous souhaitez qu'un nouveau cours soit renseigné avec le contenu d'un cours maître. Par exemple, tous les nouveaux cours de mathématiques doivent comprendre avant tout les supports d'un cours de mathématiques maître.
Communautés
Tâche : création/mise à jour de communautés
URL : stockage ou actualisation de communautés
Exemple :
external_organization_key|organization_id|organization_name
testOrg1|TEST_ORG_1|Test Org 1
testOrg2|TEST_ORG_2|Test Org 2
testOrg3|TEST_ORG_3|Test Org 3
Tâche : désactivation de nouvelles communautés
URL : suppression de communautés
Exemple :
external_organization_key
testOrg1
Adhésions
Tâche : création/mise à jour d'adhésions à des cours
URL : stockage ou actualisation d'adhésions à des cours
Exemple :
external_person_key|external_course_key|role
testPerson1|testCourse1|instructor
testPerson1|testCourse2|student
testPerson2|testCourse1|student
testPerson3|testCourse1|student
testPerson4|testCourse2|instructor
testPerson5|testCourse3|student
Tâche : désactivation d'adhésions à des cours
URL : suppression d'adhésion à un cours
Exemple :
external_person_key|external_course_key
testPerson1|testCourse1
Tâche : création/mise à jour d'adhésions à des communautés
URL : stockage ou actualisation d'adhésions à des communautés
Exemple :
external_person_key|external_organization_key|role
testPerson1|testOrg1|instructor
testPerson1|testOrg2|student
testPerson2|testOrg1|student
testPerson3|testOrg1|student
testPerson4|testOrg2|instructor
testPerson5|testOrg3|student
Tâche : désactivation d'adhésions à des communautés
URL : stockage ou actualisation d'adhésions à des communautés
Exemple :
external_person_key|external_organization_key|role
testPerson1|testOrg1|instructor
Périodes de cours
Tâche : création/mise à jour de période de cours
URL : stockage ou actualisation de période de cours
Exemple :
external_term_key|name
testTerm1|Test Term 1
Tâche : désactivation d'une période de cours
URL : URL de suppression de période de cours
Exemple :
external_term_key
testTerm1
Nœuds
Tâche : création/mise à jour de nœuds
URL : stockage ou actualisation de nœuds
Exemple :
external_node_key|name
testNode1|Test Node 1
testNode2|Test Node 2
Tâche : désactivation de périodes de cours
URL : suppression de nœuds
Exemple :
external_node_key
testNode1
Associations de nœuds
Tâche : création/mise à jour/désactivation d'associations de cours à nœuds
URL : stockage/actualisation/suppression d'associations de cours
Exemple :
external_association_key|external_course_key|external_node_key
testCourseAssociation1|testCourse1|testNode1
testCourseAssociation2|testCourse2|testNode2
Tâche : création/mise à jour/désactivation d'utilisateurs dans les associations de nœuds
URL : stockage/actualisation/suppression d'associations d'utilisateurs
Exemple :
external_association_key|external_user_key|external_node_key
testUserAssociation1|testPerson1|testNode1
testUserAssociation2|testPerson2|testNode1
testUserAssociation3|testPerson1|testNode2
Tâche : création/mise à jour/désactivation du flux d'associations de communautés à nœuds
URL : stockage/actualisation/suppression d'associations de communautés
Exemple :
external_association_key|external_organization_key|external_node_key
testOrgAssociation1|testOrg1|testNode1
testOrgAssociation2|testOrg2|testNode2
Prise en charge des catégories
Tâche : création/mise à jour/désactivation du flux de catégories de cours
URL : stockage/actualisation/suppression de catégories de cours
Exemple :
external_category_key|title
testCourseCategory1|Course Category 1
testCourseCategory2|Course Category 2
Tâche : création/mise à jour/désactivation du flux de catégories de communautés
URL : stockage/actualisation/suppression de catégories de communautés
Exemple :
external_category_key|title
testOrgCategory1|Org Category 1
testOrgCategory2|Org Category 2
Tâche : création/mise à jour/désactivation du flux d'adhésion aux catégories de cours
URL : stockage/actualisation/suppression de l'adhésion aux catégories de cours
Exemple :
external_course_key|external_category_key|available_ind
testCourse1|testCourseCategory1|Y
testCourse2|testCourseCategory2|Y
testCourse3|testCourseCategory1|Y
Tâche : création/mise à jour/désactivation du flux d'adhésion aux catégories de communautés
URL : stockage/actualisation/suppression de l'adhésion aux catégories de communautés
Exemple :
external_organization_key|external_category_key|available_ind
testOrg1|testOrgCategory1|Y
testOrg2|testOrgCategory2|Y
testOrg3|testOrgCategory1|Y
Prise en charge parent-enfant
Ajoutez le champ master_course_key à un flux de cours si vous souhaitez instaurer une relation parent-enfant.
Vous devez créer des cours parent avant d'affecter des relations enfant.
Tâche : création d'une relation parent-enfant entre des cours
URL : stockage/actualisation de cours
Exemple :
external_course_key|course_id|course_name|master_course_key
testCourse1|TEST_COURSE_1|Test Course 1|
testCourse2|TEST_COURSE_2|Test Course 2|testCourse1
testCourse3|TEST_COURSE_3|Test Course 3|testCourse1
testCourse4|TEST_COURSE_4|Test Course 4|
testCourse5|TEST_COURSE_5|Test Course 5|testCourse4
Dans cet exemple, TEST_COURSE_2 et TEST_COURSE_3 sont les enfants du cours parent TEST_COURSE_1, contrairement à TEST_COURSE_4. Vous pouvez également exécuter un flux de cours enfant à l'écart d'un flux de cours dans lequel tous les cours contiennent une entrée pour la clé master_course_key appropriée. Utilisez le stockage de cours pour cette opération afin de conserver les cours précédemment enregistrés.
Copie/modèle de cours
Ajoutez le champ template_course_key au fichier source du cours lorsque vous souhaitez qu'un nouveau cours soit renseigné avec le contenu d'un cours maître. Exemple : tous les nouveaux cours de mathématiques doivent comprendre avant tout les supports d'un cours de mathématiques maître.
Exemple :
external_course_key|course_id|course_name|master_course_key|template_course_key
testCourse1|TEST_COURSE_1|Test Course 1||test_course_template1
testCourse2|TEST_COURSE_2|Test Course 2|testCourse1|
testCourse3|TEST_COURSE_3|Test Course 3|testCourse1|
testCourse4|TEST_COURSE_4|Test Course 4||test_course_template1
Pour comprendre la copie et les modèles d'un cours, reportez-vous à la section Créer des cours en copiant des cours existants.