Project: continue instroom

Controleren of een item gearchiveerd is

Laad je via een continue instroomproject zelf bestanden op in het meemoo-archiefsysteem? Dan kan je via de OAI PMH API de archiveringsstatus van je items ophalen via een geautomatiseerd proces. Zo kan je vlot vaststellen of een item wel correct gearchiveerd werd bij meemoo. 

Om dit proces op te zetten heb je de unieke identifier nodig die je aangeleverd hebt als metadata bij het item. Typisch wordt hiervoor de ‘hoofd_lokale CP ID’ gebruikt. Het proces houdt in dat je een lijst van alle recent gewijzigde of toegevoegde items opvraagt, de metadata van de items bekijkt en de archiveringsstatus eruit haalt en opslaat.

Stap 1: vraag een lijst op van recent gewijzigde bestanden

Via het OAI-PMH-protocol kan je een lijst opvragen van de metadata die bij meemoo opgeslagen zijn. We omschrijven hieronder de call die moet gebeuren naar de API.

We werken hiervoor met ‘from’ (en optioneel ‘until’) binnen het ListRecords verb. Neem als interval best 1 uur of langer.

  • Request: https://archief.viaa.be/mediahaven-oai/oai?verb=ListRecords&metadataPrefix=mets&from=YYYY-MM-DDTHH:mm:ss&until=YYYY-MM-DDTHH:mm:ss
  • Respons: De lijst van alle records die tussen ‘from’ en ‘until’ 00m en 59s gewijzigd of toegevoegd zijn, in XML. Per record wordt alle metadata teruggegeven.

Stap 2: verwerk de lijst die je terugkrijgt en controleer de status

Verwerk de records die teruggegeven worden en ga na of jouw identifier teruggevonden wordt. Indien je de hoofd_lokale CP ID gebruikt, vind je deze onder <dc_identififer_localid>.

In functie daarvan zijn er twee mogelijkheden:

  1. De identifier wordt niet teruggevonden in de respons: het item in kwestie is nog 'in transit' en dus niet gearchiveerd door meemoo. Dat is mogelijk als er bijvoorbeeld een interventie plaatsvindt op het meemoo-archief. Als deze situatie langer dan 48 uur aanhoudt, kan je ons best contacteren via support@meemoo.be.
  2. De identifier wordt teruggevonden in het antwoord. Controleer dan het veld <archivestatus> in de respons. Mogelijke waarden hier zijn:
    1. Failed: er is een fout opgetreden tijdens de import van het materiaal. Neem contact op met jouw projectmanager of support@meemoo.be.
    2. In_progress: het item wordt momenteel nog verwerkt.
    3. On_tape (PRD) / on_disk (QAS) of completed: het item is succesvol gearchiveerd! Voor de testomgeving (QAS) wordt niet naar tape geschreven, maar naar disk.