Pre-Requisiti

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

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.

config
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.