dspace plugin for Europeana Semantic Elements (ESE)

Κώδικας και οδηγίες για την πρoσθήκη της δυνατότητας εξαγωγής μεταδεδομένων Europeana Semantic Elements (ESE) στο dspace 1.5.2

Τελευταία ενημέρωση: 29/3/2010.

Το πρόβλημα

Η αρχική εγκατάσταση του dspace έχει την δυνατότητα εξαγωγής μεταδεδομένων σε μορφή Dublin Core με το πρωτόκολλο OAI-PMH. Έτσι, παίρνοντας ως παράδειγμα μια εγκατάσταση dspace της βιβλιοθήκης της Βέροιας, μπορούμε να πάρουμε μεταδεδομένα με το εξής URL:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=oai_dc

To πρόβλημα είναι ότι αν θέλουμε να δώσουμε τα δεδομένα αυτά στην Europeana υπάρχει ασυμβατότητα διότι η Europeana δεν υποστηρίζει Dublin Core, αλλά Europeana Semantic Elements (ESE) που είναι ένα application profile που βασίζεται στο Dublin Core.

Μέχρι και την τρέχουσα έκδοση του dspace (1.5.2) δεν υποστηρίζεται εγγενώς το ESE. Παρακάτω θα δούμε μια διαδικασία μέσα από την οποία μπορούμε να τροποποιήσουμε το dspace ώστε να εξάγει μεταδεδομένα σε μορφή ESE. Αυτό θα γίνει με την προσθήκη ενός OAI plugin, με την χρήση του οποίου το dspace θα είναι σε θέση να εξάγει δεδομένα σε μορφή ESE όπως το παρακάτω παράδειγμα:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=ese

Μεταδεδομένα

Καταρχήν, η ψηφιακή βιβλιοθήκη θα πρέπει να διαθέτει τα κατάλληλα μεταδεδομένα. Για να προετοιμάσετε την βιβλιοθήκη σας για αυτό, πρέπει να ακολουθήσετε απαραιτήτως τις εξής οδηγίες: οδηγίες για ESE.

Ένα πολύ χρήσιμο εργαλείο για να δημιουργήσετε το σχήμα της Europeana στο DSpace και να ενημερώσετε μαζικά τα μεταδεδομένα του είναι το εργαλείο europeanaSchemaUpdater.jar που ανέπτυξε ο κ.Κώστας Σταμάτης από το Εθνικό Κέντρο Τεκμηρίωσης. Οδηγίες στα ελληνικά, Οδηγίες στα αγγλικά

Τα χαρακτηριστικά του είναι:

  • Αυτόματη δημιουργία του σχήματος της Europeana στο DSpace – δε χρειάζεται χειρωνακτική δημιουργία από το administration περιβάλλον του DSpace.
  • Δυνατότητες παραμετροποίησης στο επίπεδο του αρχείου dspace.cfg χωρίς μεταβολή του κώδικα.
  • Χρήση του DSpace API για την ενημέρωση των μεταδεδομένων – όχι σύνδεση απευθείας με τη βάση.
  • Εκτέλεση χωρίς άλλο προ-απαιτούμενο (π.χ. PHP) πέρα από ό,τι διατίθεται ήδη από μια εγκατάσταση του DSpace.

Διαδικασία

Η παρακάτω διαδικασία έχει γίνει σε λειτουργικό σύστημα CentOS Linux 5.4 και σε Debian Linux 5. Προαπαιτούμενα: Linux, Sun Java JDK, Apache Maven 2, Apache Ant, DSpace έκδοση 1.5 η μεγαλύτερη. Υποστηρίζεται επιπλέον και η έκδοση 1.6 που κυκλοφόρησε στις 5 Μαρτίου 2010. Προσοχή! Το plugin δεν λειτουργεί σε παλαιότερες εκδόσεις του DSpace.

Η διαδικασία που θα ακολουθήσουμε αποτελείται ουσιαστικά από 2 βήματα:

  1. Compile java-oai.jar με υποστήριξη ESE.
  2. Configuration υπάρχουσας εγκατάστασης dspace ώστε να χρησιμοποιεί το νέο java-oai.jar και να υποστηρίζει ESE.

Compile java-oai.jar με υποστήριξη ESE

Το java-oai.jar είναι ένα τμήμα του πακέτου dspace. Δεν απαιτείται να κάνουμε compile ολόκληρο το dspace αλλά μόνο το κομμάτι του που είναι επιφορτισμένο με την εξαγωγή μεταδεδομένων μέσω OAI.

  1. Κατεβάζουμε από την διεύθυνση: http://sourceforge.net/projects/dspace/files/ το πακέτο dspace-1.5.2-src-release.tar.bzip2 και το αποσυμπιέζουμε σε έναν φάκελο στο σύστημά μας.
    • tar xjf dspace-1.5.2-release.tar.bzip2
  2. Κατεβάζουμε το αρχείο ESECrosswalk.java και το τοποθετούμε στον φάκελο: dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/ESECrosswalk.java
    • mv ESECrosswalk.java dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/ESECrosswalk.java
  3. Πηγαίνουμε χρησιμοποιώντας το linux shell στον φάκελο:  dspace-1.5.2-src-release/dspace-oai/dspace-oai-api και εκτελούμε την εντολή mvn package. Aν λειτουργούν όλα σωστά, το σύστημα θα κάνει compile και θα εμφανίσει διάφορα μηνύματα ενώ προς το τέλος των μηνυμάτων θα πρέπει να αναγράφεται BUILD SUCCESSFUL. Σε αντίθετη περίπτωση, δεν είναι εγκατεστημένα σωστά τα προαπαιτούμενα πακέτα λογισμικού Sun Java JDK και Apache Maven.
    • cd dspace-1.5.2-release/dspace-oai/dspace-oai-api/
    • mvn package
  4. Εφόσον έχουν πάει καλά τα προηγούμενα βήματα, θα πρέπει να έχει δημιουργηθεί το αρχείο dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/target/dspace-oai-api-1.5.2.jar το οποίο είναι και το ζητούμενο!

Configuration υπάρχουσας εγκατάστασης dspace ώστε να χρησιμοποιεί το νέο java-oai.jar και να υποστηρίζει ESE

  1. Καταρχήν κάνουμε backup την υπάρχουσα εγκατάσταση του dspace.
    • tar cvjf /backup/dspace-backup.tar.bzip2 /dspace
  2. Κλείνουμε τον Tomcat.
    • /etc/init.d/tomcat stop
  3. Παίρνουμε το αρχείο dspace-oai-api-1.5.2.jar που δημιουργήσαμε στα προηγούμενα βήματα και αντικαθιστούμε το αρχείο /dspace/webapps/oai/WEB-INF/lib/dspace-oai-api-1.5.2.jar στην υπάρχουσα εγκατάσταση του dspace.
    • mv dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/target/dspace-oai-api-1.5.2.jar /dspace/webapps/oai/WEB-INF/lib/dspace-oai-api-1.5.2.jar
  4. Τροποποιούμε το Configuration File του Dspace /dspace/config/oaicat.properties και προσθέτουμε στο τέλος σε μια νέα γραμμή την εγγραφή Crosswalks.ese=org.dspace.app.oai.ESECrosswalk
  5. Ξεκινάμε πάλι τον Tomcat.
    • /etc/init.d/tomcat start

Δυνατότητες του plugin

To ESE Plugin αλλάζει την μορφή του XML που εξάγει το dspace μέσω του ΟΑΙ-PMH και προσθέτει ορισμένα νέα στοιχεία σε κάθε record:

  • europeana:type ο τύπος του εγγράφου μπορεί να πάρει τις εξής τιμές: TEXT, VIDEO, SOUND, IMAGE
  • europeana:provider ο παροχέας του περιεχομένου, π.χ. Veria Central Public Library
  • europeana:object το URL του thumbnail του αντικειμένου (εφόσον υπάρχει). Το πεδίο αυτό δημιουργείται αυτόματα εάν δεν το έχει θέσει ήδη ο διαχειριστής του dspace στα μεταδεδομένα της εκάστοτε εγγραφής. To plugin εξετάζει αυτόματα αν υπάρχουν Dspace Bitstream Bundles τύπου THUMBNAIL για κάθε έγγραφο και αν ναι, παίρνει το URL του πρώτου από αυτά. π.χ. http://medusa.libver.gr/retrieve/7033/GRVER_000000000000000025.jpg.jpg
  • europeana:isShownAt To URL του item, π.χ.  http://medusa.libver.gr/handle/123/920. To πεδίο αυτό δημιουργείται αυτόματα εάν δεν το έχει θέσει ήδη ο διαχειριστής του dspace. Παράγεται αυτόματα από το πεδίο dc:identifier εφόσον αυτό περιέχει το URL της εγγραφής. Αν βέβαια θέλετε μπορείτε πάλι να εισάγετε τις δικές σας τιμές στο europeana:isShownAt οπότε θα χρησιμοποιούνται αυτές και όχι οι αυτόματες.
  • europeana:isShownBy Προαιρετικό πεδίο που περιέχει το URL του item. Το πεδίο αυτό είναι εναλλακτικό του europeana:isShownAt και ΔΕΝ δημιουργείται αυτόματα. Εμφανίζεται στο OAI-PMH μόνο εφόσον υπάρχει εισαχθεί από τον χρήστη.
  • europeana:unstored Προαιρετικό πεδίο που μπορεί να περιέχει κείμενο το οποίο θα ευρετηριάζεται από την Europeana.

Επαλήθευση

Για επιβεβαιώσετε ότι η βιβλιοθήκη σας υποστηρίζει το ESE μπορείτε να δείτε τα παρακάτω.

Παίρνοντας ως παράδειγμα την εγκατάσταση dspace της βιβλιοθήκης της Βέροιας, αρχικά με Dublin Core:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=oai_dc

Μια εγγραφή φαίνεται ως εξής: Dublin Core Record.xml

Ενώ αντίθετα με ESE:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=ese

Μια εγγραφή φαίνεται ως εξής: ESE Record.xml

Τα μεταδεδομένα τύπου ESE έχουν επαληθευτεί χρησιμοποιώντας το Europeana Content Checker Tool.

Αρχεία

Ευχαριστίες

Θερμές ευχαριστές στο Εθνικό Κέντρο Τεκμηρίωσης και στους υπευθύνους Νικόλαο Χούσο, Κώστα Σταμάτη και Ράνια Σταθοπούλου. H συνεισφορά τους είναι ιδιαίτερα σημαντική για την προσπάθειά μας.

Κατηγορία: Uncategorized, δημοσιεύθηκε στις 2 February 2010.
Tags: ,
Trackback URI: trackback