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éesPrise en charge des fichiers plats d'instantanésPrise en charge des XML d'instantanés
UtilisateursOuiOui
CoursOuiOui
Adhésions
Inscriptions et affectations de personnel
OuiOui
Catégories du catalogueOuiOui
CommunautésOuiOui
ObservateursOuiOui
Rôles dans l'établissementOuiOui
NœudsOui 
Cours communsOui 
ConditionsOui 
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 (facultative) : saisissez ce que vous voulez pour décrire 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 par le nom d'utilisateur partagé

SHARED_PASSWORD par le mot de passe partagé

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

Replace ENDPOINT_URL par 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érationURL de point d'arrêt
Cours - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/store
Cours - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/refresh
Cours - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/refreshlegacy
Cours - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/delete
Association de cours - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/store
Association de cours - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/refresh
Association de cours - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/refreshlegacy
Association de cours - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/delete
Catégorie de cours - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/store
Catégorie de cours - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/refresh
Catégorie de cours - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/refreshlegacy
Catégorie de cours - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/delete
Adhésion à une catégorie de cours - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/store
Adhésion à une catégorie de cours - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/refresh
Adhésion à une catégorie de cours - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/refreshlegacy
Adhésion à une catégorie de cours - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/delete
Adhésion à un cours - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/store
Adhésion à un cours - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/refresh
Adhésion à un cours - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/refreshlegacy
Adhésion à un cours - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/delete
Association de normes de cours - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/store
Association de normes de cours - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/refresh
Association de normes de cours - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/refreshlegacy
Association de normes de cours - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/delete
Nœud hiérarchique - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/store
Nœud hiérarchique - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/refresh
Nœud hiérarchique - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/refreshlegacy
Nœud hiérarchique - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/delete
Association observateur - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/store
Association observateur - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/refresh
Association observateur - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/refreshlegacy
Association observateur - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/delete
Association - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/store
Association - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/refresh
Association - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/refreshlegacy
Association - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/delete
Association d'associations - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/store
Association d'associations - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/refresh
Association d'associations - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/refreshlegacy
Association d'associations - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/delete
Catégorie d'association - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/store
Catégorie d'association - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/refresh
Catégorie d'association - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/refreshlegacy
Catégorie d'association - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/delete
Adhésion à une catégorie d'association - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/store
Adhésion à une catégorie d'association - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/refresh
Adhésion à une catégorie d'association - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/refreshlegacy
Adhésion à une catégorie d'association - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/delete
Adhésion à une association - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/store
Adhésion à une association - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/refresh
Adhésion à une association - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/refreshlegacy
Adhésion à une association - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/delete
Personne - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/store
Personne - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/refresh
Personne - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/refreshlegacy
Personne - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/delete
Plage de dates - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/store
Plage de dates - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/refresh
Plage de dates - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/refreshlegacy
Plage de dates - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/delete
Association d'utilisateurs - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/store
Association d'utilisateurs - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/refresh
Association d'utilisateurs - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/refreshlegacy
Association d'utilisateurs - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/delete
Rôle secondaire de l'utilisateur dans l'établissement - Stockagehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/store
Rôle secondaire de l'utilisateur dans l'établissement - Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/refresh
Rôle secondaire de l'utilisateur dans l'établissement - Actualisation complète via DSKhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/refreshlegacy
Rôle secondaire de l'utilisateur dans l'établissement - Suppressionhttps://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/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érationPoint d'arrêt
Utiliser l'état de l'enregistrementhttps://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint
Actualisation complètehttps://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint/refresh
Suppression uniquementhttps://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint/delete

En savoir plus

Présentation du framework SIS

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