BME:Metadata Record Bewerken

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken

BronMetadataEditor-symbol.png BronMetadataEditor: Metadata Record Bewerken

In dit scenario gaan we uit van een repository waar net een bestand is geupload door een gebruiker. Na het uploaden wordt de metadata van het object bewerkt. Een deel van de informatie van het NL LOM record is al bekend, en kan dus al meegegeven worden.

In het voorbeeld bewerken we een willekeurig record (43) op onze repository op www.example.com. De bewerking wordt aan de repository zijde gestart, en wanneer de gebruiker klaar is in de BME, willen we dat de gebruiker naar http://example.com/record/43/metadatacompleted gaat zodat de repository weet dat het gemaakte record opgehaald kan worden.

Bij het aanvragen van het ticket wordt het volgende LOM record meegestuurd.

<lom xmlns="http://www.imsglobal.org/xsd/imsmd_v1p2">
  <general>
    <catalogentry>
      <catalog></catalog>
      <entry>
	<langstring xml:lang="x-none">urn:example:1234</langstring>
      </entry>
    </catalogentry>
  </general>
  <technical>
    <format>text/html</format>
    <location>http://www.example.com/resource/1234</location>
  </technical>
</lom>

Ticket Maken

In het verzoek staan de accountgegevens van onze repository, alsmede de callback_uri. Lees meer.

curl --data "application_id=demo&application_password=demo&callback_uri=http%3A%2F%2Fwww.nu.nl&repository_id=test&lom_record=%3Clom%20xmlns%3D%22http%3A%2F%2Fwww.imsglobal.org%2Fxsd%2Fimsmd_v1p2%22%3E%3Cgeneral%3E%3Ccatalogentry%3E%3Ccatalog%3Eurn%3C%2Fcatalog%3E%3Centry%3E%3Clangstring%20xml%3Alang%3D%22x-none%22%3Eurn%3Aexample%3A1234%3C%2Flangstring%3E%3C%2Fentry%3E%3C%2Fcatalogentry%3E%3C%2Fgeneral%3E%3Ctechnical%3E%3Cformat%3Etext%2Fhtml%3C%2Fformat%3E%3Clocation%3Ehttp%3A%2F%2Fwww.example.com%2Fresource%2F1234%3C%2Flocation%3E%3C%2Ftechnical%3E%3C%2Flom%3E" http://metaplus.kennisnet.nl/bme/?r=ticket%2Fcreate


In het antwoord geeft de BME terug naar welke BME pagina de gebruiker op de repository geredirect dient te worden om het record te gaan bewerken.

<ticket-request>
    <status>ready</status>
    <ticket>5449ff3b90311</ticket>
    <edit-url>http://metaplus.kennisnet.nl/bme/index.php?r=metadata&amp;ticket=5449ff3b90311</edit-url>
</ticket-request>

Status Opvragen

De repository kan de status van de gebruiker blijven bekijken door een view request te doen. Lees meer.

curl --data "application_id=demo&application_password=demo&ticket=5449ff3b90311" http://metaplus.kennisnet.nl/bme/?r=ticket%2Fview

Zo lang de gebruiker het document in de BME nog niet heeft opgeslagen, krijgen we de status "editing" terug.

<ticket-status>
    <status>editing</status>
    <ticket>5449ff3b90311</ticket>
    <repositoryId>test</repositoryId>
    <callback-url>http://example.com/record/43/metadatacompleted</callback-url>
</ticket-status>

Gemaakte record ophalen

Wanneer de gebruiker is teruggekeerd naar de callback_uri, kan het gemaakte metadata record worden opgehaald en in de eigen repository worden opgeslagen.

Voor de zekerheid halen we de status op. Omdat we wel bestaande metadata hebben meegegeven, verwachten we de status "completed".

<ticket-status>
    <status>completed</status>
    <ticket>5449ff3b90311</ticket>
    <repositoryId>test</repositoryId>
    <callback-url>http://example.com/record/43/metadatacompleted</callback-url>
</ticket-status>

Het record is in de BME correct opgeslagen. We halen nu het record op. Lees meer.

curl --data "application_id=demo&application_password=demo&ticket=5449ff3b90311" http://metaplus.kennisnet.nl/bme/?r=ticket%2Fresult

In het resultaat, xml-encoded, het gemaakte NL-LOM record.

<ticket-result>
    <status>completed</status>
    <modified-record>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;lom xmlns=&quot;http://www.imsglobal.org/xsd/imsmd_v1p2&quot;&gt;&lt;general&gt;&lt;title&gt;&lt;langstring xml:lang=&quot;nl&quot;&gt;fiets&lt;/langstring&gt;&lt;/title&gt;&lt;catalogentry&gt;&lt;catalog&gt;urn&lt;/catalog&gt;&lt;entry&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;urn:example:1234&lt;/langstring&gt;&lt;/entry&gt;&lt;/catalogentry&gt;&lt;language&gt;nl&lt;/language&gt;&lt;aggregationlevel&gt;&lt;source&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;LOMv1.0&lt;/langstring&gt;&lt;/source&gt;&lt;value&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;1&lt;/langstring&gt;&lt;/value&gt;&lt;/aggregationlevel&gt;&lt;/general&gt;&lt;metametadata&gt;&lt;metadatascheme&gt;LOMv1.0&lt;/metadatascheme&gt;&lt;metadatascheme&gt;nl_lom_v1p0&lt;/metadatascheme&gt;&lt;/metametadata&gt;&lt;technical&gt;&lt;format&gt;text/html&lt;/format&gt;&lt;location&gt;http://www.example.com/resource/1234&lt;/location&gt;&lt;/technical&gt;&lt;educational&gt;&lt;intendedenduserrole&gt;&lt;source&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;http://purl.edustandaard.nl/vdex_intendedenduserrole_lomv1p0_20060628.xml&lt;/langstring&gt;&lt;/source&gt;&lt;value&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;learner&lt;/langstring&gt;&lt;/value&gt;&lt;/intendedenduserrole&gt;&lt;typicalagerange&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;1-2&lt;/langstring&gt;&lt;/typicalagerange&gt;&lt;/educational&gt;&lt;rights&gt;&lt;cost&gt;&lt;source&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;LOMv1.0&lt;/langstring&gt;&lt;/source&gt;&lt;value&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;no&lt;/langstring&gt;&lt;/value&gt;&lt;/cost&gt;&lt;copyrightandotherrestrictions&gt;&lt;source&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;http://purl.edustandaard.nl/copyrightsandotherrestrictions_nllom_20110411&lt;/langstring&gt;&lt;/source&gt;&lt;value&gt;&lt;langstring xml:lang=&quot;x-none&quot;&gt;yes&lt;/langstring&gt;&lt;/value&gt;&lt;/copyrightandotherrestrictions&gt;&lt;description&gt;&lt;langstring xml:lang=&quot;nl&quot;&gt;&lt;/langstring&gt;&lt;/description&gt;&lt;/rights&gt;&lt;/lom&gt;
</modified-record>
</ticket-result>