Archivi categoria: DOCUMENTAZIONE

La categoria contiene tutta la documentazione disponibile per la consultazione

VUFIND – Tutorial 6 – Personalizzare il tema

Dopo aver creato le istanze multiple di VUFIND adesso è il momento di renderle graficamente diverse. Per far ciò occorre generare un nuovo tema e richiamarlo dalla nuova istanza.

Cosa è una tema ? Un tema è l’insieme dei template e dei css responsabili dell’aspetto grafico di una istanza. Si presentano come directory sotto la cartella themes della directory di installazione di VUFIND.

Ogni tema ha una struttura dati prestabilita, presenta la seguente struttura dati:

  • una cartella css contenente tutti i file css usati
  • una cartella images contenente tutti le immagini usate
  • una cartella js contenente tutti i file javascript necesessari
  • una cartella templates contenente tutti i file php template responsabili della renderizzazione delle pagine
  • un file theme.config.php che gestisce la configurazione del tema

VUFIND mette a disposizione alcuni temi già configurati e mette a disposizione un meccanismo di ereditarietà che ci permette di creare agevolmente nuovi temi con il minimo sforzo.

Nell’articolo precedente abbiamo creato due istanze VUFIND, site1 e site2, entrambi che utilizzano lo stesso tema.

Creiamo un nuovo tema site1 da agganciare alla prima istanza. Per far ciò è sufficiente creare una cartella site1 all’interno della cartella themes contenente solo il file di configurazione theme.config.php. Tale file va modificato per indicare il tema da cui ereditare le caratteristiche, nell’esempio che segue sto ereditando da blueprint.

e modifichiamo il file config.ini dell’istanza site1 per agganciare il nuovo tema tramite il comando

Lanciando la prima istanza non noteremo differenze, questo perchè il tema site1 eredita blueprint.

site1

Adesso introduciamo delle modifiche all’aspetto grafico. Creiamo all’interno del nostro tema la cartella css e la cartella images dove inserire il file style.css e il nuovo logo. All’interno del file css modifichiamo il tipo searchHomeForm in questo modo

e aggiungiamo il nuovo logo, ottenendo questo effetto

site1Modificato

A questo punto possiamo modificare il template grafico, in particolare modifichiamo il footer per rimuovere una sezione. Per fare questo creiamo la cartella templates all’interno del nostro tema e copiamo il file footer.phtml dal tema blueprint. Modifichiamo il file rimuovendo una parte del footer

 e ottenendo l’effetto grafico seguente

site1Modificato2

VUFIND – Tutorial 5 – Gestione di istanze multiple

Nell’articolo di oggi vediamo come poter gestire istanze multiple di VUFIND e quali sono le soluzioni messe a disposizione dal sistema stesso. Tale necessità può nascere nel momento in cui si desidera dare accesso al sistema a utenti differenti con layout differenti. La casistica più semplice è quella in cui VUFIND presenta istanze differenti, ma un unico database e un unico Solr, ovviamente casistiche più complesse prevedono la presenza di un database per ogni istanza e un Solr per ogni istanza.

Analizziamo il caso più semplice: la creazione di più istanze con database e Solr condivisi.

Per creare più istanze occorre utilizzare il comando

Ipotizziamo di creare due istanze, site1 e site2, scegliendo l’opzione Directory-Based.

A fine processo includiamo i due file di configurazione

Se ci limitassimo a fare questo soltanto il secondo sito sarebbe correttamente funzionante, perchè la definizione dell’alias all’interno del file crea un comportamento anomalo sul primo sito.

Per risolvere questa anomalia è sufficiente creare un link simbolico alla cartella public tramite il comando

e modificare il file c:/vufind/site1/httpd-vufind.conf in questo modo

Se volete usare una istanza diversa di MySql agite sul file config.ini alla sezione

In tal modo separate la gestione delle utenze tra le varie istanze.

Se volete gestire una istanza diversa di solr agite sulla  sezione

In tal modo ogni istanza di VUFIND vedrà un set di dati differente.

VUFIND – Tutorial 4 – Integrare Google Book Services e Wikipedia

VUFIND consente di integrare i servizi Google Book e Wikipedia per migliorare l’esperienza utente.

Tramite Google Book è possibile recuperare la cover di un libro a partire dall’ISBN associato.

Per abilitare il recupero delle cover page dal libro occorre intervenire sul file config.ini e abilitare la direttiva

Tramite tale direttiva VUFIND recupererà le cover dei libri invocando il servizio esposto da Google Book e ciò verrà fatto in automatico per tutti i libri che presentano il tag ISBN valorizzzato.

Per abilitare l’integrazione con Wikipedia occorre intervenire sul file di configurazione config.ini e abilitare la direttiva

Tramite tale direttiva il sistema consentirà di caricare la pagina dedicata all’autore su wikipedia. Tale funzione è attiva nella pagina dedicata all’autore all’interno del sistema VUFIND.

VUFIND – Tutorial 3 – Importare Record

Nell’articolo di oggi vedremo come popolare la base dati di VUFIND. VUFIND presenta delle utility per il caricamento dati, che si interfacciano con Solr per la creazione del nostro catalogo.

Sono presenti due modalità di caricamenti: tramite file in formato MARC21 oppure tramite file xml con un foglio xsl associato.

Nel caso del formato MARC21 rimando al sito ufficiale. Sostanzialmente si tratta di aver un file MARC21 e di caricarlo tramite il comando

Per chi non conoscesse MARC21 (ad esempio me) VUFIND da la possibilità di caricare i libri in formato XML associando un foglio di stile xsl che effettui la trasformazione del file nel formato xml supportato da Solr, le cui specifiche sono consultabili qui.

Personalmente preferisco questa seconda soluzione, più abbordabile e alla portata di tutti. Inoltre permette a chiunque abbia un catalogo xml di poterlo caricare sul nostro sistema agevolmente.

Facciamo un caso pratico, l’esempio vale più di 1000 parole. Supponiamo di avere un file xml che contiene il nostro catalogo così fatto:

A questo punto definiamo un foglio xsl che trasforma il file xml nel formato atteso da Solr.

Questo file permetterà di trasformare il file xml nel seguente formato atteso da Solr:

Per Solr ogni documento è definito come una sequenza di field, ciascuno con il proprio nome e valore. Il file deve rispettare lo schema definito in solr, in caso contrario il file verrà rifiutato durante l’importazione.

A questo punto non ci resta che caricare il file tramite la direttiva

Tale direttiva processa il file books.xml applicando le regole definite nel file opac.properties che contiene i parametri per invocare il servizio esposto da solr.  La configurazione minimale è la seguente:

Il parametro xslt indica il file xsl da usare e deve essere disponibile all’interno della directory xsl

A questo punto se abbiamo operato riceveremo come risposta

Buon caricamento dati

VUFIND – Tutorial 2 – Abilitare le statistiche

Nell’articolo di oggi vedremo come abilitare le statistiche. Per abilitare le statistiche è necessario intervenire sul file di configurazione config.ini agendo sulla sezione

VUFIND offre tre modalità per salvare le statistiche: solr, file e database. Ogni modalità può essere attivata rimuovendo il commento opportunamente.

Nel caso in cui si scelga Solr, occorre definire l’indirizzo dove è esposto il servizio abilitando la riga

Nel caso in cui si scelga file, occorre definire il percorso del file abilitando la riga

Nel caso in cui si scelga Db non sono necessarie altre modifiche, VUFIND salverà le statistiche nel proprio database.

VUFIND salva le ricerche effettuate e i record visti, ed è possibile salvare le ricerche in modi diversi tramite la sintassi

Per consultare le statistiche occorre abilitare il modulo Admin, agendo sulla direttiva

A questo punto possiamo accedere al modulo Admin disponibile all’indirizzo

e consultare le nostre statistiche

statistics

VUFIND – Tutorial 1 – Installazione e configurazione

Iniziamo una serie di articoli dedicati a VUFIND il portale progettato e sviluppato dall’Università di Villanova, orientato alle librerie delle biblioteche. Tale portale consente all’utente  di cercare e sfogliare tutte le risorse di una biblioteca  e di sostituire il tradizionale OPAC (On-line Public Access Catalogue).

E’ modulare ed essendo rilasciato con licenza open source può essere modificato liberamente per essere adeguato alle nostre esigenze.

VUFIND è stato sviluppato in php ed è basato sul framework ZEND, e si appoggia a Solr, il motore di ricerca basato su Lucene che permette prestazioni eccellenti in ricerca e consente soluzioni scalabili.

Nell’articolo di oggi vedremo come installare e configurare VUFIND su piattaforma Windows.

I requisiti per l’installazione prevedono:

  • Apache HTTP Server 2.2 or later (2.2.12 or later recommended)
  • PHP (version 5.2.x with Smarty 2.6.26 for VuFind 1.x, version 5.3.3 or higher for VuFind 2.x)
  • MySQL 4.1 or later (version 5.1.10 or later recommended for VuFind 2.x)
  • Java J2SE JDK (version 1.5 or later for VuFind 1.x, version 1.6 or later for VuFind 2.x)

Per piattaforma Windows è disponibile XAMPP, il pacchetto che contiene Apache, Mysql e Php e che permette di configurare agevolmente l’ambiente per rispettare i requisiti richiesti da VUFIND.

Scaricato VUFIND scompattatelo nella directory c:\vufind. Se i requisiti sono soddisfatti potrete lanciare agevolmente il comando php install.php che vi guiderà nella creazione della vostra istanza: all’interno della cartella vufind verrà creata una cartella cotenente i file di configurazione e le eventuali localizzazioni.

A questo punto occorre linkare l’istanza creata su apache, modificando il file httpd.conf dell’istanza Apache includendo questa directory tramite la direttiva

Ovviamente la direttiva è configurata per una directory che si chiama local.

A questo punto occorre configurare Solr, modificando i file di configurazione

sostituendo il nodo \config\dataDir con le variabili

A questo punto se abbiamo fatto tutto correttamente possiamo avviare Solr tramite i comandi

Non resta che avviare apache e accedere alla nostra istanza Vufind disponibile all’indirizzo

La maschera vi indicherà se tutto è ok o se manca ancora qualcosa, correggete tramite la procedura guidata e Vufind è pronto.

Alla prossima

TUTORIAL LIFERAY 4 – CONFIGURARE REVERSE PROXY

Nell’articolo di oggi vedremo come rendere raggiungibile un server liferay disponibile su rete interna.

Per ragioni di sicurezza qualora si decide di rendere una risorsa disponibile su indirizzo pubblico, le porte che vengono aperte sono le porte 80 e 443, rispettivamente responsabili delle risorse in chiaro e delle risorse criptate in ssl. Le porte 80 e 443 sono porte di sistema dedicate al protocollo http e su un server linux sono assegnate al demone httpd.

La configurazione standard di liferay prevede la sua esposizione su porta 8080, porta tipica di un server tomcat. Pertanto non possiamo accedere direttamente a liferay ma dobbiamo mettere in piedi una infrastruttura che ci consenta di farlo.

Per gestire questo scenario possiamo avvalerci dell’http server di apache opportunamente configurato come proxy. Configuriamo Apache in modo tale da veicolare le richieste che arrivano verso liferay.

Sono presenti 2 possibili approcci:

  1. usare mod_jk
  2. configurare un reverse proxy

La configurazione basata su mod_jk è sicuramente la scelta più indicata: la configurazione standard di liferay presenta il modulo ajp in ascolto sulla porta 8009, pertanto dobbiamo solo configurare apache per configurare il modulo mod_jk.so.

Il modulo mod_jk.so non è disponibile nella configurazione standard di Apache, a seconda della versione linux è possibile installarla tramite il gestore dei pacchetti oppure scaricando i sorgenti dal sito e compilandoli. Una volta installato il modulo mod_jk.so occorre configurare il file httpd.conf per abilitare il modulo tramite le direttive

LoadModule jk_module   <path>/mod_jk.so –> indica dove è presente il mod_jk.so
JkWorkersFile percorso <path>/workers.properties –> indica dove si trova il file workers.properties
JkLogFile   <path>/mod_jk.log –> indica il file di log
JkLogLevel    <level> –> indica il livello di log
JkMount  /* worker1 –> indica il livello

Resta da configurare opportunamente il file workers.properties, dove definiamo le regole di integrazione con liferay, tramite le direttive

A questo punto riavviamo apache e proviamo ad accedere all’indirizzo pubblico, se abbiamo operato bene verremo rediretti su liferay.

Qualora non possiate usare mod_jk (non mi viene in mente nessun motivo) usate l’approccio 2. Per configurare il reverse proxy usate le seguenti direttive

ProxyPass /liferay http://x.x.x.x:8080/  –> redirige le chiamate verso il server liferay
ProxyPassReverse /liferay http://x.x.x.x:8080/

Non è sufficiente, poichè con questa configurazione avremmo accesso alla home page di liferay ma non a tutte le risorse, poichè liferay restituisce le url alle risorse della pagina in formato assoluto.

Per ovviare all’inconveniente ci viene in soccorso il modulo mod_proxy_html che consente di implementare delle regole di sostituzione all’interno delle pagine html restituite da liferay tramite la direttiva

Il modulo mod_proxy_html non è presente nella distribuzione standard di Apache, a carico vostro installazione e configurazione reperibile sul sito

TUTORIAL LIFERAY 3 – CONFIGURARE MAIL SERVER

In questo breve articolo vedremo come integrare un mail server in liferay.

Per le versioni 6.x e 5.2.x la configurazione del mail server può essere effettuata tramite interfaccia grafica, andando sotto la sezione Control Panel -> Server Administration -> Mail. Siccome una immagine vale più di mille parole, osservate lo screenshot successivo:

Potete configurare il mail server e i parametri di connessione tramite il file portal-xxx.properties. Le variabili da usare sono

Per le versioni precedenti e per gli amanti dei file di configurazione dovete modificare il file ROOT.xml disponibile al path $tomcat_home\conf\Catalina\localhost\ROOT.xml

In questo file dovete aggiungere la risorsa che descrive i paramatri di accesso al db

Per verificare il corretto funzionamento provate a registrare un nuovo utente, se avete fatto tutto bene dovreste ricevere la mail di avvenuta registrazione.

Buona sperimentazione

TUTORIAL LIFERAY 2 – INTEGRARE IL CAS SERVER CON LIFERAY

Nell’articolo di oggi vedremo come integrare il CAS server con una base dati MySql e per comodità sfrutteremo la stessa di Liferay.

Se avete seguito i passi del precedente articolo dovreste avere la vostra istanza liferay attiva e funzionante con il meccanismo di autenticazione demandato al CAS, che si preoccupa di verificare se username e password sono uguali.

Nell’articolo precedente abbiamo usato la versione CAS messa a disposizione da Liferay, che è ferma alla versione 3.0.5 e pertanto installiamo la versione nuova 3.5.0 disponibile qui, che risulta essere più stabile e anche più esaustiva dal punto di vista dei log.

Scaricato il file sostituiamo, rinominiamo il file war in cas-web.war, in modo da non dover cambiare le impostazioni effettuate precedente su liferay.

Una volta attivo accediamo alla cartella webapp/cas-web/WEB-INF sotto la directory del tomcat e analizziamo il file deployerConfigContext.xml: in questo file sono definite le regole di autenticazione e nella configurazione di default troviamo il bean

che come già detto applica come meccanismo di autenticazione che username e password coincidano.

Sostituiamo il bean con quello responsabile di implementare il meccanismo di autenticazione. Il cas mette a disposizione 3 implementazioni differenti:

  1. BindModeSearchDatabaseAuthenticationHandler (responsabile di verificare l’accesso ad uno schema db con una coppia username/password)
  2. QueryDatabaseAuthenticationHandler (responsabile di verificare l’autenticazione tramite una query sql)
  3. SearchModeSearchDatabaseAuthenticationHandler ( responsabile di verificare  l’autenticazione  partendo dalla tripletta tabella utente, username e password, opportunamente mappati)

Per integrare il bean occorre definire il datasource, tramite la seguente configurazione

e successivamente potete scegliere liberamente tra il secondo e il terzo bean, da sostituire al bean SimpleTestUsernamePasswordAuthenticationHandler.

Nel caso del bean QueryDatabaseAuthenticationHandler  dovremo definire la query per ottenere la password da confrontare con quella inserita dall’utente.

Nel caso del bean SearchModeSearchDatabaseAuthenticationHandler dovremo specificare la tabella coinvolta e i campi su cui mappare username e password inseriti nel login del CAS.

Entrambi i bean considerano il caso di password salvate in chiaro. Siccome Liferay di default applica la codifica SHA dovete allineare il comportamento e avete di fronte due possibilità:

  1. configurare liferay in modo che salvi in chiaro le password, tramite la direttiva passwords.encryption.algorithm=NONE
  2. configurare i bean del CAS in modo da applicare l’algoritmo SHA. Per farlo occorre sfruttare il bean org.jasig.cas.authentication.handler.DefaultPasswordEncoder, scegliere la codifica desiderata e innestarli nel nostro bean.
Terminata la configurazione, occorre integrare le librerie necessarie alla comunicazione con il database e il gioco è fatto:
  • commons-pool
  • commons-dbcp
  • spring-jdbc-3.1.1

TUTORIAL LIFERAY 1 – INTEGRARE LIFERAY CON IL CAS SERVER E MYSQL

In questo articolo vedremo come realizzare un portale con LIFERAY, il celebre portale open source realizzato in java, che consente di realizzare portali completi di tutte le funzionalità web 2.0. Inoltre integreremo LIFERAY con il database MySQL e un sistema di single sign on, il CAS server, realizzato originariamente dall’università di Yale e adesso progetto del consorzioYASIG.

Prima di tutto scarichiamo il progetto dalla sezione download del sito principale di liferay. Nel momento in cui scrivo è disponibile la versione 6.1 che promette grandi migliorie e tra le tante disponibili scegliamo la versione integrata con Tomcat.

Una volta scaricato il file zip scompattatelo (usate 7zip, alcuni file hanno nomi molto lunghi e l’utility di windows va in errore).

Avviamo tomcat e restiamo in attesa, fino a quando non viene aperta la finestra di configurazione del wizard. Con il Wizard possiamo configurare il nome del sito, la lingua di default e i dati di accesso dell’amministratore. Inoltre possiamo scegliere di modificare la base dati cui appoggiare il nostro portale. Di default è configurato HSQL, che va bene per un’installazione di prova, ma è sconsigliato per un’installazione di produzione.

In questo articolo integreremo MySQL:

  1. cambiamo la configurazione
  2. scegliamo come tipo di base dati MySQL
  3. impostiamo l’url di accesso
  4. impostiamo i dati di autenticazione
  5. confermiamo
Terminato il processo analizziamo il file system di liferay. Sono presenti le seguenti directory:
  • data (dedicata contenere i dati del database embedded HSQL, i dati di JackRabbit e Lucene)
  • deploy (dedicata a contenere i plugin da installare)
  • tomcat (contiene l’application server scelto)
  • logs (contiene i log generati da LIFERAY)
  • license ( contiene le licenze delle librerie contenute nel rilascio)
Inoltre è presente il file portal-setup-wizard.properties in cui sono definiti i dati di configurazione del sistema, dati su cui intervenire qualora si volesse cambiare.
Torniamo al wizard, cambiamo password e finalmente il nostro portale è attivo. A questo punto la maggior parte degli utenti hanno finito e possono dedicarci alla gestione degli utenti del sito.
Altri utenti possono avere la necessità di integrare un sistema di autenticazione già esistente e nel nostro caso integreremo un CAS server. Liferey mette una versione a disposizione disponibile qui, scaricatela e copiatela nella cartella deploy.
In produzione il CAS andrebbe configurato in un altro server, per il nostro esempio va più che bene. Se non avete fatto errori il cas dovrebbe attivarsi ed essere disponibile all’url http://localhost:8080/cas-web/login. Di default prevede un’autenticazione che accetta username e password uguali.
Per poter usare il CAS occorre abilitare la comunicazione SSL sul nostro tomcat. Una volta configurata la comunicazione SSL accediamo con l’utente amministratore e configurazione l’accesso al CAS nella sezione del portale Settings → Authentication → CAS.
In questo modo cliccando sul modulo di autenticazione di Liferay verremo dirottati sulla pagina di autenticazione del CAS.
Nel prossimo articolo vedremo come implementare il meccanismo di autenticazione del CAS.