Edurep:Widget Endpoint

Uit Kennisnet Developers Documentatie
Versie door Muskee01 (overleg | bijdragen) op 3 jul 2014 om 12:07 (save for now)
Ga naar: navigatie, zoeken

Edurep-symbol.png Edurep: Widget Endpoint

Voor de Widget wordt gebruik gemaakt van een JSON endpoint die ook voor het grotere publiek beschikbaar is. Deze pagina beschrijft de interfacing voor de JSON endpoint. De simple JSON endpoint wordt niet in detail uitgelegd.

Ook al staat de interface hier gespecificeerd, raden we aan om de gewenste zoekvraag via de Widget Wizard samen te stellen en aldaar te exporteren als JSON query.

Endpoint

  • https://proxy.edurep.nl/v3/search
Info.gif Dit endpoint adres kan verouderen en vervangen worden door een nieuwere versie endpoint.

Argumenten

Een overzicht van de ondersteunde argumenten:

naam # type omschrijving
mode 1 string Een der uitvoerformaten, json, simplejson, of rss.
query 1 cql query Een zoekopdracht binnen LOM records.
startRecord 0-1 getal De resultatenlijst wordt getoond vanaf dit record, standaard 1.
maximumRecords 0-1 getal Het aantal records in de getoonde resultatenlijst, standaard 5, max 10.
x-term-drilldown 0-1 edurep zoekveld Het veld waarop een term drilldown wordt gedaan voor de gevonden resultaten.
technicalFormats 0-1 een gemapt technisch formaat Filtert de resultatenset op de gekozen formaten.
callback 0-1 een callback string Wordt gebruikt voor JavaScript implementaties. Het meegeven resulteert in een JSONP respons.

Voorbeeld

JSON Respons

Aangezien het antwoord geen standaard NL LOM is, wat extra uitleg over het uitvoerformaat. Dit bestaat uit een aantal onderdelen:

  • config: De zoekopdracht zoals deze aan de endpoint werd meegegeven.
  • api-version: De versie van de JSON endpoint.
  • status: Toont of er tijdens het zoeken en maken van het antwoord problemen waren.
  • caching: Toont caching informatie.
  • search: De gevonden individuele resultaten.
  • drilldowns: Drilldown informatie over de resultaatset.
  • navigation: Informatie voor het ophalen van de volgende "pagina" in de resultaatset.
Info.gif Alleen de inhoud van search, drilldowns en navigation staat vast. Over de inhoud van de andere velden wordt geen garantie gegeven.

Search

Het "search" deel bevat algemene informatie over de zoekopdracht en een "records" deel waarin de metadata van elk record te vinden is. De velden van elk record zijn gebaseerd op een slimme combinatie van NL LOM, de collectielijst en eigen inzicht.

Zo is alle afbeeldingsinformatie (thumbnails, mimetype icon) gegroepeerd, net zoals informatie over collecties (identifier, naam, toegangsrechten). Vocabulairevelden bevatten een "value", een identifier waarde, maar ook een "human", die een waarde bevat voor menselijke interfaces.

overzicht

In de volgende tabel staat een overzicht van de waarden in een record.

naam # type omschrijving
title 1 string titel
description 1 string omschrijving
keyword 0-* string trefwoord(en)
language 1-* string, ISO 639-1 of "x-none" de gebruikte talen in de bron
aggregationlevel 1 string (1 t/m 4) het aggregatieniveau van de bron


algemeen

De volgende velden zullen voor zich spreken en niet van verdere uitleg worden voorzien:

  • title
  • description
  • language
  • aggregationlevel
  • typicalagerange
  • context
  • cost
  • identifier

author, publisher

Een author of een publisher veld bevat 0 of meerdere namen, en een datum die duidt op de laatste bekende publicatie- of auteursdatum. De datum staat eveneens vermeld als Unix time.

"publisher": {
    "name": [
        "YouTube"
    ],
    "datetime": "2014-03-04T19:30:02",
    "timestamp": 1393957802
}

format

Het format veld bevat alle informatie over het technische format, waaronder het mimetype, maar ook informatie over het gemapte technische formaat.

"format": {
    "mimetype": "video/x-flv",
    "mapped_format": "video",
    "mapped_format_name": "Video",
    "mapped_format_specific": "Flash video"
}

learningresourcetype

Deze learningresourcetype is geen exacte vertaling van de waarde die in NL-LOM wordt aangeleverd. De waarde is daarin afhankelijk van het aggregationlevel veld. Indien deze waarde 1 of 2 is, dan wordt de bovenste waarde voor learningresourcetype in NL-LOM in dit veld overgenomen. Indien de waarde gelijk is aan 3, is deze waarde "Les", en indien de waarde gelijk is aan 4, is deze waarde "Serie lessen".

learningresourcetype": [
    "informatiebron"
]
Info.gif De structuur van dit veld gaat binnenkort wijzigen.

copyright

De value voor copyright kan een aantal waarden aannemen, yes, no, en een set Creative Commons identifiers. Er is altijd een corresponderende human waarde voor het aangegeven copyright type.

"copyright": {
    "value": "yes",
    "human": "For information on the use of archive material, please contact the Customer Service department of the Netherlands Institute for Sound and Vision: klantenservice@beeldengeluid.nl."
}

OBK

De secties discipline, educationallevel en educationalobjective bevatten informatie over vakgebied, leerniveau en leerdoel. De uuid identifiers zijn afkomsting uit het Onderwijs BegrippenKader.

educationallevel": {
    "512e4729-03a4-43a2-95ba-758071d1b725": "Primair onderwijs",
    "2a1401e9-c223-493b-9b86-78f6993b1a8d": "Voortgezet onderwijs",
    "caa97efc-a713-41ea-a845-1534ca65eac9": "Beroepsonderwijs en Volwasseneneducatie"
}

time

De time sectie bevat de aggregatie van het duration (afspeelduur) en het typicallearningtime (studielast) veld, waarbij typicallearningtime voorkeur geniet. De waarde staat gerepresenteerd in seconden en in menselijke tekst,

"time": {
    "seconds": 951,
    "human": "16 minuten"
}

repository

De repostory sectie bevat informatie over de bron repository. De Edurep identifier staat aangegeven, alsmede de naam en de toegangsrechten. Deze informatie is afkomsting uit de collectielijst, daar staat ook de waardenset van de accessrights value.

"repository": {
    "id": "nationaalarchief",
    "name": "Nationaal Archief Beeldbank",
    "accessrights": {
        "human": "Openbaar",
        "value": "public"
    }
}

image

De image sectie bevat eventuele links naar bepaalde afbeeldingstypen. Een thumbnail is een kleinere variant van de bron (afbeeldingen en video's), terwijl een icon vaak illustratief is. Indien 1 van beide aanwezig is, staat deze altijd ook in previewimage.

image": {
    "mimetype_icon": "http://widget.edurep.nl/icon/mimetypes/openworld/48/video/x-flv.png",
    "icon": "",
    "thumbnail": "https://i.ytimg.com/vi/qFDjVfXN16U/default.jpg",
    "previewimage": "https://i.ytimg.com/vi/qFDjVfXN16U/default.jpg"
}

url

De url sectie bevat alle links naar de daadwerkelijke resource. Een embed link wordt typisch gebruikt bij videomateriaal. Een landingpage link duidt op een pagina die niet de resource is, maar wel naar de resource linkt (de location link) wijst direct naar de resource.

url": {
    "location": "http://www.youtube.com/watch?v=qFDjVfXN16U",
    "embed": "http://www.youtube.com/embed/qFDjVfXN16U",
    "landingpage": ""
}

social

De social sectie is een directe vertaling van Edurep's geaggregeerde sociale metadata, waarbij rating the average normalized rating is.

"social": {
    "nrofreviews": 0,
    "nrofratings": 0,
    "nroftags": 0,
    "rating": 0
}

Drilldowns

De drilldowns worden per meegegeven veld teruggegeven net zoals in de reguliere respons. Alleen de vak en leerniveau drilldowns hebben een iets andere eigenschap, namelijk dat ze in boomvorm worden teruggegeven in plaats van als platte lijst. Het gaat daarmee specifiek over de volgende velden:

  • lom.classification.obk.discipline.id
  • lom.classification.obk.educationallevel.id

Bijvoorbeeld:

"lom.classification.obk.educationallevel.id": [
    {
        "identifier": "15d693b8-fbe1-4112-8135-4a20aba5101c",
        "caption": "Voor- en vroegschoolse educatie",
        "alternative": null,
        "records": 392,
        "purpose": "educationallevel",
        "parent": null,
        "children": [ ]
    },
    {
        "identifier": "512e4729-03a4-43a2-95ba-758071d1b725",
        "caption": "Primair onderwijs",
        "alternative": null,
        "records": 58730,
        "purpose": "educationallevel",
        "parent": null,
        "children": [
            {
                "identifier": "82ca4442-246c-44b3-a562-7b101793feb4",
                "caption": "PO groep 1",
                "alternative": null,
                "records": 6517,
                "purpose": "educationallevel",
                "parent": "512e4729-03a4-43a2-95ba-758071d1b725",
                "children": [ ]
            },
            {
                "identifier": "c007e4dd-a3d4-4f33-902d-778e3bbeeddb",
                "caption": "PO groep 2",
                "alternative": null,
                "records": 6713,
                "purpose": "educationallevel",
                "parent": "512e4729-03a4-43a2-95ba-758071d1b725",
                "children": [ ]
            }
        ]
    }
]

Technisch Formaat

De Widget proxy maakt een speciale mapping voor mimetypes zodat de veelheid aan mimetypes geaggregeerd worden naar een beperkte set logische technische formaten:

  • image: Afbeelding,
  • video: Video
  • audio: Audio
  • spreadsheet: Spreadsheet
  • presentation: Presentatie
  • text: Tekst
  • wikiwijsarrangement: Wikiwijs Arrangement
  • pdf: PDF
  • digiboard: Digiboard
  • app: App
  • archive: Archief
  • message: Bericht
  • ebook: eBook
  • googleearth: Google Earth


De losse mimetypes zijn als volgt gemapt naar de technische formaten.

mime type technisch formaat naam
application/x-yossymemo digiboard Hitachi StarBoard
application/x-ibooks+zip ebook iBook
image/bmp image Bitmap
application/vnd.openxmlformats-officedocument.presentationml.pre presentation Office Open Presentatie bestand
application/vnd.openxmlformats-officedocument.presentationml.sli presentation Office Open Diavoorstelling bestand
application/vnd.oasis.opendocument.spreadsheet spreadsheet OpenDocument Spreadsheet
application/postscript text PostScript
application/vnd.ms-word text Microsoft Word Document
application/x-tar archive TAR archief
application/vnd.ms-word.document.macroEnabled.12 text Office Open XML
application/x-stuffit archive StuffIt Archief
application/x-koan audio Koan Audio
application/vnd.koan audio Koan Audio
audio/midi audio MIDI
application/vnd.openxmlformats-officedocument.wordprocessingml.template text Office Open XML
image/pjpeg image JPEG
text/rtf text Rich Text Format
application/Inspire digiboard Promethean ActivInspire bestand
message/rfc822 message E-Mail
video/quicktime video Quicktime Video
application/x-AS3PE digiboard Promethean ActivStudio
application/vnd.ms-publisher text Office Publisher Document
application/vnd.google-earth.kmz googleearth Google Earth KMZ
image/png image PNG
video/x-msvideo video AVI
application/ppt presentation Office Powerpoint
application/x-rar-compressed archive RAR Archief
application/rtf text Rich Text Format
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet spreadsheet Office Open Spreadsheet bestand
video/mpeg video MPEG
image/x-icon image Icoon
image/x-ms-bmp image Bitmap afbeelding
application/x-pdf pdf PDF
image/tiff image TIFF afbeelding
application/vnd.openxmlformats-officedocument.presentationml.slideshow presentation Office Open Diavoorstelling bestand
application/x-java app Java Applet
image/jpg image JPG
application/x-Inspire digiboard Promethean ActivInspire bestand
application/x-smarttech-notebook digiboard SMART Notebook
application/x-zip-compressed digiboard Heutink HD Board
application/x-ACTIVprimary3 digiboard Promethean ActivPrimary
application/vnd.ms-excel spreadsheet Microsoft Excel bestand
text/plain text Tekst bestand
audio/x-wav audio WAV bestand
application/vnd.openxmlformats-officedocument.presentationml.presentation presentation Office Open Presentatie bestand
application/x-mplayer2 video Web Video
image/gif image GIF afbeelding
audio/mpeg audio MP3 audio
application/vnd.openxmlformats-officedocument.wordprocessingml.document text Office Open Tekstverwerking bestand
video/mp4 video MP4 video
application/vnd.ms-powerpoint presentation Microsoft Powerpoint bestand
video/x-ms-wmv video Windows Media Video
video/x-flv video Flash video
text/xml text XML bestand
application/msword text Microsoft Word Document
application/zip archive ZIP archief
video/x-ms-asf video ASF video
application/pdf pdf PDF
text/html text HTML pagina
image/jpeg image JPEG afbeelding
application/x-Wikiwijs-Arrangement wikiwijsarrangement Wikiwijs Arrangement

JSON Simple Respons

Dit is een versimpelde variant van de JSON respons en aan te roepen met mode "simplejson". Dit formaat bevat alleen title, description en url. Bijvoorbeeld:

{
    "title": "Frame (fiets)",
    "description": "Een frame is het dragende gedeelte (chassis) van een fiets, bromfiets of motorfiets. Het wordt ook wel rijwielgedeelte of kader genoemd.",
    "url": "http://nl.wikipedia.org/wiki/Frame_(fiets)"
}

RSS Respons

Dit is een rss respons van de zoekopdracht en aan te roepen met mode "rss". Het formaat bevat net als de versimpelde json alleen title, description en url. Bijvoorbeeld:

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Kennisnet zoekopdracht</title>
    <link>http://proxy.edurep.nl/v2/search?mode=rss&amp;query=fiets</link>
    <atom:link href="http://proxy.edurep.nl/v2/search?mode=rss&amp;query=fiets" rel="self" type="application/rss+xml" />
    <description>Deze feed is afkomstig van Edurep, de zoekmachine voor lesmateriaal. Meer info is te vinden op: http://kn.nu/edurep-widget</description>
    <item>
      <title><![CDATA[Frame (fiets)]]></title>
      <link><![CDATA[http://nl.wikipedia.org/wiki/Frame_(fiets)]]></link>
      <description><![CDATA[Een frame is het dragende gedeelte (chassis) van een fiets, bromfiets of motorfiets. Het wordt ook wel rijwielgedeelte of kader genoemd.]]></description>
      <guid><![CDATA[http://nl.wikipedia.org/wiki/Elektrische_fiets]]></guid>
    </item>
  </channel>
</rss>