Il est important de noter que dans le présent document, l'utilisation du terme « instantané » se rapporte au processus général d'extraction de données ponctuelles du SIS stockées dans un fichier plat qui est ensuite consommé par Learn, et non le contrôleur de l'instantané.

Les instantanés permettent d'effectuer une intégration à l'aide de données ponctuelles approvisionnées par le SIS ; deux types d'intégration sont pris en charge (lire : formats de données) dans la structure SIS pour Instantané - XML d'instantanés et Fichier plat d'instantané (ou données délimitées). Le format Fichier plat d'instantané, qui est dorénavant pris en charge, reçoit les mises à jour pour prendre en charge les nouveaux objets de données. Le format XML d'instantanés reçoit uniquement les mises à jour de maintenance.

Le traitement applicable aux deux types d'intégration des instantanés est effectué via l'envoi d'un message HTTP du fichier de données au point d'accès approprié.


Prise en charge des données

Données prises en charge
Objet de données Prise en charge des fichiers plats d'instantanés Prise en charge des XML d'instantanés
Utilisateurs Oui Oui
Cours Oui Oui
Adhésions
Inscriptions et affectations de personnel
Oui Oui
Catégories du catalogue Oui Oui
Communautés Oui Oui
Observateurs Oui Oui
Rôles dans l'établissement Oui Oui
Nœuds Oui  
Cours communs Oui  
Conditions Oui  
Standard (en tant qu'attribut de cours) Oui  

Configuration requise

Capacité du SIS à générer des données formatées pour le type d'intégration choisi : XML d'instantanés ou Fichier plat d'instantané avec le délimiteur approprié.

Il est important de rappeler que le contrôleur d'instantané et le format de données XML d'instantanés ne doivent pas être privilégiés en matière d'intégration, car ils ne reçoivent que des mises à jour de maintenance. Ils ne bénéficient en effet pas de la prise en charge de nouveaux objets ni du développement de fonctionnalités. Chacun s'attend à ce qu'une annonce soit faite prochaine concernant l'arrêt de la prise en charge. Les clients disposeront de suffisamment de temps pour s'adapter.

Reportez-vous à la section consacrée aux exemples Enterprise 1.1 pour obtenir des exemples de données. Notez que le format de données est légèrement différent entre les deux versions d'Enterprise 1.1 (standard et Vista) prises en charge.

Configuration : Types d'intégration d'instantanés

Outre la connaissance des données impliquées dans toute intégration SIS, la configuration des types d'intégration d'instantanés nécessite de connaître les capacités et les points d'arrêt SIS afin de savoir si les objets de données pris en charge dans le type d'instantané sélectionné répondent aux objectifs d'intégration du client. Vous devez également connaître les différents formats de fichiers spécifiques. Vous pouvez créer une intégration d'instantané en suivant les étapes suivantes dans l'interface d'intégration SIS de l'administrateur système de Learn : Intégration de données > Intégrations des systèmes d'informations étudiants

Les étapes suivantes sont les mêmes pour les deux types d'intégration d'instantanés. La principale différence réside dans la sélection du type d'intégration selon que les données sont au format XML (choisir XML d'instantanés) ou délimitées (Fichier plat d'instantané).

  1. Sélectionnez Créer une intégration.
  2. Sélectionnez XML d'instantanés ou Fichier plat d'instantané.
  3. L'écran suivant vous présente les options modifiables pour la configuration :

    Pour effectuer une configuration avancée (mappage des données, par exemple), une intégration doit être à l'état de test ou être active.

    1. Nom de l'intégration : sélectionnez XML d'instantanés ou Fichier plat d'instantané.
    2. Description (facultatif) : spécifiez une description de l'intégration. Par exemple : XML d'instantanés test ou Fichier plat d'instantané test
    3. L'option Nom d'utilisateur partagé est utilisée pour les opérations de publication de données comme l'option Mot de passe partagé.
    4. Configurez l'état d'intégration :
      1. Inactif : l'intégration n'effectue aucun traitement.
      2. Actif : l'intégration effectue un traitement et met à jour les données Learn.
      3. Test : l'intégration effectue un traitement et ne met pas à jour Learn.
    5. Définissez les niveaux de verbosité du journal : pour les tests, nous vous recommandons de sélectionner Tous les messages de diagnostic et de débogage. Pour Actif, nous vous recommandons d'utiliser un paramètre inférieur, par exemple Erreurs uniquement ou Erreurs et avertissements.
    6. Sélectionnez ensuite la clé de source de données (DSK) à utiliser pour cette intégration. Vous pouvez choisir d'utiliser une clé de source de données existante spécifique, de créer une nouvelle clé ou d'utiliser la source de données fournie dans la source. Notez que dans tous les cas, vous devez créer une clé de source de données avant de pouvoir traiter les sources de données.
    7. Seule l'intégration Fichier plat d'instantané prend en charge la gestion des nœuds parents. Sélectionnez l'option appropriée pour atteindre les objectifs du client.
    8. Pour finir, sélectionnez les objets gérés par cette intégration et la méthode de gestion de la parité. En général, les valeurs par défaut sont suffisantes.
    9. Notez que vous pouvez avoir plusieurs types d'intégration, chacun traitant un sous-ensemble unique d'objets d'intégration disponibles.
    10. Validez votre sélection. Votre nouvelle intégration d'instantané apparaît alors dans la liste des intégrations.

Pour prendre en charge l'intégration d'instantané, il reste à configurer le système SIS ou à configurer une tâche batch ou cron côté serveur d'application pour publier les données sur Learn. Notez que les points d'arrêt des instantanés sont spécifiques à la tâche requise.

La publication sur Learn côté serveur d'application s'effectue en utilisant CURL ou une application similaire déclenchée par une tâche cron ou batch :

curl -k -w %{http_code} -H "Content-Type:text/plain" -u SHARED_USERNAME:SHARED_PASSWORD --data-binary @PATH_TO_TEST_FILE ENDPOINT_URL

Remplacez :

SHARED_USERNAME avec le nom d'utilisateur partagé

SHARED_PASSWORD avec le mot de passe partagé

PATH_TO_TEXT_FILE avec le chemin d'accès au fichier de données xml

Replace ENDPOINT_URL avec l'URL du point d'arrêt

Vous pouvez consulter la liste des points d'arrêt sur le serveur en accédant à la page Informations HTTP du menu contextuel de votre intégration de fichiers plats :

Administrateur système (Building Blocks) > Intégration de données > Intégrations des systèmes d'informations étudiants > (Menu contextuel de votre intégration) > Informations HTTP)

Si elles sont prises en charge par une application de niveau intermédiaire ou par le SIS, les données peuvent être envoyées directement au point d'arrêt en suivant le protocole ci-dessus.

Une fois l'opération précédente terminée et le SIS activé pour générer des données et les afficher ou les enregistrer dans un fichier en vue de les afficher dans Learn, vous devriez commencer à voir des journaux sur l'intégration.

Évaluez les données et déterminez si vous devez apporter des ajustements à l'aide des options Configuration avancée/Mappage de champ aux objets de données disponibles. Reportez-vous à la section relative au mappage de champ à la fin de la section consacrée aux exemples pour obtenir une description de cette fonctionnalité.

Pour en savoir plus sur le traitement des fichiers de données, reportez-vous à Automatisation du fichier plat d'instantané.


Intégrations d'instantanés

Les intégrations d'instantanés sont basées sur des ensembles de données qui répondent à des objectifs spécifiques, par exemple, pour gérer les utilisateurs ou les cours dans le système. Parmi les deux types d'intégration pris en charge, XML d'instantanés et Fichier plat d'instantané, le second est le plus à jour vis-à-vis des objets de données Learn pris en charge.

Comme pour tous les types d'intégration basées sur des fichiers (Instantané et Enterprise 1.1), il existe deux processus de consommation de données dans ces fichiers : l'utilisation de l'interface graphique de téléchargement d'un fichier source ou l'utilisation d'un transfert de données HTTP (par exemple : cURL). Dans le cas du transfert de données HTTP, une tâche cron ou batch peut être utilisée pour déclencher l'opération. En outre, si elles sont prises en charge par le SIS ou le niveau intermédiaire, un flux de données peut être envoyé directement.

Chaque opération est réalisée via un point d'arrêt spécifique. Ces points d'arrêt du serveur d'application sont accessibles via le lien Informations HTTP des intégrations accessible depuis le menu.


Points d'arrêt d'instantané

Points d'arrêt d'instantané des opérations pour fichiers plats

Utilisez ces informations pour configurer votre système SIS sur les fichiers source fichier plat d'instantané POST de cette intégration. Les objets stockés continueront d'exister et de conserver leurs données. Les objets supprimés sont retirés. Une actualisation complète supprimera tous les objets existants qui ne sont pas dans le fichier source. L'envoi d'un fichier d'un type d'objet spécifique sur un point d'arrêt non compatible échoue. Par exemple : la publication d'un fichier de données de cours au point d'arrêt Personne échoue.

La désactivation d'un cours désactive les adhésions correspondantes. Ce comportement est nouveau.

Vous trouverez une URL de point d'arrêt d'opération dans l'interface utilisateur Blackboard Learn. Accédez au panneau de configuration de l'administrateur > Intégration de données > Intégrations des systèmes d'informations étudiants. Localisez l'intégration, ouvrez le menu, puis sélectionnez Informations HTTP. Les URL de points d'arrêt d'intégration sont répertoriées.

Opération URL de point d'arrêt
Cours - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/course/store
Cours - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/course/refresh
Cours - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/course/refreshlegacy
Cours - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/course/delete
Association de cours - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/courseassociation/store
Association de cours - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/courseassociation/refresh
Association de cours - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/courseassociation/refreshlegacy
Association de cours - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/courseassociation/delete
Catégorie de cours - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategory/store
Catégorie de cours - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategory/refresh
Catégorie de cours - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategory/refreshlegacy
Catégorie de cours - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategory/delete
Adhésion à une catégorie de cours - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategorymembership/store
Adhésion à une catégorie de cours - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategorymembership/refresh
Adhésion à une catégorie de cours - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategorymembership/refreshlegacy
Adhésion à une catégorie de cours - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/coursecategorymembership/delete
Adhésion à un cours - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/membership/store
Adhésion à un cours - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/membership/refresh
Adhésion à un cours - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/membership/refreshlegacy
Adhésion à un cours - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/membership/delete
Association de normes de cours - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/standardsassociation/store
Association de normes de cours - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/standardsassociation/refresh
Association de normes de cours - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/standardsassociation/refreshlegacy
Association de normes de cours - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/standardsassociation/delete
Nœud hiérarchique - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/node/store
Nœud hiérarchique - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/node/refresh
Nœud hiérarchique - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/node/refreshlegacy
Nœud hiérarchique - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/node/delete
Association observateur - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/associateobserver/store
Association observateur - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/associateobserver/refresh
Association observateur - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/associateobserver/refreshlegacy
Association observateur - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/associateobserver/delete
Association - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/organization/store
Association - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/organization/refresh
Association - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/organization/refreshlegacy
Association - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/organization/delete
Association d'associations - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationassociation/store
Association d'associations - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationassociation/refresh
Association d'associations - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationassociation/refreshlegacy
Association d'associations - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationassociation/delete
Catégorie d'association - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategory/store
Catégorie d'association - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategory/refresh
Catégorie d'association - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategory/refreshlegacy
Catégorie d'association - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategory/delete
Adhésion à une catégorie d'association - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategorymembership/store
Adhésion à une catégorie d'association - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategorymembership/refresh
Adhésion à une catégorie d'association - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategorymembership/refreshlegacy
Adhésion à une catégorie d'association - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationcategorymembership/delete
Adhésion à une association - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationmembership/store
Adhésion à une association - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationmembership/refresh
Adhésion à une association - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationmembership/refreshlegacy
Adhésion à une association - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/organizationmembership/delete
Personne - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/person/store
Personne - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/person/refresh
Personne - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/person/refreshlegacy
Personne - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/person/delete
Plage de dates - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/term/store
Plage de dates - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/term/refresh
Plage de dates - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/term/refreshlegacy
Plage de dates - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/term/delete
Association d'utilisateurs - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/userassociation/store
Association d'utilisateurs - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/userassociation/refresh
Association d'utilisateurs - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/userassociation/refreshlegacy
Association d'utilisateurs - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/userassociation/delete
Rôle secondaire de l'utilisateur dans l'établissement - Stockage https:///webapps/bb-data-integration-flatfile-BB/endpoint/secondaryinstrole/store
Rôle secondaire de l'utilisateur dans l'établissement - Actualisation complète https:///webapps/bb-data-integration-flatfile-BB/endpoint/secondaryinstrole/refresh
Rôle secondaire de l'utilisateur dans l'établissement - Actualisation complète via DSK https:///webapps/bb-data-integration-flatfile-BB/endpoint/secondaryinstrole/refreshlegacy
Rôle secondaire de l'utilisateur dans l'établissement - Suppression https:///webapps/bb-data-integration-flatfile-BB/endpoint/secondaryinstrole/delete

Le type d'intégration Fichier plat de la structure SIS n'apporte aucun changement par rapport à l'ancienne intégration d'instantanés excepté l'ajout d'en-têtes aux nouveaux objets de données pris en charge. Pour en savoir plus, reportez-vous aux sections Format de données du fichier plat d'instantané et Exemples de fichiers plats d'instantanés.

Points d'arrêt des opérations d'instantané pour XML

Utilisez ces informations pour configurer le système SIS sur les fichiers source POST XML de l'intégration. Les objets stockés continueront d'exister et de conserver leurs données. Les objets supprimés sont retirés. Une actualisation complète supprimera tous les objets existants qui ne sont pas dans le fichier source. L'envoi d'un objet contenant un type d'objet incorrect échouera.

Opération Point d'arrêt
Utiliser l'état de l'enregistrement https:///webapps/bb-data-integration-ss-xml-BB/endpoint
Actualisation complète https:///webapps/bb-data-integration-ss-xml-BB/endpoint/refresh
Suppression uniquement https:///webapps/bb-data-integration-ss-xml-BB/endpoint/delete

En savoir plus

Présentation du cadre SIS

Présentation de la clé de source de données