Documentazione JiFile
Transcript
Documentazione JiFile
JIFILE - INTRODUZIONE ALL’UTILIZZO Settembre 2011 JiFile – Introduzione all’utilizzo – versione 1.0 1 SOMMARIO Sommario.........................................................................................................................................................2 Introduzione a JiFile..........................................................................................................................................3 Obiettivi........................................................................................................................................................3 Argomenti trattati.........................................................................................................................................3 Glossario dei termini.....................................................................................................................................3 Conoscere JiFile................................................................................................................................................4 Cos’è JiFile....................................................................................................................................................4 Perché JiFile..................................................................................................................................................4 I formati supportati......................................................................................................................................4 Come utilizzare JiFile........................................................................................................................................5 Installare JiFile..............................................................................................................................................5 Configurare JiFile..........................................................................................................................................6 Requisiti......................................................................................................................................................13 La sezione Filesystem..................................................................................................................................14 Indicizzazione automatica.......................................................................................................................15 Indicizzazione manuale...........................................................................................................................16 L’indice di JiFile...........................................................................................................................................18 Report dell’indice....................................................................................................................................18 Elenco dei documenti indicizzati.............................................................................................................19 Utilizzare il plugin di JiFile...........................................................................................................................21 Riferimenti On-line.........................................................................................................................................22 JiFile – Introduzione all’utilizzo – versione 1.0 2 INTRODUZIONE A JIFILE Questo documento è rivolto agli utilizzatori di JiFile. In questo documento imparerai ad installare ed utilizzare JiFile. OBIETTIVI Dopo aver terminato questo documento avrai imparato a: • • Installare JiFile. Utilizzare JiFile. ARGOMENTI TRATTATI In questo documento, verranno trattai i seguenti argomenti: • • Conoscere JiFile Come utilizzare JiFile GLOSSARIO DEI TERMINI IFile: frame work script per il recupero e l’indicizzazione dei contenuti di un file. CMS: Content Management System - sistema per la gestione dei contenuti. Lucene: API gratuita ed open source per il reperimento di informazioni inizialmente implementata in Java da Doug Cutting. È supportata dall'Apache Software Foundation ed è resa disponibile con l'Apache License. Lucene è stata successivamente reimplementata in Perl, C#, C++, Python, Ruby e PHP. Lucene Document: Un “documento” nella nomenclatura di Lucene non è altro che un insieme di Fields (campi) da indicizzare. PHP: Hypertext Preprocessor - linguaggio completo di scripting, flessibile e versatile, che può girare su qualsiasi server Web e su qualsiasi sistema operativo (Windows o Unix/Linux, ma anche Mac, AS/400, Novell, OS/2 e altri); consente di interagire con tipi diversi di database (MySql, PostgreSql, Sql Server, Oracle, SyBase, Access e altri). Zend Framework: insieme di librerie scritte in PHP 5 rilasciate dalla Zend. XML: eXtensible Markup Language - metalinguaggio di markup, ovvero un linguaggio marcatore. XSD: XML Schema Definition - linguaggio di descrizione del contenuto di un file XML. JiFile – Introduzione all’utilizzo – versione 1.0 3 CONOSCERE JIFILE • • • Cos’è JiFile Perché JiFile I formati supportati COS’È JIFILE JiFile è una componente per Joomla (compatibile Joomla!1.5.x e Joomla! 1.6/1.7), e nasce dall’esigenza di avere uno strumento integrato in Joomla che permetta l’indicizzazione dei contenuti testuali di un documento (DOC, PDF, EXCEL …) e la ricerca all’interno degli stessi. JiFile si basa su IFile (http://sourceforge.net/projects/indexfile/) framework OpenSource basato sulla Zend Search Lucene. JiFile presenta una semplice interfaccia a livello amministrativo che ne permette una grande facilità d’uso. PERCHÉ JIFILE Ad oggi Joomla non ha un proprio motore di indicizzazione e gestione documentale. JiFile risolve il problema dell’indicizzazione valorizzando di molto le vostre applicazioni. Con JiFile è possibile recuperare i contenuti da una vasta quantità di documenti e indicizzarlo. Questo vi permetterà di ricercare, installando il plugin di JiFile, oltre che all’interno degli articoli di Joomla, anche all’interno dei vostri documenti. I FORMATI SUPPORTATI JiFile nella versione 1.0 incorpora il frame work IFile nella versione 1.1 che supporta per il recupero dei contenuti e l’indicizzazione una vasta quantità di formati: • • • • • • • • • • • • • Rich Text Format (.rtf) Moving Picture Expert Group-1/2 Audio Layer 3 (.mp3) Joint Photographic Experts Group (.jpg - .jpeg) Microsoft Word 97-2000 (.doc) Microsoft Word 2003-2007 (.docx) Microsoft Excel 97-2000 (.xls) Microsoft Excel 2003-2007 (.xlsx) Microsoft PowerPoint 2003-2007 (.pptx) OpenOffice.org Writer (.odt) OpenOffice.org Calc (.ods) Adobe Portable Document Format (.pdf) File di testo (.txt) Web page (.htm - .html) JiFile – Introduzione all’utilizzo – versione 1.0 4 COME UTILIZZARE JIFILE • • • • • • Installare JiFile Configurare JiFile Requisiti La sezione Filesystem L’indice di JiFile Utilizzare il plugin di JiFile INSTALLARE JIFILE Per installare JiFile basta scaricare la componente ed i plugin dal sito http://www.isapp.it/download-jifile e seguire il processo di installazione automatica delle estensioni di joomla (http://docs.joomla.org/Installing_an_extension) Se il processo di installazione della componente e del plugin e andato a buon fine il sistema riporterà le seguenti schermate. Figura 1 – Installazione JiFile Ora nella vostra lista delle componenti sarà presente la nuova componente JiFile. Figura 2 – Installazione avvenuta con successo JiFile – Introduzione all’utilizzo – versione 1.0 5 Il sistema potrebbe dare un errore nello spostare la libreria IFile sotto la cartella “libraries” di joomla. In caso questo avvenga verificare che si abbiamo i permessi di scrittura sulla cartella. E’ possibile inserire manualmente nella cartella “libreries” la libreria IFile presente nel pacchetto di installazione o recuperandola da http://sourceforge.net/projects/indexfile/ . Provando ad accedere alla componente, in caso la libreria IFile dovesse mancare il sistema avvisa son un messaggio. Figura 2 – Mancanza della libreria IFile CONFIGURARE JIFILE JiFile definisce due tipi di configurazione. Una si riferisce alla configurazione della libreria IFile, e l’altra è la configurazione della componente. Configurazione IFile Accedendo la prima volta alla componente verrete reindirizzati alla configurazione della libreria IFile. Terminata la configurazione e salvato, è possibile ritornare e modificare la configurazione accedendo dall’icona “Config”. Questa è la parte più importante per l’utilizzo corretto della componente. Una configurazione errata potrebbe provocarvi problemi nel processo di indicizzazione. Pertanto questo è il capito più importante e andrebbe letto con molta attenzione. JiFile permette mediante una interfaccia grafica la configurazione del file XML senza dover intervenire manualmente sul file. In caso si voglia configurare il file manualmente è possibile farlo modificando il file XML IFileConfig.xml presente nella cartella libreries/ifile/config validato da un XSD IFileConfig.xsd che si trova nella stessa cartella. Per maggiori informazioni sulla struttura e la configurazione del file XML si rimanda alla documentazione ufficiale di IFile, nella sezione “Configurare IFile”( http://sourceforge.net/projects/indexfile/files/Document/1.1 ). JiFile – Introduzione all’utilizzo – versione 1.0 6 Figura 1 – Configurazione della libreria IFile Di seguito verranno descritti tutti gli elementi della configurazione. Root-application [obbligatorio] Definisce il path della root dell’applicazione. Questo è molto utile da utilizzare in caso si debba spostare l'applicazione in ambienti diversi, permettendo così di avere path relativi dei file indicizzati. Il sistema verifica che il path inserito esista e sia corretto nell’ambiente in cui si sta eseguendo il processo di indicizzazione, altrimenti viene presentato in messaggio di errore. Va ricordato che non va inserito l’ultimo separatore di delimitazione. Timelimit [opzionale] Definisce il tempo massimo di esecuzione del processo di indicizzazione del singolo documento. Il campo accetta solo valori interi positivi. Se non valorizzato, il time-limit è quello configurato nel php.ini. Il valore minimo inseribile è di 180 secondi. Memorylimit [opzionale] Definisce la memoria massima che lo script può allocare durante l’esecuzione del processo di indicizzazione del singolo documento. Il campo accetta solo valori interi positivi. Se non valorizzato, il memory-limit è quello configurato nel php.ini. Duplicate [opzionale] Definisce la possibilità di avere documenti duplicati all'interno dell'indice. Se valorizzato a zero (0) o non presente, il sistema verifica che il contenuto del documento da indicizzare non sia già presente nell'indice. Altrimenti se valorizzato a uno (1) il sistema non effettua la verifica di esistenza del documento all'interno dell'indice. La verifica viene fatta sul contenuto del documento. Parametri permessi: JiFile – Introduzione all’utilizzo – versione 1.0 7 • • 0 1 Encoding [opzionale] Definisce il tipo di “charset encoding” in cui è stato scritto il documento. Di fatto la combinazione di questo campo con il tipo di Analyzer (descritto più avanti)definiscono il processo di conversione dei dati per una corretta indicizzazione. Ad oggi il “charset encoding” definito in fase di configurazione viene utilizzato non solo per l’indicizzazione del contenuto del documento ma per tutti i campi da indicizzare. Se non valorizzato il sistema cerca di recuperare autonomamente il tipo di encoding di ogni campo. I tipi di charset configurabili sono: • • • • • • UTF-8 ASCII ISO-8859-1 ISO-8859-15 CP1256 Windows-1252 Un tipo di encoding errato potrebbe provocare una indicizzazione incompleta o non corretta dei campi da indicizzare. Va fatta molta attenzione al tipo di encoding che viene settato in funzione del tipo di Analyzer utilizzato. Per le esperienze avute, in caso non si abbia una vera conoscenza del tipo di encoding del documento (ovvero nella maggior parte dei casi), conviene non configurare il campo. Di fatto nel caso si utilizzi un Analyzer di tipo UTF-8 e si hanno file codificati in UTF-8 non andrebbe configurato l’encoding dato che le librerie di Zend Lucene tenterebbero di forzare la codifica e pertanto si potrebbe avere, soprattutto per caratteri speciali (con un numero di byte maggiore di uno), una alterazione dei caratteri. In altri casi il processo di tokenizzazione dei termini potrebbe non andare a buon fine e ritornare un insieme vuoto, pertanto se il sistema presenta una eccezione che il contenuto del documento non è stato tokenizzato verificate anche l’encoding utilizzato. Analyzer [opzionale] JiFile – Introduzione all’utilizzo – versione 1.0 8 Serve alla gestione del tipo di analizzatore del testo da indicizzare. Il tipo di analyzer serve per la gestione dei documenti sia in fase di indicizzazione che in fase di ricerca Se si configura un tipo di analyzer per indicizzare un documento e si cambia successivamente, durante la ricerca, i risultati potrebbero essere diversi da quelli attesi. Di fatto un analyzer dovrebbe essere sempre lo stesso per l’indice. Se non valorizzato il sistema definisce automaticamente come analyzer: Utf8_CaseInsensitive I tipi di analizzatori sono: • • • • • • • • • Text TextNum Text_CaseInsensitive TextNum_CaseInsensitive Utf8 Utf8Num Utf8_CaseInsensitive Utf8Num_CaseInsensitive Custom-default Per quest’ultimo, “custom-default”, il sistema presenta due nuovi campi che permettono di definire un tipo di analizzatore del testo personalizzato. Figura 2 – Configurazione Analyzer Custom-default Ovvero è possibile definire delle proprie classi per analizzare e tokenizzare il JiFile – Introduzione all’utilizzo – versione 1.0 9 testo . Di fatto andranno definiti il “path” assoluto ove risiede lo script PHP contenente la classe definita nel campo “class”. Campo Path Class Descrizione Percorso assoluto dello script PHP che contiene la classe definita nel campo class Nome della classe da richiamare che estende la Zend_Search_Lucene_Anal ysis_Analyzer Esempio / var/www/html/app/analyzer/Stan dardAnalyzer/Analyzer/Standar d/English.php StandardAnalyzer_Analyzer_Sta ndard_English Un esempio di analizzatore personalizzato è presente al sito: http://code.google.com/p/lucene-silverstripe-plugin/ Per maggiori dettagli sul tipo di analyzer più appropriato alle proprie esigenze si rimanda al sito della Zend Framework: http://framework.zend.com/manual/en/zend.search.lucene.extending.html Filtri [opzionale] Servono per la gestione del processo di tokenizzazione definendo i filtri sui termini tokenizzati. I filtri servono per la gestione dei documenti sia in fase di indicizzazione che in fase di ricerca. Se si configurano dei filtri per indicizzare un documento e se ne configurano altri per la ricerca, i risultati potrebbero essere diversi da quelli attesi. Di fatto i filtri dovrebbero essere sempre gli stessi per l’indice. E’ possibile non definire nessun tipo di filtro. I filtri disponibili sono di tre tipi: • • • stop-words short-words custom-fields stop-words [opzionale] Definisce il file per l’eliminazione delle parole (termini tokenizzati) all’interno del testo da indicizzare. JiFile – Introduzione all’utilizzo – versione 1.0 10 Il campo richiede il percorso assoluto del file delle stop-words. Il file deve contenere tutte le parole separate da un ritorno a capo. Esempio: /var/www/html/app/mystopwords.txt short-words [opzionale] Definisce il limite minimo di caratteri del singolo termine. Pertanto settando un limite minimo di 3 caratteri per termine, il sistema non indicizzerà e non considererà nei processi di ricerca tutte quelle parole di due caratteri (come ad esempio: io, tu, li, il, …). Il sistema permette di definire un limite minimo che va da 2 (due) a 4 (quattro) caratteri. E’ possibile estendere il limite andando a definire nuovi limiti minimi nel file XSD. custom-fields [opzionale] Definisce la gestione di eventuali filtri personalizzati. E’ permesso integrare più di un filtro. Figura 3 – Configurazione Filtri Custom Ovvero è possibile definire delle proprie classi per tokenizzare il testo . Il tag necessita del “path” assoluto ove risiede lo script PHP contenente la classe definita nel campo “class”. Campo path JiFile – Introduzione all’utilizzo – versione 1.0 Descrizione Percorso assoluto dello script PHP che contiene la classe definita nel campo class Esempio / var/www/html/app/analyzer/Standar dAnalyzer/Analyzer/TokenFilter/E nglishStemmer.php 11 class Nome della classe da richiamare che estende la Zend_Search_Lucene _Analysis_TokenFilter StandardAnalyzer_Analysis_TokenF ilter_EnglishStemmer Un esempio di analizzatore personalizzato è presente al sito: http://code.google.com/p/lucene-silverstripe-plugin/ Configurazione preferenze Dopo la configurazione della libreria IFile sarà necessario configurare le “Preferenze” della componente. Di fatto il sistema evidenzia nella schermata principale della componente “Report IFile” che vanno configurati il Filesystem e l’indice. Per fare questa basterà cliccare sull’icona “Preferenze” a destra della schermata Figura 1 –Report IFile e inserire i seguenti campi: Figura 2 –Configurazione preferenze Default file path [obbligatorio] Definisce il path a partire dalla directory in cui è stato installato joomla della cartella in cui sono presenti i documenti, da creare manualmente. Questo permette, entrando nella sezione file system, di visualizzare la lista dei documenti e quindi selezionare i documenti che dovranno essere indicizzati. JiFile – Introduzione all’utilizzo – versione 1.0 12 E’ possibile modificare più volte questo campo in funzione del numero di cartelle presenti a sistema dove sono presenti documenti da indicizzare. Di default il sistema presenta la cartella nella root di joomla “ifile” Index path [obbligatorio] Definisce il path a partire dalla directory in cui è stato installato joomla della cartella dove verrà creato l’indice. Di default il sistema presenta la cartella nella root di joomla “ifile_index” La cartella non deve esistere. Il sistema provvedà a crearla automaticamente al salvataggio delle preference e a gestire l’indice. E’ importante verificare che la root dove si vuole creare la cartella degli indici deve permettere la scrittura e la lettura al suo interno, altrimenti il sistema presenterà un messaggio di errore durante il processo di indicizzazione dei file. Ignore file [opzionale] Definisce la lista, separata da virgole, delle estensioni dei file che non devono essere visualizzati nella sezione file system. REQUISITI JiFile necessita di determinate librerie e funzionalità per poter funzionare correttamente. Per questo è presente nella schermata principale un “Report check system” che verifica se il sistema presenta i requisiti minimi per il corretto funzionamento della componente. In caso una delle librerie o funzionalità non dovrebbero essere installate, contattare l’azienda di hosting e chiedere se è possibile installare le librerie o le funzionalità mancanti. In caso si è possessori del sistema, il report check da i riferimenti internet sulle varie componenti. JiFile – Introduzione all’utilizzo – versione 1.0 13 Figura 1 – Report check system LA SEZIONE FILESYSTEM Accedendo alla sezione Filesystem, JiFile presenterà la lista dei file presenti nella cartella configurata nelle “Preferenze” a meno dei file definiti nel campo “Ignore file”. La sezione: 1. presenta il percorso della cartella su cui si sta lavorando. 2. permette di accedere ad eventuali sotto directory presenti all’interno della cartella configurata nella “Preference”. 3. permette di filtrare i documenti sia per estensione che per nome del file. 4. verifica se i file presenti nella cartella sono già stati indicizzati. 5. presenta le azioni sull’elenco JiFile – Introduzione all’utilizzo – versione 1.0 14 5 1 3 2 4 Figura 1 – Sezione Filesystem Di seguito una descrizione delle icone della sezione: Image Descrizione Icona Cliccabile: Permette di indicizzare manualmente il file File non ancora indicizzato File indicizzato Elimina la cache di JiFile. Aggiorna l’elenco dei file. Questo può tornare utile se carica mediante FPT un file sul server. Cliccando sull’icona, il sistema aggiorna automaticamente l’elenco dei file presenti nella cartella. Manda in esecuzione il processo di indicizzazione automatica per i file selezionati dall’elenco. Ritorna al pannello di controllo. Manda alla sezione dell’indice. Va ricordato che il contenuto dei file indicizzati, non sarà possibile, ne visualizzarlo ne recuperarlo dall’indice. INDICIZZAZIONE AUTOMATICA L’indicizzazione automatica dei file è semplicissima, basta selezionare i file da indicizzare dalla lista e cliccare sull’icona “Indicizza”. JiFile – Introduzione all’utilizzo – versione 1.0 15 L’indicizzazione automatica, non permette di integrare Field (campi) aggiuntivi a quelli standard. JiFile presenterà la schermata di esecuzione del processo di indicizzazione dei file selezionati. In caso si dovesse verificare un errore nel processo di indicizzazione, il sistema avviserà con un messaggio di errore della mancata indicizzazione del file. Cliccando sul tasto “Annulla tutto” il sistema termina l’indicizzazione del file in corso e annulla il processo di indicizzazione dei successivi file. Figura 2 – Indicizzazione automatica INDICIZZAZIONE MANUALE La componente permette anche di indicizzare i file manualmente. Questo meccanismo permette di indicizzare eventuali file che hanno restituito errori nel processo di indicizzazione automatica. JiFile – Introduzione all’utilizzo – versione 1.0 16 Figura 3 – Indicizzazione manuale Cliccando sull’icona “Indicizzazione manuale” verrà presentata la schermata di indicizzazione manuale. Questa presenta tutti i campi (fields) che verranno indicizzati. La componente proverà a recuperare eventuali campi (fields) automaticamente, permettendo la modifica degli stessi. L’indicizzazione manuale permette anche di integrare campi aggiuntivi personalizzati. Va ricordato che non sarà possibile inserire campi con le seguenti etichette: key name extensionfile path introtext class Cliccando sul pulsante “Aggiungi campo” il sistema presenta la finestra di inserimento dell’etichetta del campo: JiFile – Introduzione all’utilizzo – versione 1.0 17 Figura 4 –Inserimento di un campo personalizzato Cliccando su “Aggiungi” il campo verrà integrato nella sezione dell’indicizzazione manuale e pertanto ora sarà possibile compilarlo con i dati che si desiderano. Figura 5 –Compilazione del campo personalizzato L’INDICE DI JIFILE Dopo aver indicizzato i propri file, la componente permette di visualizzare i risultato dell’indicizzazione accedendo alla sezione cliccando sull’icona “Indice”. La sezione è suddivisa in due parti: • • Report dell’indice Elenco dei documenti indicizzati Di seguito una descrizione delle icone della sezione: Image Descrizione Elimina la cache dei filtri di ricerca impostati. Ottimizza l’indice. Questo serve quando sono stati cancellati molti documenti. Cancella i documenti indicizzati, selezionati dall’elenco. Ritorna al pannello di controllo. Manda alla sezione del fileystem. REPORT DELL’INDICE Questa parte della sezione presenta un rapporto riassuntivo sul numero dei documenti indicizzati. JiFile – Introduzione all’utilizzo – versione 1.0 18 Figura 1 –Report dell’indice • • • • Numero di file inseriti: E’ il numero dei documenti che sono stati indicizzati a sistema Numero di file indicizzati: E’ il numero dei documenti che sono stati indicizzati e non cancellati Numero di file cancellati (logicamente): E’ il numero dei documenti cancellati. Questi rimangono nell’indice fino a quando l’indice non viene ottimizzato, ma non sarà più possibile effettuare ricerche su di essi. Ottimizzazione: Ottimizza l’indice cancellando “fisicamente” i documenti cancellati. ELENCO DEI DOCUMENTI INDICIZZATI Questa parte della sezione presenta l’elenco dei documenti indicizzati permettendo la ricerca all’interno dell’indice. Figura 2–Elenco dei documenti indicizzati Di seguito una breve descrizione dei campi dell’elenco: • • • ID: Identificativo univoco interno dell’indice. Questo campo viene generato automaticamente dal processo di indicizzazione e potrebbe cambiare in caso di indicizzazioni successive di nuovi documenti, cancellazioni e ottimizzazioni. Nome: Nome del documento indicizzato. Chiave: Chiave univoca identificativa del contenuto del documento. Questa viene creata in funzione del contenuto del documento, pertanto due JiFile – Introduzione all’utilizzo – versione 1.0 19 • • documenti non dovrebbero avere la stessa chiave a meno che non si sia configurata la possibilità di indicizzare più volte lo stesso documento. Classe: Definisce la componente che ha eseguito l’indicizzazione. Se non si utilizzano altri meccanismi per indicizzare i documenti sullo stesso indice, questa presenterà sempre la dicitura “jifile”. Dettaglio: Permette di accedere al dettaglio dei campi indicizzati per il singolo documento cliccando sull’icona “+”. Il dettaglio presenterà tutti i campi a meno del contenuto del documento che non viene storicizzato. Figura 3 –Dettaglio dei documenti Come già descritto è possibile effettuare anche ricerche all’interno dell’indice utilizzando i “Filtri”. Sarà possibile ricercare all’interno dell’intero indice o per un campo specifico. Effettuando una ricerca, verranno riportati i documenti che presentano la parola ricercata ordinati per lo “Score” della parola nel documento. JiFile – Introduzione all’utilizzo – versione 1.0 20 Figura 4 –Risultato di una ricerca Per motivi di performance, le ricerche vengono salvate con un processo di cache, pertanto per effettuare una nuova ricerca bisognerà utilizzare il pulsante “Resetta”. Per eliminare la cahce basterà cliccare sul pulsante “Cancella cache”. UTILIZZARE IL PLUGIN DI JIFILE JiFile mette a disposizione un Plugin di tipo “Search”. Questo se attivato permette di ricercare, nella sezione ricerca del portale, all’interno dell’indice. Figura 1 – Ricerca Il plugin, ritorna il file che presenta la parola ricercata. Cliccando sul nome del file sarà possibile effettuare il download dello stesso. JiFile – Introduzione all’utilizzo – versione 1.0 21 RIFERIMENTI ON-LINE http://jifile.isapp.it http://www.isapp.it http://sourceforge.net/projects/indexfile/files/Document/1.1 http://docs.joomla.org/Installing_an_extension JiFile – Introduzione all’utilizzo – versione 1.0 22