IMPORTAZIONE DOCUMENTI COLLEGATI
L’importazione dei documenti collegati si basa su di un file di import contenente i riferimenti ai documenti da importare e le informazioni per eseguire il lookup e collegare i documenti agli oggetti corretti. Questo file sarà denominato “file indice” nella trattazione successiva.
Il file indice è un file di testo con la seguente struttura:
- prima riga (header): deve contenere l’indicazione della classe del DAC a cui associare i documenti collegati, classe che deve implementare le interfacce DocCollegatiInterface e DocCollegatiImportInterface nel formato “# class=nome.della.classe.completo.di.package”.
Esempio: # class=it.saga.pubblici.anagrafeUnica.An1DACAnagrafeUnica
Nota: l’header può essere omesso se si esegue l’importazione direttamente dalla maschera dei documenti collegati del tipo che si vuole importanre.
- righe successive (dati): ogni riga identifica un documento da importare e deve essere terminata da un “a capo”. Il tracciato di questa riga è il seguente:
- primi 255 caratteri: path relativo del file da importare (il path deve essere relativo alla posizione del file indice!)
- successivi 100 caratteri: descrizione del file
- caratteri successivi: in base al tracciato definito nel metodo getLookuopDescriptor()
I primi 355 caratteri dei record dati del file indice hanno quindi un formato fisso, mentre i caratteri successivi dipendono dal tracciato specifico del DAC che si sta importando.
PERCORSO DEL FILE
E’ possibile, solo per casi particolari, anche specificare un percorso assoluto per localizzare i file nel file di indice, anteponendo al percorso del file il seguente prefisso “!:”.
Esempio
Se i file da importare si trovano nella stessa cartella nel file indice è sufficiente scrivere solo il nome del file (ad esempio “immagine.jpg”); invece se i file sono in una sottocartella, allora nel file indice va riportato “sottocartella\immagine.jpg”. Questa struttura permette di posizionare e spostare la cartella con i file da importare (ed il file indice) senza dover modificare il file di importazione.
Se voglio invece indicare un percorso assoluto (ad esempio H:\immagine.jpg dovrò anteporre al percorso assoluto un “!:” così: “!:H:\immagine.jpg”). In questo caso invece il file indice può trovarsi in qualsiasi posizione, ma è vincolato al percorso assoluto presente al proprio interno.
IMPORTARE RIFERIMENTI A PROTOCOLLI O ELEMENTI DOCUMENTALI
E’ possibile importare riferimenti a protocolli o ad elementi documentali già presenti in archivio indicandolo nel campo relativo al percorso del file in questo modo:
1) protocollo: la riga deve iniziare con @protocollo e deve essere così composta
posizone 1: @protocollo
posizone 13: numero di protocollo (lunghezza 7)
posizone 21: anno di protocollo (lunghezza 4)
posizone 26: codice aoo (lunghezza 100) [opzionale]
Esempi:
123456789012345678901234567890123456789012345678901234567890123456789 @protocollo NNNNNNN/AAAA codice_aoo @protocollo 0000631/2015 aoomar2
2) elemento documentale: la riga deve iniziare con @documento e deve essere così composta
posizone 1: @documento
posizone 13: applicazione trasco del documento (lunghezza 20)
posizone 33: codice trasco del documento (lunghezza 20)
Esempio:
123456789012345678901234567890123456789012345678901234567890123456789 @documento simel1 5028
NOTA: nel caso di riferimenti a protocolli o a elementi documentali è stata anche inserita una logica che previene l’importazione di riferimenti doppi allo stesso protocollo/elemento documentale, per cui in caso l’elemento sia già presente nei documenti collegati non viene importato una seconda volta.
IMPOSTARE I CAMPI CONTESTO E AZIONE
E’ possibile impostare i campi contesto e azione del documento da importare riportando nel campo relativo alla descrizione del documento, oltre alla descrizione, il contesto (valore nel db e non a video) e l’azione separandoli con un pipe “|”.
Esempio
DESCRIZIONE|CONTESTO|AZIONE
IMPOSTARE L’ACL DA ASSOCIARE AI DOCUMENTI
Per impostare l’acl da associare al documento bisogna riportare il prefisso e il nome dell'ACL (che deve essere già presente in archivio) separati da un punto, nel campo relativo al nome del file, aggiungendoli come suffisso separato con un pipe “|”: NOMEFILE|acl_prefix.acl_name.
Esempio
File=sollecito.pdf, ACL=(prefisso=rsu, ID=RSU_NOTE)
Nel campo relativo al nome del file devo riportare: sollecito.pdf|rsu.RSU_NOTE
IMPOSTARE IL FLAG DI PUBBLICAZIONE
Per impostare il flag di pubblicazione bisogna riportare il carattere 'P' nel campo relativo al nome del file, aggiungendolo come suffisso separato da pipe “|” dopo il descrittore relativo all'ACL del documento: NOMEFILE|acl_prefix.acl_name|P.
Esempio
File=sollecito.pdf, ACL=(prefisso=rsu, ID=RSU_NOTE), Flag Pubblicazione=acceso
Nel campo relativo al nome del file devo riportare: sollecito.pdf|rsu.RSU_NOTE|P
oppure, in assenza di ACL: sollecito.pdf||P
TRACCIATO DI IMPORTAZIONE
C’è un metodo semplice per conoscere il tracciato di importazione per un determinato oggetto (DAC). E’ sufficiente entrare nella maschera dei documenti collegati del DAC in questione, da qui si può aprire la maschera di importazione. Dalla maschera di importazione si può visualizzare il tracciato dal menu [Opzioni][Visualizza il tracciato di importazione].
RISOLUZIONE DEI PROBLEMI
Nel caso durante l'importazione si verifichino dei problemi per alcuni dei documenti oggetto dell'importazione, al termine dell'importazione viene prodotto nella stessa cartella in cui si trova il file indice un file "import_errors_yyyy-mm-dd_hh-mm-ss.txt" contenente tutte le righe del file indice che non è stato possibile importare.
Il file "import_errors..." è in pratica un file indice esso stesso, contenente però il riferimento ai soli documenti che non è stato possibile importare.
Una volta risolti i problemi che hanno causato la mancata importazione, sarà quindi possibile importare i documenti mancanti semplicemente selezionando come file indice il file "import_errors...".