Archivismi - Oggi cambiamo lato della medaglia; niente tecnica, raccontiamo una storia vera.
[ZEUS News - www.zeusnews.it - 20-02-2024]
Questo è un articolo su più pagine: ti invitiamo a leggere la pagina iniziale
Archivismi: la preservazione della cultura
Finora abbiamo lavorato su Internet Archive, ma solo con esempi semplici. Archiviare vuole però spesso dire archiviare una quantità di materiali diversi, con uno scopo finale. In questi casi non ci sono esempi semplici che bastino; il diavolo sta sempre nei dettagli e le informazioni più utili si apprendono ascoltando storie ed esperienze reali.
Ecco che oggi Cassandra vi racconterà una storia vera, tuttora non conclusa, e parlerà solo di dettagli che non hanno a che fare direttamente con Internet Archive, ma con le fasi preliminari una campagna di archiviazione generica, in cui il lavoro più lungo è ritrovare, raccogliere e soprattutto preparare il materiale per l'archiviazione vera e propria.
E cosa di meglio che raccontare la campagna di archiviazione di Cassandra Crossing? Si, era da tempo che Cassandra metteva da parte pezzi destinati a essere archiviati. Ma andiamo con ordine.
Le origini di Cassandra Crossing risalgono al lontano 2003, la pubblicazione regolare (beh, quasi) inizia invece nel 2005 su Punto Informatico. Prosegue poi su altre testate come Zeus News, talvolta in parallelo. Si estende anche su carta e in video.
I materiali disponibili erano dei tipi più svariati; file di testo con e senza accenti, file di word processor di tipi diversi, file Pdf e chi più ne ha più ne metta. Tanti file sono ovviamente andati semplicemente persi. Fu così che parecchi anni fa Cassandra cercò il modo di recuperare, omogeneizzare e centralizzare tutto il corpus di Cassandra.
Come in tutte le cose, non conviene buttarsi a capofitto in un lavoro ma pensare, programmare, fare e poi cercare una via ancora migliore. Dopo diversi tentativi, Cassandra ha provato Medium, un social specializzato per scrittori o aspiranti tali. Oltre a fornire un punto unico in cui scrivere con un discreto editor online e immagazzinare gli articoli, Medium è dotato di una ottima funzionalità di importazione di testo da qualunque sito, anche con pagine piene di pubblicità o effetti vari. È dotato di una funzionalità di esportazione dei dati utente, che salvava i singoli articoli in formato in Html.
Fu così che Cassandra centralizzò l'archivio su Medium, non senza aver dedicato molto tempo a ritrovare, con i motori di ricerca, i link ai vecchi articoli, mai archiviati in locale o comunque perduti. Ma la soluzione non era soddisfacente per vari motivi, a cominciare dal fatto che gli articoli erano in un cloud, e peggio ancora in quello che sostanzialmente era un social, con tutti gli aspetti deleteri che Cassandra odia e vi racconta spesso.
E così Cassandra decise di iniziare ad archiviare Cassandra Crossing su Internet Archive. E visto che si partiva da un archivio completo in formato omogeneo, sembrava dovesse essere una passeggiata. «Madornale errore», come usa dire Jack Slater. Infatti l'omogeneità necessaria non è solo una questione di formato, ma soprattutto di struttura interna e di omogeneità delle informazioni memorizzate dei file degli articoli.
Partiamo dalla cosa più semplice: i nomi dei file. Ovviamente Medium utilizza una sua filosofia e forma il nome dalla data di pubblicazione (non quella originaria, ma quella su Medium), aggiungendo un identificativo binario e una derivazione del titolo: qualcosa tipo
2023-12-29_Cassandra-Crossing — Archivismi — l-organizzazione-dei-documenti-in-Internet-Archive-e83b9e3b9cca.html
E' pur vero che i file si rinominano anche a mano, ma si tratta di un lavoro improbo quando i file sono centinaia o migliaia. Automatizzare diventa indispensabile. Per fortuna in Linux sono disponibili linguaggi di scripting potenti e librerie che hanno del miracoloso.
Si riesce quindi a rinominare abbastanza facilmente i file togliendo, aggiungendo e riordinando informazioni. Paradossalmente la cosa più difficile è stata inserire automaticamente il numero dell'articolo all'inizio del nome del file.
Per fortuna Cassandra, che talvolta è metodica, aveva l'abitudine di scrivere il numero dell'articolo all'inizio del sottotitolo, mettendolo tra parentesi tonde. Con qualche piccola alchimia di espressioni regolari è stato così possibile estrarlo automaticamente e utilizzarlo per costruire un più "umano" nome di file come
562_Cassandra-Crossing — Archivismi — l-organizzazione-dei-documenti-in-Internet-Archive.html
Poi è stato necessario elaborare i file, ripulirli e convertirli in formati bene archiviabili. Il primo passo necessario è stato ripulire i file Html da una immane quantità di tag nascosti, totalmente inutili per definire il testo ma necessari per garantire le funzionalità del sito di Medium. Infatti, come tutti i social, Medium implementa le funzioni di esportazioni al minimo sindacale richiesto dal (sempre sia lodato) GDPR, e quindi produce dati completi si, ma non adatti per essere facilmente riutilizzati.
La soluzione migliore che Cassandra ha trovato è stata quella di convertire l'Html in formato markdown, filtrare delle linee che non contenevano informazioni utili e riconvertirlo nuovamente in Html. Questo piccolo miracolo è stato possibile grazie alle librerie di conversione documentale Pandoc, coadiuvate dalle normali utilità Unix come grep.
Ora che i file sono ripuliti e hanno un nome umano sussiste ancora il problema delle immagini incluse nei file. Infatti le immagini non vengono esportate con gli altri dati, e gli URL delle immagini puntano tutti ai server di Medium, che quindi, malgrado tutto il lavoro fatto, ha ancora in pugno una parte importante degli articoli.
È necessario quindi convertire le immagini remote in immagini inline, dentro lo stesso codice Html, codificandole in base64. Questo processo, concettualmente semplice, di solito deve essere svolto a mano per ogni singolo file e URL; per fortuna esiste il modo di farlo automaticamente, tramite il parametro self-contained, aggiunto al comando Pandoc di riscrittura dell'Html.
Il formato principale scelto per l'archiviazione è comunque il Pdf, che non ha questo problema perché convertendo l'Html in Pdf le immagini vengono inserite direttamente nel file.
Per non farsi mancare niente, sempre grazie ai miracoli di Pandoc, Cassandra ha potuto convertire in maniera semplicissima in Pdf tutti i formati già prodotti, l'Html di partenza, il markdown e l'Html semplificato, scegliendo poi il migliore. Il risultato, per ora, lo trovate qui.
Un paio di giornate "piene" di lavoro hanno portato a questo script Bash di 39 righe, certamente non ottimale né privo di errori, che qui comunque commenteremo, giusto per rendere l'idea. Capirlo a grandi linee è sufficiente. Ma se vi servisse, riutilizzarlo sarebbe per voi un bel risparmio di tempo.
# Procedura per la preparazione all'archiviazione degli articoli
# di Cassandra Crossing
#
# inizializzazioni varie
_base="./tuttocassandra_elaborazione/"
_base2="./posts/"
_base3="./markdown/"
_base4="./temp/"
_base5="./html/"
_base6="./pdf/"
_temp="temp.txt"
#
# cambio directory di lavoro, creazione directory e pulizia file
cd "${_base}"
mkdir markdown html temp pdf
rm markdown/* html/* temp/* pdf/*
cd "${_base2}"
_dfiles="*"
rm "${_temp}"
#
# inizio loop principale
for f in $_dfiles
do
#
# estrazione del numero dell'articolo
g=`grep -Eo -m 1 ‘\([0-9]+\)' $f | tr -d ‘()'`
g="000"$g
g=`echo $g | rev | cut -c 1-3 | rev`
h=`echo $f | cut -d ‘_' -f2- | rev | cut -d ‘-' -f2-| rev`
#
# formazione del nuovo nome del file e copia col nuovo nome
i=$g"_"$h
echo "$i"
cp $f "../$_base4${i}.html"
#
# conversione in formato markdown, ripulitura e riconversione in html
pandoc -f html -t markdown "../"$_base4$i".html" > "${_temp}"
grep -v "^:::" "${_temp}" |sed -e ‘s|{#.*}||g' > "../"${_base3}$i".md"
pandoc — self-contained -f markdown -t html "../"${_base3}$i".md" > "../"$_base5$i".html"
pandoc — pdf-engine=xelatex -f markdown -t pdf "../"$_base3$i".md" > "../"${_base6}$i".pdf"
#
# pulizia e fine ciclo
done
rm -rf "${_temp}" "../$_base4"
Ti invitiamo a leggere la pagina successiva di questo articolo:
Archiviamo Cassandra, parte seconda
Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con Zeus News
ti consigliamo di iscriverti alla Newsletter gratuita.
Inoltre puoi consigliare l'articolo utilizzando uno dei pulsanti qui
sotto, inserire un commento
(anche anonimo)
o segnalare un refuso.
© RIPRODUZIONE RISERVATA |
|
Scrivere a Cassandra - Twitter - Mastodon
Videorubrica "Quattro chiacchiere con Cassandra"
Lo Slog (Static Blog) di Cassandra
L'archivio di Cassandra: scuola, formazione e pensiero
|
||
|
zeross