Ricevuta di avvenuto deposito

Come notifica della corretta cattura dei dati viene inviata una mail al contatto riportato nell’identificazione del repository OAI-PMH.

La corretta esposizione di tale indirizzo mail si può controllare con un browser visitando la url del proprio repository

http://repository/cgi/oai2?verb=Identify

Per richiedere l’invio in copia ad ulteriori destinari si prega di inviare una mail ad oaiatdepositolegaledotit

La mail inviata conterrà in attachment un file xml e un file di stile xsl. Salvando entrambi i file nella stessa directory sarà possibile aprire il file xml con un comune browser e visualizzarne l’output in forma tabellare per una lettura più comoda e veloce.

La struttura del file xml e’ la seguente:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<harvest data="DATA-DELLA-CATTURA">
  <item id="ITEM-IDENTIFIER">
    <component>
      <url> URL </url>
      <sha1> CHECKSUM SHA1 BASE32 </sha1>
      <http_code> RISPOSTA HTTP (200=OK 302=REDIRECT 404=NOT FOUND) </http_code>
      <mimetype> MIMETYPE </mimetype>
    </component>
  </item>
</harvest>

Esempio di ricevuta di una tesi (Item) composta da due oggetti (Components): la pagina html di presentazione (jump off page) e la risorsa pdf

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<harvest data="28092010">
  <item id="oai:amsdottorato.cib.unibo.it:1618">
    <component>
      <url>http://amsdottorato.cib.unibo.it/1618/</url>
      <sha1>U6NTYF7ISBVHMNN3O7ALOQ6Z7YS4QCUH</sha1>
      <http_code>0</http_code>
      <mimetype>text/html</mimetype>
    </component>
    <component>
      <url>http://amsdottorato.cib.unibo.it/1618/1/Lovece_Stefania_tesi.pdf</url>
      <sha1>GQ7GCFTWYAIFCA6KNSBEOPWL6T6XQYUH</sha1>
      <http_code>200</http_code>
      <mimetype>application/pdf</mimetype>
    </component>
</harvest>

CHECKSUM SHA1 BASE32

Si e’ scelto l’utilizzo di tale algoritmo per una maggiore robustezza rispetto al piu’ utilizzato MD5.

Per generare e controllare la validita’ del checksum SHA1 BASE32 si possono usare i seguenti programmi

WINDOWS: FSUMFE

http://fsumfe.sourceforge.net/

Utilizzare il programma come spiegato nella screenshot di seguito

Linux / OSX

Un semplice script per generare il checksum SHA1 in BASE32 per ambienti Linux/OSX e’ il seguente. Richiede un interprete Ruby 1.8 e la gem ‘base32′

$ gem install base32

editare sha1-base32.rb

#!/usr/bin/env ruby
require 'rubygems'
require 'base32'
require 'sha1'
d = SHA1.new
d << File.read(ARGV[0])
puts Base32.encode(d.digest)

eseguire ./sha1-base.rb NOMEFILE

$  ./sha1-base32.rb NOMEFILE.pdf

Leave a Reply