Generieke periodieke import

Uit G!ds
Ga naar: navigatie, zoeken
Documentation caution.png EXTRA: De hier besproken generieke periodieke import constructie is ontwikkeld en in gebruik. Voor meer informatie mail naar gids@debibliotheken.nl.


Generiek deel periodieke import

Een periodieke import is een import van organisatie en/of productgegevens uit een externe bron die regelmatig wordt uitgevoerd. Waarbij gegevens kunnen worden toegevoegd, gewijzigd of verwijderd. Hierbij geldt dat het importscript verantwoordelijk is voor alle gegevens die het in de G!ds zet.

Om het overzicht te behouden en het beheer van de G!ds-gegevens te stroomlijnen is het wenselijk om alle imports op een min of meer gelijke manier te behandelen. Dit document beschrijft de hiervoor voorgestelde constructie.


Met behulp van de voorgestelde constructie wordt de software die op maat gemaakt moet worden aanzienlijk beperkt. Het merendeel wordt nl. al door de G!ds gefaciliteerd.

Onderdelen van een import

Schematisch weergave van een import


Elke periodieke import kent een aantal verschillende technische onderdelen n.l.:

  • Importbron: Elke import bron kent zijn eigen gegevens structuur en mogelijke waarden. Hiervoor dient een mapping gemaakt te worden naar gidsvelden en organisatie/productsoorten.
  • Gegevens transport: Wijze van verkrijgen/transporteren van de gegevens uit de importbronEr zijn veel verschillende manieren waarop gegevens voor een import verkregen kunnen worden. Deze kunnen gevolgen hebben voor de oa. de importfrequentie of de resources die benodigd zijn voor het importscript. Hierbij is het mogelijk dat het importscript gegevens ophaalt(PULL) of gegevens gestuurd krijgt(PUSH).
  • Importscript: Taken van het importscript zijn om de gegevensmapping uit te voeren van de structuur uit de bron naar de structuur in de G!ds. Maatwerk importscripts maken altijd organisaties en producten aan onder één organisatie in de G!ds (de importorganisatie). Taken:
    • maken, wijzigen/bijhouden en verwijderen van organisaties en producten,
    • bijhouden van een mapping tussen de bronId’s en de G!dsId’sDeze taak kan niet altijd gemakkelijk door de G!ds worden uitgevoerd omdat gegevens vaak niet 1:1 mappen met de G!ds, dit is dus een taak van het import-script.
  • Importbeheer-scherm: In de G!ds is er per import een importbeheerscherm. Hier kunnen de gegevens uit de import worden beheerd door en importbeheerder. Taken van de importbeheerder zijn gefaciliteerd in dit scherm. Deze zijn oa. foutafhandeling, ontdubbeling en rapportage.

Afhandeling geïmporteerde gegevens

[[Image:]]Alle gegevens van een importbron worden elke keer geïmporteerd. Ook wanneer er voor gekozen is de import niet via de G!ds zichtbaar willen maken, worden de gegevens toch geïmporteerd. Hierdoor heeft een redacteur altijd de mogelijkheid om de importgegevens te bekijken en naar keuze al dan niet te verwerken in de organisatiegegevens. De geïmporteerde organisatiegegevens blijven dus ALTIJD staan onder de importorganisatie en vallen ALTIJD onder het beheer van de importbeheerder. Wanneer het beheer van een organisatie overgedragen wordt of al in beheer is van een G!DS redacteur, dan worden de geïmporteerde gegevens op ‘niet zichtbaar’ gezet en wordt er een kopie gemaakt onder beheer van de redacteur. Elke maatwerkimport moet ook voorzien in het verwijderen of opschonen van zijn eigen gegevens.


Het import beheerscherm

In het importbeheer-scherm kan alle informatie over de status van een import worden bekeken en indien noodzakelijk ook worden gewijzigd. Het importscherm bevat een lijst met tenminste 1 regel per geïmporteerde organisatie of product.

Per geïmporteerde organisatie of product zijn de volgende gegevens opgenomen:

  • BronIDDe unieke identificatie van de organisatie of product bij de import bron (wordt opgeslagen als tekst).
  • GidsIDHet identificatienummer van de organisatie of product in de G!ds
  • Organisatie- of productnaam
  • Laatste import status:
    • ‘Succes’Er zijn bij het importeren geen fouten opgetreden.
    • ‘Conversiefouten’Er zijn bij het mappen van de bronvelden naar G!dsvelden fouten opgetreden
    • ‘Validatiefouten’Bij het opslaan in de G!ds zijn er incorrecte waarden opgegeven of verplichte velden niet gevuld.
    • ‘Dubbelen gevonden’In de G!ds is vermoedelijk dezelfde organisatie gevonden.
  • StatustoelichtingToelichting op de status. Deze kan gevuld zijn met een specificatie van de gevonden fouten of de gevonden dubbelen.
  • Publicatieactie:
    • Zichtbaar maken na succesvolle import
    • Zichtbaar maken na import negeer dubbelen
    • NIET zichtbaar maken na import
  • Gekoppelde G!ds organisatieIDAlleen organisaties waarbij publiceren op ‘NIET zichtbaar maken’ staat kunnen worden gekoppeld aan een bestaande G!ds organisatie. Dit koppelen heeft tot gevolg dat redacteuren van de gekoppelde organisatie automatisch een bericht krijgen als in de import gegevens gewijzigd zijn. Deze koppeling is slechts administratief, er wordt niets automatisch overgenomen.
  • Import toelichtingEen veld dat door de import redacteur kan worden gevuld, bedoeld om afspraken e.d. vast te leggen.

Sommige imports importeren duizenden organisaties, het is dus van belang dat in het importbeheerscherm efficiënt kan worden gewerkt met de importgegevens. De gegevens moeten kunnen worden gesorteerd en gefilterd op de velden: importstatus, publicatieactie en organisatienaam.

Detectie dubbelen

Een geïmporteerde organisatie wordt als dubbel gemarkeerd wanneer op hetzelfde adres een ANDERE organisatie in G!DS staat of wanneer er een organisatie met dezelfde naam wordt gevonden.

Organisatie import scenario’s

Bij het importeren van organisaties kunnen zich een aantal scenario’s voordoen, deze zijn hier besproken met de eventuele gevolgen en handelingen die hieruit volgen. Elke organisatie wordt in de G!ds geïmporteerd en kan hierbij één van de 4 importstatussen aannemen.

Nog niet eerder geïmporteerde organisaties krijgen automatisch de publicatieactie ‘Zichtbaar maken na succesvolle import’ ingesteld.

Bronorganisatie zit nog niet in de G!ds

De organisatie wordt automatisch op zichtbaar gezet mits succesvol geïmporteerd.


Bronorganisatie zit vermoedelijk al in de G!dsDe organisatie wordt in de G!ds geïmporteerd en zal de status ‘Dubbelen gevonden’ krijgen en zal niet zichtbaar gemaakt worden. De importbeheerder krijgt een bericht van een eventuele nieuwe dubbele organisatie. Tevens kan deze informatie worden geraadpleegd in het importbeheerscherm. De import beheerder kan dan de volgende beslissingen maken:

  • Geïmporteerde organisatie is beterDe door de importbeheerder te ondernemen acties zijn dan de G!ds organisatie verwijderen en de import organisatie op zichtbaar zetten. Deze zal dan de volgende keer niet meer als dubbel gesignaleerd worden en dus ‘zichtbaar’ blijven.
  • Gids organisatie is beter.De door de importbeheerder te ondernemen acties zijn dan om:
    • Niets te veranderenDe geïmporteerde organisatie zal dan op ‘NIET zichtbaar’ blijven staan zolang de andere (dubbele) organisatie in G!DS staat..Wanneer deze dubbele wordt verwijderd, zal de geïmporteerde organisatie dus wel ‘zichtbaar’ worden.
    • De publicatieactie op ‘NIET zichtbaar maken na import’ te zettenDe geïmporteerde organisatie zal nooit automatisch op zichtbaar worden gezet. De importbeheerder kan er dan nog voor kiezen om de G!ds organisatie te koppelen aan de geïmporteerde organisatie. Dit zal tot gevolg hebben dat de redacteuren van de G!ds organisatie automatisch een bericht krijgen als de importorganisatie wordt gewijzigd.

Organisatie zit bij de import en wordt later in de G!ds aangemaakt

Het aanmaken van de G!ds organisatie kan op 2 manieren gebeuren: er kan een nieuwe organisatie worden aangemaakt of een bestaande organisatie uit de import worden gekopieerd. Bij de volgende import zal er dan een dubbele ontdekt worden en zal de import organisatie automatisch op ‘NIET zichtbaar’ gezet worden. De importbeheerder zal dan automatisch een bericht krijgen van een dubbele import.


Eventueel kan er ook direct met de importbeheerder worden afgesproken dat de organisatie op ‘NIET zichtbaar’ gezet moet worden.

Product import

Alle producten uit een import worden onder een geïmporteerde organisatie geïmporteerd en vallen dus onder beheer van het maatwerk-importscript. Als de beherende organisatie van een product niet kan worden bepaald dan wordt het product aangemaakt onder de importorganisatie (de organisatie waaronder ook de contracten van de geïmporteerde organisaties zitten).

Als de organisatie waaronder de producten geïmporteerd worden niet zichtbaar is, zullen de producten, ook al zijn deze wel zichtbaar, niet zichtbaar worden op websites die gebruik maken van de G!ds (dit is standaard functionaliteit van de G!ds). Redacteuren in de G!ds-backoffice kunnen natuurlijk wel alle gegevens bekijken.

Als de importorganisatie waarbij de producten worden geïmporteerd gekoppeld is aan een G!ds organisatie (en dus ‘NIET zichtbaar’) wordt deze altijd productaanbieder. Hierdoor kan dan worden gekozen om alle geïmporteerde producten over te nemen of een selectie te maken.

Voor het ontdubbelen van producten bied de generieke import geen functionaliteit

Techniek

Om de hiervoor beschreven functionaliteit technisch te realiseren moeten de volgende software- componenten worden gerealiseerd.


  • ImportrechtEen extra recht bij een organisatie waarmee kan worden onderscheiden welke gebruikers bij het importbeheerscherm mogen en welke rechten de maatwerkimport zelf heeft.
  • Extra object in de G!ds-core: organisatieimportHierin worden de velden van het importbeheerscherm opgevraagd.
  • Extra soapfunctie’s:
    • VerwerkGeimporteerdeOrganisatieEen maatwerkimport moet de importstatus van een organisatie of/product kunnen registreren bij de G!ds-core. Hiervoor moet een extra soapfunctie worden gemaakt. Functie: LogGeimporteerdeOrganisatie met de argumenten: ImportOrganisatieID, BronID, GidsID, Conversiefout (bool), Statustoelichting (string), Zichtbaarmaken (bool). Deze functie valideert de gegevens en voert de publicatieactie uit.
    • HaalImportsstatussenOm een overzicht van importstatussen te kunnen opvragen. Deze is nodig om het importbeheerscherm te voeden. Importstatussen moeten kunnen worden gesorteerd en gefilterd op importstatus, publicatieactie en organisatienaam.
    • WijzigPublicatieActie
    • KoppeldeAanG!dsOrganisatie
    • ImportToelichtingOpslaan
    • KopieerOrganisatieKopieert een organisatie naar een andere organisatie en maakt een nieuw contract aan hierbij moet dus een nieuwe bovenliggende organisatie en accountmanager worden opgegeven. Als de organisatie validatie fouten bevat dan wordt hij niet-zichtbaar gekopieerd.
  • Backoffice veranderingen
    • ImportbeheerschermZoals eerder in dit document besproken.
    • Mogelijkheid om het importrecht te kunnen gevenDit moet alleen door systeembeheerders kunnen gebeuren.
    • Knop ‘Kopieeer organisatie’In het contractenoverzicht moet onder de knop ‘Nieuwe organisatie’ een knop ‘Kopieeer organisatie’ worden gemaakt.

Openstaande punten

Controleberichten bij geïmporteerde organisaties

De geïmporteerde organisaties en producten vallen onder beheer van het importscript. Er is dus niemand om op eventuele controleberichten te reageren.


Een mogelijk oplossing is om controleberichten voor geïmporteerde organisaties ui t te schakelen. Hier is echter geen bestaande oplossing voor in de G!ds. Het mogelijk om te maken dat de controle termijn in de G!ds-core op oneindig gezet kan worden. Dit moet dan niet in de backoffice ingesteld kunnen worden maar de generieke import kan hier dan wel gebruik van maken.


Berichten wijzingen geïmporteerde producten

Mogelijkheid om te abonneren op berichten van een aanbiederorganisatie zodat een redacteur gemakkelijk kan zien dat er nieuwe producten via de import beschikbaar zijn gekomen.


Een oplossing hiervoor zou kunnen zijn om in het contract op het tab ‘overnemen’ een extra vinkje te maken waar de bovenliggend accountmanager kan aangeven dat de redacteuren van de organisatie een bericht moeten ontvangen wanneer de import producten wijzigt.