Archiviamo Cassandra

Archivismi - Oggi cambiamo lato della medaglia; niente tecnica, raccontiamo una storia vera.



[ZEUS News - www.zeusnews.it - 20-02-2024]

archiviamo cassandra 1

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

Approfondimenti
Cassandra Crossing/ Il quarto Cavaliere
Cassandra Crossing/ Storie di aerei caduti e del loro software
Cassandra Crossing/ Extended Play
Cassandra Crossing/ L'insostenibile inaffidabilità delle infrastrutture
Spiccioli di Cassandra/ La Tv nuova
Cassandra Crossing/ Bandersnatch
Debian e Kali Linux ora girano dentro Windows 10
Addio, Windows Vista
25 anni di Linux
Windows Ink, Project to PC e Bash sotto Windows
Linux compie 17 anni
Amministrazione avanzata di server Linux

Commenti all'articolo (ultimi 5 di 21)

Grazie 🙏🏻
23-4-2024 14:03

:cappello: Leggi tutto
20-4-2024 15:09

Riallacciandomi alla pietra, anche una scheda perforata potrebbe essere durevole, ma invece di essere fatte di cartone ( sono passati quarantanni da quando ne ho visto l'ultima) se fossero fatte di metallo, come mi mostrarono all'epoca, avrebbero una durata notevolmente superiore a quelle attualmente esistenti. L'esempio delle lamine di... Leggi tutto
16-4-2024 12:19

La liberta' di parola e' un diritto inviolabile, ma nei forum di Zeus News vige un regolamento che impone delle restrizioni e che l'utente e' tenuto a rispettare. I moderatori si riservano il diritto di cancellare o modificare i commenti inseriti dagli utenti, senza dover fornire giustificazione alcuna. Gli utenti non registrati al forum inoltre sono sottoposti a moderazione preventiva. La responsabilita' dei commenti ricade esclusivamente sui rispettivi autori. I principali consigli: rimani sempre in argomento; evita commenti offensivi, volgari, violenti o che inneggiano all'illegalita'; non inserire dati personali, link inutili o spam in generale.
E' VIETATA la riproduzione dei testi e delle immagini senza l'espressa autorizzazione scritta di Zeus News. Tutti i marchi e i marchi registrati citati sono di proprietà delle rispettive società. Informativa sulla privacy. I tuoi suggerimenti sono di vitale importanza per Zeus News. Contatta la redazione e contribuisci anche tu a migliorare il sito: pubblicheremo sui forum le lettere piu' interessanti.
Sondaggio
Quando acquisti un elettrodomestico per la casa, valuti soprattutto...
che il CONSUMO energetico non sia elevato.
che lo SPAZIO occupato non sia eccessivo.
che mi faccia risparmiare TEMPO.
che il COSTO di acquisto sia basso.

Mostra i risultati (2294 voti)
Aprile 2024
Enel nel mirino dell'Antitrust per le bollette esagerate
TIM, altre ''rimodulazioni'' in arrivo
L'algoritmo di ricarica che raddoppia la vita utile delle batterie
Hype e Banca Sella, disservizi a profusione
Falla nei NAS D-Link, ma la patch non arriverà mai
La navigazione in incognito non è in incognito
Le tre stimmate della posta elettronica
Amazon abbandona i negozi coi cassieri a distanza
Marzo 2024
Buone azioni e serrature ridicole
Il piano Merlyn, ovvero la liquidazione di Tim
Falla nelle serrature elettroniche, milioni di stanze d'hotel a rischio
L'antenato di ChatGPT in un foglio Excel
La valle inquietante
La crisi di Tim e la divisione sindacale
La fine del mondo, virtuale
Tutti gli Arretrati
Accadde oggi - 27 aprile


web metrics