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
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 de système d'informations pour les étudiants 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é).
- Sélectionnez Créer une intégration.
- Sélectionnez XML d'instantanés ou Fichier plat d'instantané.
- 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.
- Nom de l'intégration : sélectionnez XML d'instantanés ou Fichier plat d'instantané.
- Description (facultatif) : spécifiez une description de l'intégration. Par exemple : XML d'instantanés test ou Fichier plat d'instantané test
- 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é.
- Configurez l'état d'intégration :
- Inactif : l'intégration n'effectue aucun traitement.
- Actif : l'intégration effectue un traitement et met à jour les données Learn.
- Test : l'intégration effectue un traitement et ne met pas à jour Learn.
- 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.
- 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.
- 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.
- 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.
- Notez que vous pouvez avoir plusieurs types d'intégration, chacun traitant un sous-ensemble unique d'objets d'intégration disponibles.
- 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 système d'informations pour les étudiants, 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 à 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://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/store |
Cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/refresh |
Cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/refreshlegacy |
Cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/delete |
Association de cours - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/store |
Association de cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/refresh |
Association de cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/refreshlegacy |
Association de cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/delete |
Catégorie de cours - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/store |
Catégorie de cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/refresh |
Catégorie de cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/refreshlegacy |
Catégorie de cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/delete |
Adhésion à une catégorie de cours - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/store |
Adhésion à une catégorie de cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/refresh |
Adhésion à une catégorie de cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/refreshlegacy |
Adhésion à une catégorie de cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/delete |
Adhésion à un cours - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/store |
Adhésion à un cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/refresh |
Adhésion à un cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/refreshlegacy |
Adhésion à un cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/delete |
Association de normes de cours - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/store |
Association de normes de cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/refresh |
Association de normes de cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/refreshlegacy |
Association de normes de cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/delete |
Nœud hiérarchique - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/store |
Nœud hiérarchique - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/refresh |
Nœud hiérarchique - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/refreshlegacy |
Nœud hiérarchique - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/delete |
Association observateur - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/store |
Association observateur - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/refresh |
Association observateur - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/refreshlegacy |
Association observateur - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/delete |
Communauté - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/store |
Communauté - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/refresh |
Communauté - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/refreshlegacy |
Communauté - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/delete |
Association de communautés - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/store |
Association de communautés - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/refresh |
Association de communautés - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/refreshlegacy |
Association de communautés - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/delete |
Catégorie de communauté - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/store |
Catégorie de communauté - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/refresh |
Catégorie de communauté - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/refreshlegacy |
Catégorie de communauté - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/delete |
Adhésion à une catégorie de communauté - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/store |
Adhésion à une catégorie de communauté - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/refresh |
Adhésion à une catégorie de communauté - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/refreshlegacy |
Adhésion à une catégorie de communauté - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/delete |
Adhésion à une communauté - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/store |
Adhésion à une communauté - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/refresh |
Adhésion à une communauté - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/refreshlegacy |
Adhésion à une communauté - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/delete |
Personne - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/store |
Personne - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/refresh |
Personne - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/refreshlegacy |
Personne - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/delete |
Période de cours - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/store |
Période de cours - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/refresh |
Période de cours - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/refreshlegacy |
Période de cours - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/delete |
Association d'utilisateurs - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/store |
Association d'utilisateurs - Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/refresh |
Association d'utilisateurs - Actualisation complète via DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/refreshlegacy |
Association d'utilisateurs - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/delete |
Rôle secondaire de l'utilisateur dans l'établissement - Stockage | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/store |
Rôle secondaire de l'utilisateur dans l'établissement - Actualisation complète | https://<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 DSK | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/refreshlegacy |
Rôle secondaire de l'utilisateur dans l'établissement - Suppression | https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/delete |
Le type d'intégration Fichier plat de la structure de système d'informations pour les étudiants 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://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint |
Actualisation complète | https://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint/refresh |
Suppression uniquement | https://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint/delete |