Pre-Requisiti
-
Pubblicato Mercoledì, 19 Ottobre 2011
Prima di installare IFile sarà necessario verificare se il tuo ambiente presenta tutti i requisiti necessari per poter utilizzare la libreria senza incorrere in problemi.
I requisiti necessari sono:
Zend Framework
Deve essere presente ed utilizzabile la libreria di
Zend:
Zend_Search_Lucene.Le librerie di Zend devono essere installate come PEAR per poter essere utilizzate, ovvero devono trovarsi all’interno della include_path definita nel php.ini.
In caso questo non sia possibile si può includere la cartella di Zend Framework (nella figura sottostante sono presenti le cartelle ed i file necessari per il corretto funzionamento di IFile) all’interno del proprio progetto. Sarà in oltre necessario, durante l’esecuzione degli script, modificare l’incluce_path. Va ricordato che l’include path verrà ristabilito così com’è configurato nel php.ini al termine dello script.
Di seguito un esempio di come utilizzare la Zend Framework senza che questa sia presente nel PEAR di PHP.
<?php
$include_path = get_include_path();
// path dove e' stata copiata la libreria Zend_Search_Lucene
$include_path .= ";C:/xampp/htdocs/myproject/ifile";
set_include_path($include_path);
ENCODING
Il supporto PCRE per la gestione dei contenuti UTF8 deve essere abilitato. Il PCRE serve alla libreria “Zend Lucene” per la gestione e l’indicizzazione dei contenuti nell’encoding UTF8.
SERVER
Verifica se la versione di PHP utilizzata gira su 32bit o 64bit. Se PHP gira su server a 64bit, allora sarà necessario copiare l'eseguibile della XPDF a 64bit presente nella cartella
adapter/helpers/binaries/[linux|windows]/bin64/
nella cartella
adapter/helpers/binaries/[linux|windows]
XPDF
Deve essere possibile eseguire la XPDF, file binario (Open Source) per il recupero dei contenuti di file PDF.
Se non si ha la necessità di indicizzare file PDF non sarà necessario che questo requisito sia presente.
ANTIWORD
Deve essere possibile eseguire ANTIWORD, file binario (Open Source) per il recupero dei contenuti di file DOC.
ANTIWORD non è esclusivamente necessario.
Di fatto IFile permette mediante configurazione, di utilizzare ache le librerie COM o eventualmente (processo di Default) utilizzare il recupero dei contenuti mediante librerie PHP.
Se non si ha la necessità di indicizzare file DOC non sarà necessario che questo requisito sia presente.
Importante: Ad oggi IFIle gestisce ANTIWORD per sistemi Windows, Linux e OSX a 32 BIT.
PHP
La versione di PHP deve essere maggiore o uguale alla 5.1.0.
Questo perché alcune delle funzionalità utilizzate non sono supportate dalle versioni precedenti.
ESTENSIONI PHP
Devono essere installate le seguenti estensioni per la parserizzazione e gestione dei contenuti:
- libxml nella versione 2.6.0 o superiore
- dom
- SimpleXML
- mbstring
- zip
- zlib nella versione 1.0.9 o superiore
- iconv
- id3
- exif
- mysqli
libxml
Usato per la parserizzazione dei file in formato Office Open Xml e OpenDocument.
dom
Usato per la parserizzazione dei file in formato Office Open Xml e OpenDocument.
SimpleXml
Usato per la parserizzazione dei file in formato Office Open Xml e OpenDocument.
mbstring
Usato dalla librerie si Zend Search Lucene per la gestione dell’indicizzazione di contenuti multilingua.
zip
Usato per la parserizzazione dei file in formato Office Open Xml e OpenDocument.
ziplib
Usato per la parserizzazione dei file in formato Office Open Xml e OpenDocument.
iconv
Usato dalla librerie si Zend Search Lucene per la gestione dell’indicizzazione di contenuti multilingua.
Id3
Usato per la parserizzazione dei file in formato MP3.
Exif
Usato per la parserizzazione dei file in formato JPEG.
mysqli
Usato solo dall’interfaccia MYSQLI per l’indicizzazione mediante MySql
com_dotnet
Usato solo per il recupero dei contenuti dei file DOC
FUNZIONI PHP
Deve essere presente la funzione popen per l’esecuzione delle XPDF.
Deve essere presente la funzione strip_tags per la parserizzazione dei file XML.
IL "SERVER CHECK" DI IFILE
IFile mette a disposizione degli sviluppatori un meccanismo automatico di controllo per verificare che sull’ambiente su cui gira la libreria siano presenti tutti i requisiti.
Per il controllo sarà necessario richiamare lo script serverCheck.php presente nella root della libreria.
Lo script presenterà a video la lista dei requisiti necessari raggruppati per tipologie.
Se una delle componenti necessarie dovesse mancare o non aggiornata alla versione utile per il corretto funzionamento della libreria, verrà evidenziata in rosso (vedi figura). Per ogni componente è presente un riferimento al sito internet per il recupero di informazioni o una eventuale installazione o aggiornamento della stessa.

Per chi volesse integrare la presentazione dei requisiti necessari alla libreria all’interno della propria applicazione, IFile restituisce la lista degli oggetti ReportCheck.
Per istanziare l’oggetto LuceneServerCheck sarà necessario includere la classe presente nel file
/servercheck/LuceneServerCheck.php
Il codice sottostante descrive il modo per recuperare la lista:
/** LuceneServerCheck */
require_once 'servercheck/LuceneServerCheck.php';
// instanzia la classe LuceneServerCheck
$serverCheck = LuceneServerCheck::getInstance();
// richiama il metodo per la verifica dei requisiti
$serverCheck->serverCheck();
// recupero dell'array degli oggetti di controllo
$reportCheck = $serverCheck->getReportCheck();
// stampa a video dei risultati
print_r($reportCheck);
Con l’array degli oggetti ora è possibile realizzare una propria presentazione del report di controllo.