8. Hoe een nieuwe Dublin Core (DC) variant toevoegen

8.1. Inleiding

oai_dc is een verplicht meta formaat binnen OAI-PMH.

Verschillende services wensen echter een specifieke invulling te hebben van de standaardvelden van DC.

In Brocade wordt dit opgelost door te werken met varianten op DC. In de meta informatie van een OAI server kan het veld dcvariant worden gespecificeerd. Binnen deze specifieke server wordt dan voor het oai_dc meta formaat een specifieke invulling gegenereerd.

Een goede methode is om het veld dcvariant de naam van de OAI-PMH server maar daar kan ook worden van afgeweken.

8.2. Implementatie

Creëer een geschikt meta formaat.

Maak daartoe een Python met als naam oai_dc aangevuld met de identifier uit dcvariant en de python extensie .py.

Plaats dit in het juiste Brocade project.

Bijvoorbeeld: voor de OAI-PMH server abua

  • Vul de waarde dcvariant in de meta informatie van abua in (neem de waarde abua = dezelfde naam als de server)
  • Het gaat over catalografie. Werk dus in /catalografie/oai/
  • Creëer de Python script: oai_dcabua.py
  • Definieer hierin een functie dc. Deze functie werkt met 1 argument. Dit argument is van het type cat.RECORD (cat.py staat in /catalografie/application). Deze functie moet een python dict teruggeven met als subscripts de DC waarden zoals deze worden gebruikt binnen OAI-PMH: title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights. De waarden zijn iterables: elk element is een koppel waarvan het eerste een Unicode string is en het tweede ofwel None, ofwel een dict met attributen is voor het corresponderende XML element. Deze functie kan ook None teruggeven: het normale DC mechanisme wordt dan opgestart voor deze record

Deze Python script moet worden geïnstalleerd met behulp van installer.oaimetaformat('oai_dcabua.py')