Dit artikel beschrijft de import. De exports van deze koppeling, zoals de roosterpublicatie en de export van groepen, staan in het artikel Export - Osiris 1.
Inleiding
De koppeling tussen Osiris 1 en Xedule zorgt ervoor dat de onderwijsadministratie van Osiris de basis vormt voor het plannen en roosteren in Xedule, en dat het gemaakte rooster daarna weer in de agenda’s van Osiris zichtbaar wordt. De uitwisseling loopt in twee richtingen: vier imports halen opleidingen, cursussen, groepen en studenten op uit Osiris, en twee exports sturen het rooster en – voor groepen waarvan Xedule de bron is – de groepen met hun deelnemers terug.
De uitwisseling vindt plaats per organisatorische eenheid en per cursusjaar. Xedule geeft bij elke aanroep de naam van de eenheid waarin u werkt en het jaar van de openstelling mee; Osiris levert alleen de gegevens die daarbij horen. Er gaan bij de imports geen basisgegevens van Xedule naar Osiris: alle wijzigingen die u doorvoert, landen in de basisdata van Xedule.
Dit document beschrijft welke gegevens worden opgehaald, hoe ze in Xedule terechtkomen, wat u daarvoor in beide systemen moet inrichten, en hoe u de imports en exports uitvoert.
Randvoorwaarden en functionele eisen
Technische randvoorwaarden
- De module Osiris is voor uw omgeving geactiveerd. Dat gebeurt door Xedule, op aanvraag.
- Er is een webserviceadres (endpoint) van de Osiris-omgeving beschikbaar, plus een sleutel (token) die door Osiris wordt gegenereerd. Beide worden op de configuratiepagina vastgelegd (paragraaf “Verbinding en selecties”).
- Xedule leidt uit dat ene adres zelf de twee routes af die Osiris gebruikt: het ophalen van gegevens loopt via de route voor gegevensservices, het roosterbericht via de route voor berichtverwerking. U hoeft daarvoor niets extra’s in te richten.
- De sleutel wordt versleuteld opgeslagen en is voor andere gebruikers niet zichtbaar. Alleen de functioneel beheerder kan hem vastleggen of vervangen.
- In Osiris is de toegang tot de servicepaden opengezet en zijn de generieke services aangezet die de koppeling gebruikt (zie hieronder).
De koppeling gebruikt de volgende services van Osiris. Staat er één niet open, dan werkt het bijbehorende onderdeel niet.
| Service | Waarvoor de koppeling hem gebruikt |
|---|---|
| /generiek/referentie/opleiding/ | Ophalen van de opleidingen. |
| /generiek/referentie/toetsvorm/ | Ophalen van de referentietabel met toetsvormen. |
| /generiek/referentie/werkvormtype/ | Ophalen van de referentietabel met werkvormtypen. |
| /generiek/cursus/zoek/ | Opzoeken van de cursussen van het cursusjaar. |
| /basis/cursussen/ | Ophalen van de details van één cursus, inclusief de werkvormen en toetsen. |
| /generiek/studentgroep/ | Ophalen van de studentgroepen (GET) en terugschrijven van groepen waarvan Xedule de bron is (POST). |
| /generiek/student/zoek/ | Ophalen van de studenten. |
| /generiek/student/opleiding/ | Ophalen van de opleidingsinschrijvingen van studenten. |
| /generiek/student/groep/ | Ophalen van de groepslidmaatschappen van studenten. |
| /generiek/student/cursus/ | Ophalen van de cursusinschrijvingen van studenten. |
Inrichting in Osiris
- De organisatorische eenheid van Xedule komt in Osiris overeen met het aggregaatveld. Aan de Osiris-zijde is de maximale lengte daarvan 15 tekens; voor een afspraaktype is dat 12 tekens.
- Er is een cursusjaar ingericht dat overeenkomt met het jaar van de openstelling in Xedule. Loopt in Osiris het jaar 2025-2026, dan hoort daar in Xedule de openstelling met beginjaar 2025 bij.
- Alle opleidingscodes die worden aangeleverd zijn uniek.
- Bij de studentgroepen is het externe type gevuld. Daaruit leidt Xedule af of het om een klas of om een lesgroep gaat. Is dit veld leeg, dan breekt de groepenimport af (paragraaf “Foutafhandeling en meldingen”).
- De standaardselecties waarmee de koppeling zoekt, bestaan en leveren de gewenste gegevens. Welke namen dat zijn, legt u in Xedule vast (paragraaf “Verbinding en selecties”); ze worden tijdens de implementatie afgestemd.
Inrichting in Xedule
- Er is een openstelling voor het cursusjaar waarin u importeert, met de perioden en weken die u wilt gebruiken. De imports leggen hun gegevens altijd vast binnen dat jaar.
- De referentie van een groep bestaat uit de faculteitscode, de groepscode en het cursusjaar, gescheiden door het teken #. Bijvoorbeeld: MBO#GAR014E#2025. De groepenimport vult deze referentie zelf; importeert u geen groepen, dan moet u hem handmatig vullen, omdat de roosterpublicatie hem nodig heeft.
- Een student heeft één uniek studentnummer, volgt minimaal één opleiding, en is nooit gelijktijdig lid van twee groepen van het type klas.
- Het leeractiviteittype waarop Osiris bepaalt of aanwezigheidsregistratie nodig is, wordt in Xedule met hoofdletters geschreven in de kolom Naam — dus LES.
- Medewerkers die als contactpersoon van een cursus aan een onderwijsproduct moeten worden gekoppeld, staan met dezelfde naam in de basisdata van Xedule.
Autorisaties bij de eerste groepenimport
Groepen krijgen bij de allereerste import de teamautorisaties van de gebruiker die de import uitvoert. Latere imports, handmatig of via een geplande taak, overschrijven die autorisaties niet meer. Bepaal daarom vooraf wat u wilt:
- Wilt u geen teamautorisaties op de nieuwe groepen, laat de eerste import dan uitvoeren door een gebruiker die op dat moment geen teamautorisaties heeft.
- Wilt u de autorisaties juist wel meekrijgen, laat de eerste import dan uitvoeren door een gebruiker die precies de teams heeft die u aan de groepen wilt hangen.
De configuratiepagina
De instellingen van de koppeling staan onder Beheer, op de configuratiepagina van Osiris. Het bovenste deel geldt voor de hele organisatie en dus over alle organisatorische eenheden heen. U hebt schrijfrechten op het beheer van de configuratie nodig om iets te kunnen wijzigen; onderaan staan de knoppen Opslaan en Reset, waarbij Reset de standaardinstellingen terugzet.
Verbinding en selecties
| Instelling | Waarde / voorbeeld | Toelichting |
|---|---|---|
| Endpoint | Het webserviceadres van uw Osiris-omgeving | Wordt gecontroleerd op een geldig webadres. Uit dit ene adres leidt Xedule zelf de route voor gegevens en de route voor het roosterbericht af. |
| Token | De sleutel uit Osiris | Wordt afgeschermd ingevoerd en is daarna niet meer leesbaar. Laat u het veld leeg bij het opslaan, dan blijft de bestaande sleutel staan. |
| Selectie generiek referentie opleiding | XEDULE.OPLEIDING | De standaardselectie waarmee de opleidingen worden opgehaald. |
| Selectie generiek cursus zoek | XEDULE.CURSUS | De standaardselectie waarmee de cursussen van het jaar worden gezocht. |
| Selectie generiek groep | XEDULE.SGROEP | De standaardselectie waarmee de studentgroepen worden opgehaald. |
| Selectie generiek student zoek | XEDULE.STUDENT.OOK | De standaardselectie waarmee de studenten worden opgehaald. |
| Selectie generiek student opleiding | XEDULE.STUDENT.OPLEIDING | De selectie voor de opleidingsinschrijvingen. Wijkt u hiervan af, dan moet Osiris in zijn eigen standaardselectie de aanvullende selectie meenemen. |
| Selectie generiek student cursus | XEDULE.STUDENT.CURSUS | De selectie voor de cursusinschrijvingen, met dezelfde kanttekening als hierboven. |
| Selectie generiek student groep | XEDULE.STUDENT.GROEP | De selectie voor de groepslidmaatschappen. |
| Gebruikersnaam overnemen | Aan of uit; standaard aan | Staat het vinkje aan, dan wordt de gebruikersnaam van de student gevuld met het e-mailadres uit Osiris. Staat het uit, dan blijft de gebruikersnaam leeg en komt het veld ook niet in de vergelijking voor — handig wanneer de inlognaam elders wordt bepaald. |
Werken met de importtabbladen
De imports staan onder het importtabblad, in een eigen menugroep voor Osiris. De groep bevat vier tabbladen, elk met een eigen autorisatie: u ziet alleen de tabbladen waarvoor u rechten hebt, en u kunt alleen doorvoeren waar u schrijfrechten hebt. Zonder schrijfrecht is het tabblad wel te bekijken, maar niet door te voeren.
Opbouw en werking van een tabblad
Alle vier de tabbladen werken op dezelfde manier. U maakt in het tabblad zelf geen keuzes over jaar of eenheid: de import gebruikt altijd de openstelling en de organisatorische eenheid waarin u op dat moment werkt. Het cursusjaar dat aan Osiris wordt meegegeven, is het jaar waarin die openstelling begint.
De drie stappen die elk importtabblad doorloopt.
Zolang er nog niets is opgehaald, toont het tabblad de mededeling dat er geen gegevens zijn en dat u op Verversen moet drukken. Tijdens het ophalen verschijnt een laadmelding; bij grote aantallen kan dit even duren, omdat de gegevens in blokken van duizend records worden opgehaald totdat Osiris aangeeft dat er niets meer volgt.
Daarna verschijnt de vergelijking: links de gegevens zoals Osiris ze aanlevert, rechts de gegevens zoals ze nu in Xedule staan. Het eerste tabblad van die vergelijking is een overzicht met de aantallen per gegevensgroep; daarna volgt per gegevensgroep een eigen tabblad. Vervolgens bepaalt u per gegevensgroep wat er gebeurt, met een van de drie doorvoerknoppen uit de volgende paragraaf. De richting is altijd van Osiris naar Xedule; via deze schermen kunt u niets terugschrijven naar Osiris.
De drie doorvoerknoppen
Een import schrijft nooit rechtstreeks weg. Nadat de gegevens zijn opgehaald, toont Xedule een vergelijking: links de gegevens zoals het bronsysteem ze aanlevert, rechts dezelfde gegevens zoals ze op dat moment in Xedule staan. Pas wanneer u op een doorvoerknop drukt, verandert er iets in Xedule. Welke knop u kiest, bepaalt hoe ver dat doorvoeren gaat.
Elke import doorloopt dezelfde vier stappen; alleen de laatste stap wijzigt gegevens.
Er zijn drie knoppen. Ze werken in alle importkoppelingen op dezelfde manier en gaan altijd één kant op: van het bronsysteem naar Xedule. Via deze schermen wordt er nooit iets naar het bronsysteem teruggeschreven.
| Pictogram | Knop | Wat de knop doet | Wanneer u die kiest |
|---|---|---|---|
| bijwerken | Werkt alleen de regels bij die zowel in het bronsysteem als in Xedule bestaan en waarvan een of meer waarden verschillen. Er wordt niets toegevoegd en niets verwijderd. | Als u alleen wijzigingen op bestaande gegevens wilt overnemen en bewust nog geen nieuwe objecten in Xedule wilt laten ontstaan. | |
| toevoegen en bijwerken | Doet hetzelfde als bijwerken en maakt daarnaast de regels aan die alleen in het bronsysteem voorkomen. Er wordt niets verwijderd. | De gebruikelijke keuze voor een reguliere import gedurende het jaar. | |
| toevoegen, bijwerken en verwijderen | Doet hetzelfde als toevoegen en bijwerken en trekt daarnaast de geldigheid in van de objecten die alleen nog in Xedule bestaan. | Alleen wanneer het bronsysteem voor deze gegevensgroep volledig leidend is en de aanlevering compleet is. |
Er is geen knop waarmee u uitsluitend toevoegt: bij elke knop die toevoegt, worden bestaande regels ook bijgewerkt.
Het resultaat van elke knop, per soort verschil tussen beide kanten.
Welke velden worden overgenomen
Bij een bijwerking worden niet alle velden overschreven, maar alleen de velden die daadwerkelijk verschillen; regels die in het geheel niet verschillen worden overgeslagen. Welke velden worden vergeleken, ligt per gegevensgroep vast: dat zijn precies de velden die in de vergelijking naast elkaar worden getoond. Velden die niet in de vergelijking voorkomen, worden door een import dus nooit overschreven.
Wat verwijderen precies doet
Verwijderen is geen harde verwijdering. Xedule trekt de geldigheid van het object in voor het tijdvak waarin u werkt; het object zelf en zijn historie blijven bestaan. In de praktijk betekent dat bijvoorbeeld dat een medewerker voor dat tijdvak uit dienst wordt gezet, een student in dat tijdvak niet meer studeert, een faciliteit in dat tijdvak niet meer geldig is, of dat een relatie tussen twee objecten voor dat tijdvak vervalt. Een groep is de uitzondering: valt de periode van de groep volledig binnen het tijdvak, dan wordt de groep zelf opgeruimd.
- Alleen gegevens die per tijdvak geldig zijn, kunnen op deze manier worden ingetrokken. Gegevenssoorten zonder tijdvak worden door de verwijdervariant ongemoeid gelaten.
- De knop kijkt niet naar de herkomst van een object. Objecten die handmatig in Xedule zijn aangemaakt en die niet in de aanlevering voorkomen, worden dus ook ingetrokken — tenzij de koppeling ze via een vast filter buiten de vergelijking houdt.
- Er wordt niet gecontroleerd of het object elders nog in gebruik is. Een object dat nog in het rooster of de jaarplanning voorkomt, wordt evengoed ingetrokken.
Alleen bij deze variant vraagt Xedule vooraf om een bevestiging. Het doorvoeren zelf gebeurt in één handeling: gaat er iets mis, dan blijven de gegevens in Xedule zoals ze waren.
Hoe een regel links aan een regel rechts wordt gekoppeld
Of een regel als nieuw, als gewijzigd of als alleen in Xedule wordt gezien, hangt af van de manier waarop beide kanten aan elkaar worden gekoppeld. Xedule gebruikt daarvoor in de eerste plaats de referentie uit het bronsysteem die bij het Xedule-object is vastgelegd. Is die niet gevuld, dan valt de vergelijking terug op de natuurlijke sleutel van het object: bijvoorbeeld het personeelsnummer van een medewerker, de code van een student of leeractiviteit, of de combinatie van code, periode en type bij een groep. Hoofdletters spelen daarbij geen rol.
Dit verklaart de twee situaties die het vaakst tot onverwachte uitkomsten leiden. Wijzigt in het bronsysteem de sleutel van een object waarvan in Xedule nog geen referentie is vastgelegd, dan ziet Xedule dat als een nieuw object naast het bestaande. En heeft een handmatig aangemaakt Xedule-object dezelfde sleutel als een aangeleverd object, dan worden beide als één regel behandeld en wordt het handmatige object met de aangeleverde waarden bijgewerkt.
Waarop een knop wordt toegepast
Een knop werkt op alle regels van de gegevensgroep die op dat moment geopend is, en niet op een selectie; er is geen aanvinkmogelijkheid per regel. Wel kan de lijst worden gefilterd op het soort verschil — alles, alleen links, alleen rechts, in beide, of in beide maar ongelijk — en werkt de knop daarna alleen op de regels die het filter overlaat. Wordt de knop op het overzichtstabblad gebruikt, dan geldt de keuze voor alle gegevensgroepen van die import tegelijk.
Dezelfde keuze in een geplande taak
Wordt de import als geplande taak uitgevoerd, dan vervalt de vergelijkingsstap en ligt de keuze vooraf vast. Per gegevensgroep zijn dezelfde drie mogelijkheden in te stellen, aangevuld met de mogelijkheid die gegevensgroep over te slaan. Is er voor een taak niets ingericht, dan geldt de ruimste variant en wordt er dus ook verwijderd. Richt een geplande taak daarom altijd bewust in, en werk in de beginperiode handmatig tot de gegevensstroom stabiel is.
De tabbladen en hun gegevensgroepen
De gegevensgroepen in de derde kolom zijn de onderdelen die u binnen dat tabblad afzonderlijk kunt vergelijken en doorvoeren.
| Tabblad | Wat het ophaalt | Gegevensgroepen in de vergelijking |
|---|---|---|
| Opleidingen | De opleidingen uit de referentietabel van Osiris. | Opleidingen |
| Cursussen | De cursussen met hun werkvormen en toetsen. | Onderwijsproducttypes; onderwijsproducten; leeractiviteittypes; leeractiviteiten; toetsactiviteittypes; toetsactiviteiten; toetsen; toets extra gegevens |
| Groepen | De studentgroepen. | Groepen |
| Studenten | De studenten met hun relaties. | Studenten; volgt opleidingen; volgt onderwijsproducten; lid van groep |
Twee gegevensgroepen kennen een vast filter, dat u zelf niet kunt aanpassen. Groepen waarvan Xedule de bron is, blijven volledig buiten de vergelijking op het tabblad Groepen (paragraaf “Export van groepen”). En bij de studentrelaties worden lidmaatschappen van zulke brongroepen overgeslagen, net als lidmaatschappen van groepen waarvan de referentie met g# begint — dat zijn groepen die door een andere koppeling zijn aangemaakt.
Volgorde van de imports
De imports bouwen op elkaar voort: latere imports zoeken objecten op die door een eerdere import moeten zijn aangemaakt. Houd daarom de onderstaande volgorde aan.
Onderlinge afhankelijkheid en aan te houden volgorde van de vier imports.
- Werk de opleidingen bij vóór de cursussen. De cursussenimport zoekt zelf geen opleidingen op, maar de studentenimport verderop heeft zowel de opleidingen als de cursussen nodig; door deze volgorde aan te houden staat alles op tijd klaar.
- Studenten komen als laatste: die import zoekt de opleiding, het onderwijsproduct en de groep op waaraan de student gekoppeld moet worden.
- Ontbreekt bij de studentenimport de opleiding, dan maakt Xedule er zelf een aan met alleen de code — zonder naam, zonder niveau en met duur nul. Ontbreekt de groep, dan ontstaat een groep die altijd als klas wordt aangemerkt en waarvan de omschrijving en het deelnemersaantal leeg blijven. Importeer opleidingen en groepen daarom eerst, ook al is het technisch niet verplicht.
- Ontbreekt bij de studentenimport het onderwijsproduct van een cursus, dan wordt die inschrijving stilzwijgend overgeslagen: er ontstaat geen minimaal onderwijsproduct.
Filters bij de relatie student–onderwijsproduct
Bij de gegevensgroep waarin studenten aan onderwijsproducten worden gekoppeld, zijn onder de filterknop twee datumfilters beschikbaar. Het filter op de datum van het onderwijsproduct toont alleen relaties waarvan het onderwijsproduct op of na de opgegeven datum is gewijzigd; dat is bruikbaar om een grote lijst terug te brengen tot de recent toegevoegde producten. Het filter op de datum van de student werkt op dezelfde manier, maar heeft in de praktijk beperkte waarde: de wijzigingsdatum van de student verandert niet wanneer alleen zijn relatie met een onderwijsproduct wijzigt.
Uitvoeren via een geplande taak
Alle vier de imports kunnen ook als geplande taak worden uitgevoerd, evenals de publicatie van het rooster. De groepenexport is dat niet: die start u altijd handmatig. Bij een geplande taak vervalt de vergelijkingsstap en wordt de vooraf ingestelde verwerkingsactie zonder tussenkomst uitgevoerd. De vier imports draaien op jaarniveau, de roosterpublicatie op weekniveau.
Het is aan te bevelen om in het begin handmatig te werken en pas op geplande taken over te gaan wanneer de gegevensstroom stabiel is. Houd daarbij ook de waarschuwing over de teamautorisaties in gedachten (paragraaf “Autorisaties bij de eerste groepenimport”): ook een geplande taak die de groepen als eerste importeert, bepaalt daarmee de autorisaties.
Wat er per import wordt opgehaald en verwerkt
Alle imports halen hun gegevens op bij het ingestelde endpoint, waarbij de naam van de organisatorische eenheid, het cursusjaar en de bijbehorende standaardselectie als filter worden meegegeven. In de tabellen hieronder staat per gegeven de exacte externe veldnaam, de bestemming in Xedule en de verwerkingslogica.
Xedule legt bij elk geïmporteerd object een referentie vast. Daaraan herkent een volgende import hetzelfde object terug, ook als de naam of de code inmiddels is gewijzigd.
De referentie die per soort object wordt vastgelegd.
Opleidingen
De opleidingen worden opgehaald uit de referentietabel van Osiris, met het adres /generiek/referentie/opleiding/. Alleen opleidingen waarvan de geldigheid het cursusjaar raakt, worden aangeboden.
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| opleiding | De code van de opleiding. | Opleiding (code en referentie) | Wordt zowel als code als als referentie vastgelegd. De referentie is waarop een volgende import en de studentenimport de opleiding terugvinden. |
| naam_nl | De naam van de opleiding. | Opleiding (naam) | Wordt ongewijzigd overgenomen. |
| topl_omschrijving_nls | De omschrijving van het opleidingstype. | Opleiding (omschrijving) | — |
| crebonummer | Het crebonummer. | Opleiding (crebonummer) | — |
| niveau | Het niveau van de opleiding. | Opleiding (niveau) | Is de waarde leeg, dan wordt niveau 1 vastgelegd. |
| leerweg | De leerweg van de opleiding. | Opleiding (type) | Bevat de waarde bbl, dan wordt het type BBL; in alle andere gevallen, ook bij een lege waarde, wordt het BOL. Hoofdletters spelen daarbij geen rol. |
| nominale_studieduur | De nominale studieduur in maanden. | Opleiding (duur in jaren) | Wordt door twaalf gedeeld en op hele jaren afgerond; een lege waarde wordt één jaar. Let op: er wordt gewoon afgerond en niet naar boven, dus dertien maanden wordt één jaar. |
| ingangsdatum | Begin van de geldigheid. | Opleiding (wordt gegeven op) | Samen met de afloopdatum omgezet naar de weken binnen het cursusjaar. Is de datum leeg, dan geldt het begin van het jaar. |
| afloopdatum | Einde van de geldigheid. | Opleiding (wordt gegeven op) | Is de datum leeg, dan geldt het einde van het jaar. Opleidingen die volledig buiten het cursusjaar vallen, worden niet aangeboden. |
Cursussen, werkvormen en toetsen
Deze import doet vier uitvragen: eerst de referentietabellen met toetsvormen en werkvormtypen, dan de cursussen van het cursusjaar via /generiek/cursus/zoek/, en daarna per gevonden cursus de details via /basis/cursussen/. In die details zitten de werkvormen en de toetsen van die cursus. De referentietabellen worden opgehaald maar niet als filter gebruikt: Osiris 1 kent geen selectie op wat wel of niet in het rooster hoort, dus alle werkvormen en alle toetsen van een cursus komen mee.
De structuur uit Osiris — een cursus die uit werkvormen en toetsen bestaat — wordt in Xedule nagebouwd als een onderwijsproduct dat is opgebouwd uit onderliggende onderwijsproducten.
De opbouw van een cursus zoals die in de basisdata van Xedule terechtkomt.
De cursus
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| cursus | De cursuscode. | Onderwijsproduct (code) | Samengevoegd met het collegejaar tot één code, gescheiden door een liggend streepje. |
| collegejaar | Het collegejaar van de cursus. | Onderwijsproduct (code) | Tweede deel van de code. |
| korte_naam_nl | De korte naam van de cursus. | Onderwijsproduct (naam) | — |
| categorie | De categorie van de cursus. | Onderwijsproduct (omschrijving) | De vier velden categorie, cursustype, minimum_punten en maximum_punten worden achter elkaar in de omschrijving gezet, gescheiden door liggende streepjes. |
| cursustype | Het type cursus. | Onderwijsproduct (omschrijving) | Zie hierboven. |
| minimum_punten | Het minimum aantal punten. | Onderwijsproduct (omschrijving) | Zie hierboven. |
| maximum_punten | Het maximum aantal punten. | Onderwijsproduct (omschrijving) | Zie hierboven. |
| curs_id | De technische identificatie van de cursus. | Onderwijsproduct (referentie) | Vastgelegd als c# gevolgd door het id. |
| contactpersoon | De contactpersoon van de cursus. | Onderwijsproduct (eigenaar) | Er wordt in Xedule een medewerker met dezelfde naam gezocht. Wordt die niet gevonden, dan blijft de eigenaar leeg; daar volgt geen melding op. |
Het onderwijsproduct krijgt het onderwijsproducttype Cursus en wordt beschikbaar gesteld voor het hele cursusjaar. Bestaat dat type nog niet, dan maakt de import het aan.
De werkvormen
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| werkvorm | De code van de werkvorm. | Onderwijsproduct en leeractiviteit (code) | De code wordt samengesteld uit de cursuscode, de aanduiding voltijd of deeltijd, de werkvormcode en het collegejaar, gescheiden door liggende streepjes. |
| voltijd_deeltijd | Voltijd- of deeltijdvariant. | Onderwijsproduct en leeractiviteit (code) | Tweede deel van de code. |
| werkvorm_omschrijving_nl | De omschrijving van de werkvorm. | Onderwijsproduct (naam) | — |
| toelichting | De toelichting bij de werkvorm. | Onderwijsproduct en leeractiviteit (opmerking) | Komt bij beide objecten in de opmerking te staan. |
| cwer_id | De technische identificatie van de werkvorm. | Onderwijsproduct (referentie) | Vastgelegd als w# gevolgd door het id. |
| werkvormtype | Het type werkvorm. | Leeractiviteittype | Er wordt een leeractiviteittype met deze naam gezocht. Bestaat het nog niet, dan wordt het aangemaakt en voor het cursusjaar geldig gemaakt. Let op de schrijfwijze: het type wordt letterlijk overgenomen, dus een afwijkende spelling in Osiris levert een extra type op. |
De leeractiviteit krijgt een vaste vulling die niet uit Osiris komt: de kleur blauw, maximaal dertig studenten, en een duur van één roostereenheid. De werkelijke contactduur uit Osiris wordt in Osiris 1 niet meegenomen; corrigeer de duur daarom in de basisdata wanneer die per werkvorm verschilt. Elke werkvorm wordt als onderwijsproduct onder de cursus gehangen.
De toetsen
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| toets | De code van de toets. | Toets (code) | De code wordt samengesteld uit de cursuscode, de aanduiding voltijd of deeltijd, de toetscode en het collegejaar. |
| voltijd_deeltijd | Voltijd- of deeltijdvariant. | Toets (code) | Tweede deel van de code. |
| omschrijving_nl | De omschrijving van de toets. | Toets (naam) | — |
| ctoe_id | De technische identificatie van de toets. | Toets (referentie) | Vastgelegd als t# gevolgd door het id. |
| toetsvorm | De vorm van de toets. | Toets (extra gegeven Vorm) | Alleen vastgelegd wanneer het veld gevuld is. De waarde wordt als keuzewaarde onder het extra gegeven Vorm aangemaakt zodra die nog niet bestaat. |
Bij elke toets hoort een toetsactiviteit met het type Toets. Ook die krijgt een vaste vulling: de kleur blauw, een ruim maximum aan studenten en een duur van zestig minuten. Wijkt de werkelijke toetsduur daarvan af, pas die dan in de basisdata aan.
Groepen
De studentgroepen worden opgehaald met het adres /generiek/studentgroep/. De uitvraag luidt: geef alle groepen waarvan de geldigheid binnen het cursusjaar valt, binnen de opgegeven organisatorische eenheid. Groepen die volledig buiten het jaar vallen, worden niet aangeboden.
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| groep | De code van de groep. | Groep (code) | Wordt ongewijzigd overgenomen en vormt samen met de faculteit en het jaar de referentie. |
| omschrijving | De omschrijving van de groep. | Groep (naam) | — |
| faculteit | De faculteit waaronder de groep valt. | Groep (referentie) | Eerste deel van de referentie: faculteit, groepscode en cursusjaar, gescheiden door het teken #. |
| aantal_actuele_deelnemers | Het actuele aantal deelnemers. | Groep (aantal studenten) | Vervangt het eerder gebruikte totaalaantal studenten. |
| tgro_extern_type | Het externe type van de groep. | Groep (type) | Bevat de waarde de tekst klas, dan wordt het type klas; in alle andere gevallen lesgroep. Hoofdletters spelen geen rol. Is het veld leeg, dan breekt de import af (paragraaf “Foutafhandeling en meldingen”). |
| ingangsdatum | Begin van de geldigheid. | Groep (beschikbaar op) | Samen met de afloopdatum omgezet naar de weken binnen het cursusjaar. Leeg betekent: vanaf het begin van het jaar. |
| afloopdatum | Einde van de geldigheid. | Groep (beschikbaar op) | Leeg betekent: tot het einde van het jaar. |
Groepen waarvan Xedule de bron is, blijven volledig buiten deze vergelijking. Die groepen beheert u in Xedule zelf en exporteert u naar Osiris (paragraaf “Export van groepen”).
Studenten en studentrelaties
Deze import doet vier uitvragen: de studenten zelf via /generiek/student/zoek/, en daarna hun opleidingsinschrijvingen, groepslidmaatschappen en cursusinschrijvingen via de bijbehorende adressen. De uitvraag luidt: geef alle studenten die in het cursusjaar een opleiding volgen. Via de opleiding bepaalt Osiris in welke organisatorische eenheid de student thuishoort.
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| studentnummer | Het studentnummer. | Student (code) | Moet uniek zijn. |
| roepnaam | De roepnaam. | Student (voornaam) | — |
| achternaam | De achternaam. | Student (achternaam) | Samengevoegd met de voorvoegsels tot één veld, in de vorm achternaam, voorvoegsels — bijvoorbeeld Berg, van den. |
| voorvoegsels | De tussenvoegsels. | Student (achternaam) | Zie hierboven; is het veld leeg, dan blijft alleen de achternaam staan. |
| e_mail_adres | Het e-mailadres. | Student (e-mailadres en eventueel gebruikersnaam) | Komt altijd in het e-mailadres. Alleen wanneer het vinkje Gebruikersnaam overnemen aanstaat (paragraaf “Verbinding en selecties”), wordt het ook als gebruikersnaam vastgelegd. |
| stud_id | De technische identificatie van de student. | Student (referentie) | — |
Elke aangeleverde student studeert en is beschikbaar gedurende het hele cursusjaar; die twee gegevens worden niet uit Osiris afgeleid.
De relaties van de student
| Extern veld (exacte benaming) | Betekenis | Xedule-bestemming | Verwerking / filter |
|---|---|---|---|
| opleiding | De opleiding waarvoor de student staat ingeschreven. | Student volgt opleiding | De opleiding wordt op haar referentie gezocht. Bestaat ze niet, dan maakt de import een opleiding aan met alleen deze code: zonder naam, met niveau nul, duur nul en type BOL. |
| osta_ingangsdatum | Begin van de inschrijving. | Student volgt opleiding (gedurende) | Samen met de afloopdatum omgezet naar weken. Heeft de periode geen overlap met het cursusjaar, dan wordt de relatie overgeslagen. |
| osta_afloopdatum | Einde van de inschrijving. | Student volgt opleiding (gedurende) | Leeg betekent: tot het einde van het jaar. |
| groep | De groep waarvan de student lid is. | Student lid van groep | De groep wordt gezocht op de referentie van faculteit, groepscode en cursusjaar. Bestaat ze niet, dan wordt een groep aangemaakt die altijd als klas wordt aangemerkt, zonder omschrijving en zonder deelnemersaantal. |
| ingangsdatum | Begin van het lidmaatschap. | Student lid van groep (gedurende) | Samen met de afloopdatum omgezet naar weken; zonder overlap met het jaar vervalt de relatie. |
| afloopdatum | Einde van het lidmaatschap. | Student lid van groep (gedurende) | Leeg betekent: tot het einde van het jaar. |
| cursus | De cursus waarvoor de student staat ingeschreven. | Student volgt onderwijsproduct | Samen met het collegejaar wordt het onderwijsproduct op naam gezocht. Wordt het niet gevonden, dan wordt de inschrijving stilzwijgend overgeslagen. |
| collegejaar | Het collegejaar van de inschrijving. | Student volgt onderwijsproduct | Tweede deel van de naam waarop wordt gezocht. |
Een gevonden cursusinschrijving wordt voor álle perioden van het cursusjaar vastgelegd. De begin- en einddatum die Osiris bij de inschrijving meestuurt, worden daarbij niet gebruikt. Wilt u een inschrijving voor een deel van het jaar, dan past u dat na de import in de basisdata aan.
Is de student lid van een groep waarvan Xedule de bron is, dan wordt dat lidmaatschap overgeslagen: Xedule beheert die groep zelf en stuurt de deelnemers juist naar Osiris toe.
Foutafhandeling en meldingen
De koppeling kent drie soorten uitkomsten: fouten die de hele import stoppen, gegevens die zonder melding worden overgeslagen, en meldingen die alleen bij de exports worden getoond.
Fouten die de import stoppen
In de onderstaande situaties eindigt de import zonder resultaat. Er wordt dan niets in Xedule weggeschreven, dus er blijven ook geen half verwerkte gegevens achter. De import toont geen toelichtende tekst; de oorzaak staat in de logging van de omgeving.
| Situatie | Wat u ziet | Wat te doen |
|---|---|---|
| Osiris beantwoordt een aanroep niet of met een fout — bijvoorbeeld door een verkeerd endpoint, een verlopen token, een niet-opengezet servicepad of een onbekende standaardselectie. | De import eindigt zonder gegevens. | Controleer het endpoint en het token (paragraaf “Verbinding en selecties”), en laat in Osiris de servicepaden en de generieke services controleren (paragraaf “Technische randvoorwaarden”). Blijft het misgaan, neem dan contact op met Xedule Support. |
| Het externe type van een studentgroep is in Osiris niet gevuld. | De groepenimport eindigt zonder gegevens. | Vul in Osiris het externe type bij alle studentgroepen (paragraaf “Inrichting in Osiris”) en ververs het tabblad opnieuw. |
| Er is voor het gekozen jaar geen openstelling, of er zijn er meerdere. | De import eindigt zonder gegevens. | Controleer de openstelling van het cursusjaar waarin u werkt. |
Gegevens die zonder melding worden overgeslagen
De onderstaande situaties stoppen de import niet en leveren ook geen melding op. Zij zijn wel de meest voorkomende verklaring voor gegevens die na een geslaagde import in Xedule ontbreken.
- Een opleiding of groep waarvan de geldigheid volledig buiten het cursusjaar valt, wordt niet aangeboden.
- Een opleidingsinschrijving of groepslidmaatschap waarvan de periode geen overlap heeft met het cursusjaar, wordt overgeslagen. De student zelf komt wel binnen.
- Een cursusinschrijving waarvan het onderwijsproduct niet in Xedule bestaat, wordt overgeslagen. Importeer eerst de cursussen (paragraaf “Volgorde van de imports”).
- Een lidmaatschap van een groep waarvan Xedule de bron is, wordt overgeslagen (paragraaf “Export van groepen”), net als een lidmaatschap van een groep waarvan de referentie met g# begint.
- Een contactpersoon die niet als medewerker in Xedule bestaat, wordt niet aan het onderwijsproduct gekoppeld; het onderwijsproduct komt wel binnen, zonder eigenaar.
Anders dan bij de nieuwere Osiris 2-koppeling kent Osiris 1 bij de imports geen meldingentabblad: overgeslagen gegevens worden niet apart getoond. Vergelijk daarom bij twijfel de aantallen in het overzichtstabblad met wat u verwacht.
Meldingen bij de exports
De beide exports schrijven hun resultaat weg in de logging van Export – Services. U opent die logging met het uitroepteken in het onderste scherm.
| Melding | Situatie | Wat te doen |
|---|---|---|
| Exported: [groepscode] - [identificatie] | De groep is door Osiris aangenomen. De identificatie is het nummer dat Osiris aan de groep heeft gegeven. | Geen actie nodig. |
| [groepscode] - [tekst van Osiris] | Osiris heeft de groep geweigerd. De tekst is de foutmelding van Osiris zelf. | Los de gemelde oorzaak in Osiris of in de basisdata op en exporteer de groep opnieuw. De overige groepen van dezelfde export zijn gewoon verwerkt. |
| De tekst die Osiris op het roosterbericht teruggeeft | Het roosterbericht is afgeleverd. | Controleer de tekst; die geeft aan hoe Osiris het bericht heeft verwerkt. |
Een groepenexport wordt als geslaagd gemeld zodra ten minste één groep is aangenomen. Loop daarom altijd de logging na in plaats van alleen op de status af te gaan.
Opmerkingen
0 opmerkingen
Artikel is gesloten voor opmerkingen.