Archimista tips & tricks #11: caricare automaticamente immagini in Archimista

Uno dei miglioramenti più significativi di Archimista 1.2 rispetto alla versione 1 e 1.1 è nella gestione delle immagini digitali.

Infatti ora è possibile caricare più immagini digitali contemporaneamente. Ossia posso con una sola operazione attaccare diverse (1000, 800… milioni, numeri che fanno girare la testa cit Ingegner Cane) immagini a una singola unità. Ad esempio posso caricare 800 pagine di un registro collegandole alla relativa unità.

Tutto molto bello (e direi che questa funzionalità è ben fatta… e  detto da uno che si lamenta sempre…😉 ), ma c’è un MA…

Ma spesso la digitalizzazione e la descrizione non avvengono contemporaneamente e in caso di grossi fondi diventa una pena riaprire la singola unità, andare in inserisci immagini, selezionare tutte le immagini, aspettare che carichi le immagini e generi le derivate e ripetere questo processo per tutte le unità nel fondo.

Ecco il caso concreto: qui all’ente per cui lavoro stiamo descrivendo e digitalizzando la serie affari di P. Tacchi Venturi SJ. Una serie molto importante, come si può facilmente immaginare, composta da circa 2700 unità.

Abbiamo affidato questo gravoso compito al bravo archivista Sergio Palagiano, già responsabile per noi dell’inventario Roothaan.

Oltre a dover descrivere e ordinare le 2700 unità dovrà anche digitalizzare i 5 metri lineari di materiale. Capite che se da un lato sarebbe molto utile e di impatto poter includere le immagini in Archimista per poi vederle in ArchimistaWeb, dall’altro risulta eccessivamente gravoso associarle a mano per 2700 unità.

Per fortuna questo lavoro sarà svolto da questo script . Come funziona?

Lo script prende in esame tutte le cartelle contenenti le immagini digitali, cerca una corrispondenza tra il nome della cartella e un campo specifico, nel nostro caso il numero di fascicolo, ma potrebbe essere la segnatura definitiva. Se trova una corrispondenza univoca procede a copiare le immagini, generare le derivate e associare le immagini con la corrispondente unità.

Si può lasciar eseguire lo scirpt notte tempo. Se si vuole, come suggerisco nei commenti, lo si può integrare con la fase di generazione delle derivate. Infatti credo che nel nostro caso il contenuto delle cartelle saranno dei TIFF che verranno convertiti dallo script prima di caricarli in Archimista.

Alla fine viene generato un file log.txt in cui sono registrate tutte le operazioni fatte.

Domande e risposte varie.

D: Questo script va bene in ogni situazione di digitalizzazione che voglio caricare massivamente in seguito?
R: No, funziona solo nel caso in cui ci sia coincidenza 1:1 tra cartelle e unità. Se, ad esempio, ho granularità diversa del tipo che una cartella contiene le immagini afferenti a più unità diverse lo script non può funzionare.

D: Cosa devo fare per usare lo script?
R: Scaricare lo script, copiarlo in una cartella, ad esempio quella di Archimista.
Aprirlo con un editor di testo, ad esempio notepad++
Leggere i commenti (le parti dopo #), in particolare la parte iniziale dove bisogna dichiarare le variabili. Se non le si inserisce tutte lo script non parte. Le variabili sono:
dbname cioè dov’è il database di archimista da usare. L’indirizzo pre-inserito è giusto se si sta usando una macchina windows a 64bit e si è installato Archimista nella posizione di default.  Su una macchina a 32bit sarà c:/Program Files/Archimista/application/archimista.db. Nota bene Ruby vuole l’uso della slash (/) invece del backslash (\) tipico di Windows.
fond_id ossia l’id del fondo su cui vogliamo operare. Come lo ricavo? Invece di lanciare archimista dall’icona aprite un qualunque browser e collegatevi all’indirizzo localhost:3000. Vedrete la maschera di login di Archimista. Del resto l’icona non fa altro che collegarsi a quell’indirizzo interno al vostro computer. Ora navigate nel fondo su cui volete operare. Nella barra degli indirizzi avrete qualcosa come http://localhost:3000/fonds/9530/treeview. Ecco il numero dopo fonds è il vostro id del fondo (in questo caso 9530).
img_dir è la cartella contenitore dentro cui avete tutte le cartelle con le immagini (una per unità) che volete far analizzare dallo script. Ricordate di inserire l’indirizzo usando delle slash come separatori. Es d:/Downoloads/immagini_da_caricare/
img_dir_pub è la cartella degli oggetti digitali di Archimista. L’indirizzo indicato di base nello script è corretto se avete installato Archimista su Windows a 64 bit usando il percorso di default. Rimando al punto dbname se invece si è in una situazione diversa.
user_id e group_id che utente e gruppo usare per caricare le immagini. Da usare l’utente che ha creato quel fondo in quel database. Se state usando l’account base (guest, anche se gli avete cambiato nome) i valori saranno rispettivamente 2 e 1. Se avete creato altri account per sapere che id usare dovete loggarvi come amministratori, andare in gestione utenti e visualizzare l’utente. In alto nella barra degli indirizzi avrete qualcosa come http://localhost:3000/users/2/edit l’id in questo caso è 2. Fare lo stesso per i gruppi per conoscere l’id se si tratta di un gruppo diverso da default.
Ok questi sono i parametri di base per avviare lo script avviare il prompt dei comandi di windows, spostarsi dove si è salvato lo script e avviarlo con il comando

ruby.exe mass-dobj-uploader.rb

se non avete ruby.exe nel path vi dirà che non conosce il programma, allora dovete dargli il percorso completo… tenendo conto che ruby è dentro la cartella ruby\bin che sta a sua volta dentro Archimista. Quindi il comando potrebbe essere qualcosa come

"C:\Program Files (x86)\Archimista\ruby\bin\ruby.exe" mass-dobj-uploader.rb

Nota bene che avendo installato Archimista avete per forza tutti i componenti che servono già installati. Bisogna soltanto dirgli dove sono😉

D: Ma invece di scriverlo in Ruby perché non hai usato direttamente il framework Rails semplificandoti la vita e potendolo così integrare magari direttamente internamente al programma?
R: Boh mi è uscito così. In realtà era nato come script bash da usare su linux, ma poi ho cercato di fare qualcosa usabile anche su windows. Comunque non è male il fatto che una simile funzionalità non sia un semplice pulsante. Credo che perdere quei 5 minuti a leggere i commenti dentro allo script possano aiutare a usarlo meglio

D: Funziona anche su linux e Mac?
R: Il 99% si. Ovviamente indicando opportunamente i percorsi nelle variabili. Potrebbe essere necessaria qualche piccola modifica per adattarlo a database diversi da sqlite (ma a naso credo basti cambiare la riga 38 dove viene caricato il database)

D: Mi potrebbe essere utile, ma vorrei fare il controllo per un campo diverso dal numero di fascicolo
R: Scorrendo i commenti allo script è indicato cosa modificare. In particolare le query a riga 48 e 58. Al posto di file_number inserire il campo su cui si vuole fare il controllo. Ad esempio se abbiamo chiamato ogni cartella con la segnatura definitiva usare reference_number

D: Non funziona per i PDF
R: Si lo so, lo script non è molto generale. Nasce, come sempre, per risolvere un’esigenza specifica (quella del mio ente). Non è molto complicato modificarlo (del resto se fosse stato uno script complicato io non sarei stato in grado di farlo). Eventualmente scrivete o qui o su github e lo miglioriamo insieme.

Ogni feedback è benvenuto. Per il resto spero di poter mostrare a luglio come con questo procedura si possa valorizzare l’enorme lavoro di descrizione e digitalizzazione che il nostro archivista sta facendo.

Stay tuned

Un pensiero su “Archimista tips & tricks #11: caricare automaticamente immagini in Archimista

  1. Pingback: Archimista tips & tricks #12: generare automaticamente le segnature (script) | Frammenti Semantici

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...