Het is belangrijk om te weten dat in de context van dit document het gebruik van de term 'momentopname' verwijst naar het algemene proces van het ophalen van point-in-time gegevens uit het SIS om deze op te slaan in een plat bestand dat vervolgens wordt verwerkt.

Momentopname biedt de mogelijkheid van integratie met behulp van point-in-time gegevens zoals aangeleverd door het SIS met twee ondersteunde integratietypen (lees: gegevensindelingen) binnen het SIS Framework voor Momentopname: Momentopname-XML en Momentopname-bestand (of gescheiden gegevens). Het laatste integratietype, Momentopname-bestand, is de indeling van de toekomst en die wordt dan ook bijgewerkt voor ondersteuning van nieuwe gegevensobjecten. Momentopname-XML krijgt alleen nog onderhoudsupdates.

De verwerking voor beide integratietypen op basis van momentopnamen bestaat uit het via HTTP posten van het gegevensbestand naar het betreffende eindpunt.


Ondersteunde gegevens

Ondersteunde gegevens
Gegevensobject Ondersteuning voor Momentopname-bestand Ondersteuning voor Momentopname-XML
Gebruikers Ja Ja
Cursussen Ja Ja
Lidmaatschappen
(inschrijvingen en docententoewijzingen)
Ja Ja
Cataloguscategorieën Ja Ja
Organisaties Ja Ja
Waarnemers Ja Ja
Instellingsrollen Ja Ja
Knooppunten Ja  
Gecombineerde cursussen Ja  
Periodes Ja  
Normen (als een cursuskenmerk) Ja  

Vereisten

Mogelijkheid van het SIS om gegevens te genereren voor het gekozen integratietype: Momentopname-XML of Momentopname-bestand met het juiste scheidingsteken.

Nog een belangrijk punt: de Snapshot Controller of de gegevensindeling Momentopname-XML moet niet de eerste keuze zijn voor een integratie aangezien er alleen nog onderhoudsupdates worden uitgebracht en er geen ondersteuning voor nieuwe objecten is en er geen nieuwe functies meer worden ontwikkeld. De kans is groot dat er in de toekomst een aankondiging zal komen dat de ondersteuning helemaal gaat stoppen, uiteraard wel met voldoende tijd voor klanten om over te stappen naar een ander type integratie.

Raadpleeg de sectie met voorbeelden voor Enterprise 1.1 voor een uitvoerige beschrijving van het integratietype. Belangrijk hierbij is dat de gegevensindeling iets verschilt tussen de twee ondersteunde varianten van Enterprise 1.1 (Standard en Vista).

Configuratie: integratietypen met momentopnamen

Naast kennis van de gegevens die betrokken zijn bij een SIS-integratie, is voor de configuratie van de integratietypen met momentopnamen kennis vereist van de SIS-functies en eindpunten, met name om te bepalen of de gegevensobjecten die worden ondersteund in het geselecteerde type momentopname overeenkomen met de doelen die de klant heeft voor de integratie. Daarnaast is kennis van de specifieke bestandsindeling noodzakelijk. Je kunt een momentopname-integratie maken via de volgende stappen voor systeembeheerders in de gebruikersinterface van Learn voor SIS-integratie: Gegevensintegratie > Integraties van studenteninformatiesystemen

De volgende stappen zijn hetzelfde voor beide soorten momentopname-integraties, met als enige verschil de keuze van het integratietype: XML-gegevens (kies Momentopname-XML) of gescheiden tekens (Momentopname-bestand).

  1. Selecteer Integratie maken.
  2. Selecteer Momentopname-XML of Momentopname-bestand.
  3. Op het volgende scherm zie je de opties voor de configuratie die je kunt bewerken:

    Als je geavanceerde configuratie wilt uitvoeren (zoals gegevenstoewijzing), moet een integratie de status Bezig met testen of Actief hebben

    1. Integratienaam: voer Momentopname-XML of Momentopname-bestand in.
    2. Beschrijving (optioneel): voer tekst in om de integratie te beschrijven Bijvoorbeeld: Momentopname-XML testen of Momentopname-bestand testen.
    3. De waarde voor Gedeelde gebruikersnaam wordt gebruikt voor het posten van gegevens, net als Gedeeld wachtwoord
    4. Stel de integratiestatus in:
      1. Inactief: geen verwerking door integratie
      2. Actief: verwerking door integratie en Learn-gegevens worden bijgewerkt
      3. Bezig met testen: verwerking door integratie en Learn-gegevens worden niet bijgewerkt
    5. Stel het detailniveau van de logboekfunctie in. Voor testdoeleinden wordt aangeraden om Alle diagnose- en foutopsporingsberichten te selecteren. Voor de status Actief wordt het aanbevolen om een lagere instelling te gebruiken, zoals Alleen fouten of Fouten en waarschuwingen.
    6. Selecteer vervolgens de gegevensbronsleutel (DSK) die je wilt gebruiken voor deze integratie. Je kunt een specifieke bestaande DSK selecteren, een nieuwe sleutel maken of de gegevensbron gebruiken die in de feed is opgenomen. In alle gevallen moet er een DSK zijn gemaakt voordat de gegevensfeeds kunnen worden verwerkt.
    7. Het beheer van bovenliggende knooppunten wordt alleen ondersteund door Momentopname-bestand. Maak de juiste keuze op basis van de doelen die de klant heeft.
    8. Selecteer ten slotte de objecten die worden verwerkt via deze integratie en geef aan hoe pariteit moet worden afgehandeld. In de meeste gevallen zijn de standaardwaarden prima.
    9. Je kunt verschillende integratietypen gebruiken, die elk een unieke subset van beschikbare integratieobjecten verwerken.
    10. Selecteer Verzenden en de nieuwe Momentopname-integratie wordt toegevoegd aan de lijst met integraties.

Je moet nog één stap uitvoeren om de Momentopname-integratie te ondersteunen en dat is het configureren van het SIS-systeem voor het posten van gegevens naar Learn of het configureren van een cron- of batchtaak op de toepassingsserver voor het posten van de gegevens naar Learn. Momentopname-eindpunten zijn specifiek voor de vereiste taak die moet worden uitgevoerd.

Het posten van gegevens naar Learn door de toepassingsserver kan worden uitgevoerd met behulp van CURL of een vergelijkbare toepassing die wordt geactiveerd door een cron- of batchtaak:

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

Vervang:

SHARED_USERNAME door de gedeelde gebruikersnaam

SHARED_PASSWORD door het gedeelde wachtwoord

PATH_TO_TEXT_FILE door het pad naar het XML-gegevensbestand

Replace ENDPOINT_URL door de URL van het eindpunt.

Je kunt een lijst met de eindpunten op de server bekijken door naar de pagina HTTP-gegevens te gaan (via het contextmenu van de integratie Momentopname-bestand):

Systeembeheer (Building Blocks) > Gegevensintegratie > Integraties van studenteninformatiesystemen > (contextmenu van jouw integratie) > HTTP-gegevens)

Als de integratie wordt ondersteund door middleware of door het SIS, kunnen gegevens rechtstreeks naar het eindpunt worden gepost door het bovenstaande protocol te volgen.

Als deze stappen zijn voltooid en het SIS is ingeschakeld voor het genereren van gegevens en het posten of opslaan naar bestand voor posten naar Learn, moeten er logboeken worden aangemaakt voor de integratie.

Bekijk de gegevens en bepaal of je de beschikbare gegevensobjecten moet aanpassen met behulp van Geavanceerde configuratie/Veldtoewijzing. Zie de sectie over veldtoewijzing aan het einde van de sectie met voorbeelden voor een beschrijving van deze functionaliteit.

Zie Automatisering van Momentopname-bestand voor meer informatie over het verwerken van gegevensbestanden.


Momentopname-integraties

Momentopname-integraties zijn gebaseerd op sets met gegevens die voldoen aan specifieke voorwaarden, bijvoorbeeld voor het beheren van gebruikers of cursussen in het systeem. Van de twee ondersteunde typen, Momentopname-XML en Momentopname-bestand, kan alleen van Momentopname-bestand worden gezegd dat dit type het meest actueel is qua ondersteunde gegevensobjecten van Learn.

Net als bij alle op "bestanden gebaseerde" integratietypen (beide Momentopname-varianten en Enterprise 1.1) zijn er twee processen voor het benutten van gegevens in deze bestanden: via de optie Invoerbestand uploaden in de GUI of via een HTTP-gegevensoverdracht (bijvoorbeeld: cURL). In het geval van een HTTP-gegevensoverdracht kan een cron- of batchtaak worden gebruikt om de bewerking te activeren. Indien dit wordt ondersteund door het SIS of middleware kan een gegevensstream bovendien rechtstreeks worden gepost.

Elke bewerking wordt gerealiseerd via een bepaald eindpunt. Deze eindpunten voor de toepassingsserver zijn beschikbaar via de koppeling HTTP-gegevens in het menu van de integratie.


Momentopname-eindpunten

Eindpunten voor momentopnamebewerkingen voor plat bestand

Gebruik deze gegevens om het SIS in te stellen voor het publiceren van Momentopname-invoerbestanden naar de integratie. Opgeslagen objecten blijven behouden, evenals de bijbehorende gegevens. Verwijderde objecten worden verwijderd. Met Volledig vernieuwen worden alle bestaande objecten verwijderd die niet in het invoerbestand staan. Als er gegevens van een bepaald objecttype worden gepost naar een andersoortig eindpunt, mislukt de bewerking. Bijvoorbeeld: als je een gegevensbestand van een cursus post naar een Person-eindpunt, mislukt dit.

Als je een cursus uitschakelt, worden lidmaatschappen in die cursus ook uitgeschakeld. Dit is nieuw gedrag.

De URL van een eindpunt van een bewerking vind je ook in de gebruikersinterface van Blackboard Learn. Navigeer naar Configuratiescherm voor systeembeheer > Gegevensintegratie > Integraties van studenteninformatiesystemen. Zoek de integratie, open het menu en selecteer HTTP-gegevens. De URL's van het eindpunt van de integratie staan vermeld.

Bewerking URL van eindpunt
Cursus - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/store
Cursus - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/refresh
Cursus - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/refreshlegacy
Cursus - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/course/delete
Cursuskoppeling - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/store
Cursuskoppeling - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/refresh
Cursuskoppeling - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/refreshlegacy
Cursuskoppeling - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/courseassociation/delete
Cursuscategorie - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/store
Cursuscategorie - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/refresh
Cursuscategorie - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/refreshlegacy
Cursuscategorie - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategory/delete
Lidmaatschap cursuscategorie - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/store
Lidmaatschap cursuscategorie - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/refresh
Lidmaatschap cursuscategorie - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/refreshlegacy
Lidmaatschap cursuscategorie - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/coursecategorymembership/delete
Cursuslidmaatschap - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/store
Cursuslidmaatschap - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/refresh
Cursuslidmaatschap - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/refreshlegacy
Cursuslidmaatschap - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/membership/delete
Koppeling cursusstandaard - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/store
Koppeling cursusstandaard - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/refresh
Koppeling cursusstandaard - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/refreshlegacy
Koppeling cursusstandaard - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/standardsassociation/delete
Hiërarchieknooppunt - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/store
Hiërarchieknooppunt - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/refresh
Hiërarchieknooppunt - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/refreshlegacy
Hiërarchieknooppunt - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/node/delete
Waarnemerskoppeling - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/store
Waarnemerskoppeling - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/refresh
Waarnemerskoppeling - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/refreshlegacy
Waarnemerskoppeling - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/associateobserver/delete
Organisatie - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/store
Organisatie - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/refresh
Organisatie - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/refreshlegacy
Organisatie - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organization/delete
Organisatiekoppeling - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/store
Organisatiekoppeling - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/refresh
Organisatiekoppeling - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/refreshlegacy
Organisatiekoppeling - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationassociation/delete
Organisatiecategorie - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/store
Organisatiecategorie - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/refresh
Organisatiecategorie - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/refreshlegacy
Organisatiecategorie - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategory/delete
Lidmaatschap organisatiecategorie - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/store
Lidmaatschap organisatiecategorie - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/refresh
Lidmaatschap organisatiecategorie - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/refreshlegacy
Lidmaatschap organisatiecategorie - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationcategorymembership/delete
Organisatielidmaatschap - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/store
Organisatielidmaatschap - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/refresh
Organisatielidmaatschap - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/refreshlegacy
Organisatielidmaatschap - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/organizationmembership/delete
Persoon - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/store
Persoon - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/refresh
Persoon - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/refreshlegacy
Persoon - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/person/delete
Periode - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/store
Periode - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/refresh
Periode - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/refreshlegacy
Periode - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/term/delete
Gebruikerskoppeling - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/store
Gebruikerskoppeling - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/refresh
Gebruikerskoppeling - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/refreshlegacy
Gebruikerskoppeling - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/userassociation/delete
Secundaire instellingsrol van gebruiker - Store https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/store
Secundaire instellingsrol van gebruiker - Complete Refresh https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/refresh
Secundaire instellingsrol van gebruiker - Complete Refresh by DSK https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/refreshlegacy
Secundaire instellingsrol van gebruiker - Delete https://<servername.domain.edu>/webapps/bb-data-integration-flatfile-BB<DATABASEIDENTIFIER>/endpoint/secondaryinstrole/delete

Als je bekend bent met de oude variant van momentopnamen, zul je zien dat het type Momentopname-bestand van het SIS Framework een ongewijzigde indeling heeft, afgezien van de toevoeging van headers voor de nieuwe ondersteunde gegevensobjecten. Zie Gegevensindeling van Momentopname-bestand en Voorbeelden van Momentopname-bestanden voor meer informatie.

Eindpunten voor momentopnamebewerkingen voor XML

Gebruik deze gegevens om de POST XML-invoerbestanden voor de integratie van het SIS in te stellen. Opgeslagen objecten blijven behouden, evenals de bijbehorende gegevens. Verwijderde objecten worden verwijderd. Met Volledig vernieuwen worden alle bestaande objecten verwijderd die niet in het invoerbestand staan. Het publiceren van een object met een onjuist objecttype is niet mogelijk.

Bewerking Eindpunt
Recordstatus gebruiken https://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint
Volledig vernieuwen https://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint/refresh
Alleen verwijderen https://<servername.domain.edu>/webapps/bb-data-integration-ss-xml-BB<DATABASEIDENTIFIER>/endpoint/delete

Meer informatie

Overzicht van SIS Framework

Overzicht van gegevensbronsleutels