Controllo di integrità file del Repository Documentale
La maschera di controllo integrità permette di effettuare una verifica di consistenza tra i dati presenti nel database e i file presenti nel file system.
Come e' strutturata una libreria di repository
Ogni libreria di repository è composta da due elementi principali: la tabella di definizione dei documenti, presente nel database e la cartella dei file fisici dei documenti presente nel file system. Si noti che la cartella dei file fisici è una cartella con un percorso relativo al server applicativo e non al client che si sta utilizzando. Infatti l'accesso ai file fisici viene sempre mediato dal server applicativo, che preleva i file per inviarli al client oppure riceve i nuovi file dal client e li scrive nel file system. Il client non ha mai accesso diretto al file fisico.
La definizione dei documenti, presente nel database, contiene informazioni sul nome e la descrizione del documento, sugli attributi di creazione, sui metadati associati, sui documenti correlati, sui diritti di accesso e via dicendo. In sostanza tutte le informazioni "satellite" associate al documento sono presenti nel database. Il file vero e proprio del documento invece è memorizzato fuori dal database, per questioni di performance legate all'archivio.
Il driver di repository si prende carico di mantenere allineate le informazioni presenti nel database e i file presenti nel file system. E' tuttavia possibile, a causa di molteplici motivi (principalmente legati a problemi di amministrazione) che le informazioni presenti nel database e i file presenti nel file system vengano disallineati.
Questa funzione ha lo scopo di controllare la consistenza delle informazioni e, se possibile, di effettuare delle operazioni per riportare le informazioni ad uno stato consistente.
Tipi di analisi
Sono presenti due modalità di analisi dei problemi: La modalità di analisi semplificata e la modalità di analisi completa.
Analisi semplificata
L'analisi semplificata rileva eventuali problemi e li riporta a video. Se l'analisi semplificata non riporta problemi allora la libreria è consistente. Nel caso di problemi l'analisi semplificata non è in grado di suggerire correzioni.
Analisi completa
L'analisi completa rileva la stessa tipologia di problemi dell'analisi semplificata. La differenza sta nel fatto che in caso di problemi l'analisi completa potrebbe suggerire delle operazioni di correzione mentre nel caso precedente questo non accade.
Quale tipo di analisi utilizzare?
E' necessario capire un concetto fondamentale: entrambe le modalità di analisi trovano gli stessi problemi, se esistono problemi. Non è quindi opportuno lanciare sempre l'analisi completa "perchè non si sa mai". La modalità completa richiede una quantità di risorse enormemente maggiore rispetto alla modalità semplificata e non sempre questo "sfondare la porta con un carroarmato" e' necessario.
Dove sta la differenza tra modalità semplificata e completa? La differenza è solamente la seguente: Se ci sono dei problemi di disallineamento, la modalità semplificata si limita a segnalare il problema mentre la completa segnala anche possibili soluzioni.
Quindi: Se si vuole effettuare un semplice controllo che vada tutto bene, si suggerisce di usare la modalità semplificata. Solo in caso di problemi si suggerisce di approfondire!
Successivamente vengono elencati tutti i possibili problemi rilevati dalla procedura. Inoltre viene indicato anche se il problema è risolvibile tramite l'analisi completa o meno.
Possibili problemi
Per semplicità espositiva chiameremo documento l'informazione presente nel database e file l'informazione presente nel file system. Quindi ad ogni documento corrisponde un file. Quando un documento è stato memorizzato tenendo traccia delle versioni, è possibile che ad ogni documento corrispondano uno o più file (il file corrente e le vecchie versioni).
Il file non e' presente nel database e non e' recuperabile
E' stato trovato un file che non ha corrispondenza nel database. Quando questo accade, il sistema cerca informazioni di recupero in un file satellite che normalmente è presente nella stessa cartella del file principale. Questo file satellite contiene un insieme di informazioni di base che permettono di reinserire alcune informazioni (non tutte) nel database e quindi di ricollegare il file al sistema. Vengono recuperate informazioni quali nome del file e descrizione, ma non vengono recuperate informazioni relative ai metadati oppure ai permessi di accesso. Se il file di recupero non viene trovato, si verifica questo problema. Il problema non ha soluzione automatica.
Il file non e' presente nel database ma e' recuperabile parzialmente
Si è verificata una situazione simile alla precedente, solo che in questo caso il file di recupero è stato trovato e quindi si può procedere alla ricostruzione delle informazioni sul database.
Non e' stato possibile recuperare il file a causa di problemi nel file di recupero
Si e' verificata la situazione del caso precedente ed e' stato tentato il recupero del file, ma i dati di recupero non sono stati letti correttamente. Questo problema potrebbe essere causato dal fatto che il file di recupero è stato alterato manualmente con un editor non adatto. Il problema non ha soluzione automatica, è un caso che dev'essere valutato singolarmente.
Il documento non punta ad alcun file
E' un caso improbabile ma è stato incluso per completezza. In questo caso il documento nel database non contiene alcuna informazione che permette di risalire al file relativo. Se inoltre mancano anche informazioni sulla firma del documento, il problema non è risolvibile.
Il documento punta ad un file inesistente e non esistono altri file compatibili
Non è stato trovato il file puntato dal documento. Non sono stati trovati altri file che potrebbero rimpiazzarlo. Potrebbe darsi che esistano file di rimpiazzo con la stessa firma ma nome diverso, solo che è stata eseguita l'analisi semplificata che non è in grado di fornire queste soluzioni. In tal caso una esecuzione dell'analisi completa potrebbe risolvere il problema.
Il documento punta ad un file inesistente, ma un altro file ha la stessa firma
Si è verificata una situazione simile alla precedente, solo che è stata eseguita l'analisi completa e questa ha trovato un file con la stessa firma anche se con nome differente. In questo caso il problema viene risolto facendo puntare il documento al nuovo file trovato.
Il documento punta ad un file con firma non coincidente
Questo tipo di problema è l'unico che non viene rilevato dall'analisi semplificata. E' altresì vero che una situazione del genere ha una bassissima probabilità di verificarsi, ed è stata contemplata solo per completezza. Ad ogni modo se esiste un file con la firma corretta, una analisi completa risolve il problema.
Un documento condivide il file con altri documenti
Potrebbe accadere che più documenti puntino allo stesso file. In questo caso il tutto funziona correttamente ma questa situazione è comunque una anomalia che viene segnalata. Il problema non ha soluzione automatica.
Il file viene utilizzato da un'altra libreria
Questa situazione si verifica quando sono stati commessi degli errori nella gestione dei percorsi cartella di differenti librerie. Ad esempio, è stata fatta puntare una libreria ad una cartella contenuta o che contiene la cartella di una differente libreria. La situazione normale richiede che le cartelle siano distinte e non che sia includano a vicenda. Il problema non ha soluzione automatica.
Perchè si verificano questi problemi?
Il motore di Repository Documentale interno dell'applicativo è in grado di gestire tutte le situazioni in modo robusto ed affidabile. Perchè allora si verificano questi problemi?
Da molti casi sottoposti ad assistenza è emerso che la quasi totalità dei problemi è stata causata da una amministrazione poco oculata delle informazioni. Situazioni quali: spostamento manuale delle cartelle nel file system, restore di backup vecchi, utilizzo di database generati da altri server applicativi e molte altre varianti di queste situazioni sono solitamente causa di problemi con il repository documentale.
E' importante tenere a mente che il repository documentale si basa simultaneamente su database e file system, pertanto quando si operano operazioni di manutenzione è necessario considerare entrambi gli aspetti.