UNIVERSITA’ DEGLI STUDI DI FERRARA FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria dell’Informazione Sviluppo di un’applicazione web per la realizzazione di portali museali Tesi di laurea di: Ambra Ferrari Relatore: Chiar.mo Prof. Ing. Cesare Stefanelli Anno Accademico 2008 –2009 Sommario Sommario..................................................................................1 Introduzione ..............................................................................3 Capitolo 1 - La rete Internet e i CMS .............................................6 Capitolo 2 - Il Progetto Minerva .................................................. 10 2.1 - Il CMS Museo&Web ........................................................ 11 2.2 - Accessibilità e usabilità ................................................... 12 Capitolo 3 - Il progetto “Realizzazione di portali museali” .............. 15 3.1 - Situazione preesistente ................................................... 15 3.2 - Specifiche del progetto ................................................... 17 3.3 - Architettura del sistema .................................................. 17 Capitolo 4 - Tecnologie utilizzate ................................................ 19 4.1 - Struttura del CMS........................................................... 20 4.2 - Server Web Apache ........................................................ 21 4.3 - SQL, MySql e ADOdb ...................................................... 23 4.4 - PHP e PHPTAL ................................................................ 25 4.5 - XHTML E CSS ................................................................ 27 Capitolo 5 - Realizzazione dell’applicazione .................................. 30 5.1 - Installazione del CMS...................................................... 30 5.2 - Studio del funzionamento del CMS ................................... 31 5.3 - Normalizzazione e importazione dei dati esistenti ............... 33 5.4 - Configurazione di un’unica istanza per più portali ............... 34 5.5 - Struttura e layout delle pagine......................................... 35 5.6 - Modifica delle skin e remapping dei file ............................. 36 5.7 - Modifica dell’interfaccia di amministrazione e css dinamici ... 38 5.8 - Valutazione dell’accessibilità ............................................ 38 5.9 - Definizione dei punti di accesso ai portali .......................... 39 5.10 - Problemi riscontrati....................................................... 40 Capitolo 6 - Guida all’uso........................................................... 41 6.1 - Gestione e struttura del sito ............................................ 42 6.2 - Creare una nuova pagina ................................................ 43 6.3 - Inserimento e modifica dei contenuti ................................ 44 1 6.4 - Proprietà del sito ............................................................ 46 6.5 - Template e colori ........................................................... 47 6.6 – Metanavigazione............................................................ 49 6.7 - Opere, news, eventi, glossario autori, percorsi tematici....... 49 6.7 – Inserimento media......................................................... 52 6.8 – Utente e gruppi ............................................................. 54 Conclusioni .............................................................................. 56 Indice delle Figure .................................................................... 58 Bibliografia .............................................................................. 59 2 Introduzione Internet è la rete di computer mondiale ad accesso pubblico che, attualmente, rappresenta uno dei principali mezzi di comunicazione di massa. L’avvento del servizio WWW (World Wide Web) ha determinato una crescita portentosa in termini d’utenza e di risorse disponibili. In tale contesto anche la pubblica amministrazione italiana ha riscontrato la necessità di avviare riforme per la semplificazione e l’informatizzazione di progetti che riguardano il rapporto con i cittadini. Il Comune di Cento ha da qualche tempo avviato un processo di riorganizzazione e sviluppo dei propri servizi, interni ed esterni in collaborazione con l’Università di Ferrara, con lo scopo di renderli più funzionali, accessibili e mantenibili. Questa tesi descrive la realizzazione di un’applicazione Web per lo sviluppo dei portali relativi a tre musei comunali, elaborata durante lo svolgimento di un tirocinio presso il Servizio Sistemi Informativi (SSI) del Comune. Il Servizio Sistemi Informativi si occupa della manutenzione dei sistemi informatici della rete civica e di Internet, ha la responsabilità della gestione dei servizi on-line, dei servizi informativi territoriali e dei servizi interni. Il progetto che riguarda la realizzazione di portali museali, utilizza un software CMS “Museo&Web”. (Content Tale Management progetto ha come System) scopo denominato principale la realizzazione del portale della Pinacoteca Civica “Il Guercino” e l’aggiornamento dei portali dei musei di Sandro Parmeggiani e Aroldo Bonzagni, realizzati con una versione precedente del CMS, non stabile e che presenta numerosi problemi d’amministrazione. Questo CMS è stato sviluppato all’interno del Progetto Minerva, proposto e finanziato dall’Unione Europea con l’intento di costruire una rete europea di Ministeri della Cultura per le attività di 3 digitalizzazione e, allo stesso tempo, di fornire uno strumento di progettazione, che consenta a piccole e medie istituzioni di creare un sito strutturato nel pieno rispetto dell’accessibilità e dell’usabilità: due concetti rilevanti nella valutazione della qualità delle pagine Web. La Repubblica Italiana riconosce e tutela il diritto di ogni persona ad accedere a tutte le fonti d’informazione e ai relativi servizi, e dunque compresi quelli che si articolano attraverso gli strumenti telematici. È tutelato e garantito, in particolare, il diritto d’accesso ai servizi informatici e telematici della pubblica amministrazione e ai servizi di pubblica utilità alle persone disabili. A tale proposito, negli ultimi anni sono state definite alcune linee guida che descrivono i principi di accessibilità, tra quelle più significative vi sono la legge statunitense denominata “Section 508” del 1998, le linee guida della W3C del 1999 e la legge Stanca italiana del 2003. Il progetto “Realizzazione di portali museali” ha come scopo principale la valorizzazione dei contenuti presenti nei musei comunali mediante l’utilizzo di uno strumento che dia la possibilità di modifica e aggiornamento anche al personale non competente in termini informatici. La realizzazione dei portali è avvenuta grazie alla collaborazione con i servizi Cultura e Informaturismo, i quali hanno provveduto alla ricerca e alla verifica del materiale. Sono stati necessari diversi colloqui per definire, a partire dalla situazione preesistente, la struttura, il layout ed i contenuti. Nella fase iniziale del progetto è stata fatta una valutazione riguardo alle effettive potenzialità del software distribuito dalla nuova versione del CMS. L’accesso all’applicazione è suddiviso in due sezioni principali: una è rivolta a qualunque utente che accede al sito Web via Internet e non prevede autenticazione (front-end); l’altra è rivolta ai dipendenti comunali abilitati alla creazione, modifica e pubblicazione dei contenuti e richiede un’autenticazione (back-end). I 4 livelli d’autenticazione sono stati suddivisi in tre possibili categorie, con diversi privilegi in funzione al gruppo di appartenenza. Un ulteriore passo del progetto è stato lo sviluppo del layout delle pagine Web finalizzato ad utilizzare una struttura simile per tutti i siti e ideata prendendo spunto da altri portali museali, realizzati con questo CMS, trovati in rete. Sono state prese in considerazione diverse soluzioni al fine di massimizzare quanto più possibile l’accessibilità, l’usabilità e la fruizione dei contenuti. Si è inoltre deciso, di amministrare tutti i portali realizzati, attraverso l’utilizzo di un unico software CMS. Giunti a questo punto si è passati alla fase di realizzazione del progetto, apportando tutte le modifiche con una struttura tale da poter essere utilizzata anche con versioni aggiornate del CMS in questione, senza problemi di compatibilità. In una fase successiva alla modifica del layout del sito, è stato popolato il database contenente il catalogo delle opere e i relativi autori effettuando un’ottimizzazione dei contenuti dello stesso. L’elaborato di questa tesi comprende anche una guida all’uso che può aiutare i dipendenti comunali autorizzati all’utilizzo del pannello d’amministrazione del CMS. 5 Capitolo 1 - La rete Internet e i CMS La rete Internet è un insieme di reti di computer sparse in tutto il mondo e collegate tra loro, a cui possono accedere milioni di utenti per scambiare informazioni di varia natura. Tecnicamente la definizione più corretta di Internet è quella di “federazione o insieme di reti in grado di comunicare utilizzando lo stack di protocolli TCP/IP” [1]. Internet nacque negli anni ’60, durante il periodo della guerra fredda, il pentagono creò A.R.P.A (Advanced Research Projects Agency), un’agenzia per progetti scientifici a livello avanzato a scopi militari. Uno di questi progetti, presentato da Paul Baran nel 1962, mirava a creare un sistema di comunicazioni in grado di sopravvivere a un eventuale attacco nucleare. Per raggiungere quest’obiettivo era necessario che il sistema di comunicazione non avesse un punto centrale di controllo, ma avesse una struttura che garantisse le comunicazioni, anche se parte dei collegamenti fossero stati distrutti, nacque così un sistema di trasmissione a commutazione di pacchetto. Nel 1969 Vinton Cerf creò Arpanet, collegando al nodo dell’Università di Los Angeles le tre Università americane di Santa Barbara, di Stanford e dell’Università dello Utah. Nel 1991 presso il CERN di Ginevra il ricercatore Tim Berners-Lee definì il protocollo HTTP (HyperText Transfer Protocol), un sistema che permette una lettura ipertestuale dei documenti, mediante l'utilizzo di rimandi (hyperlink). Inoltre, nel 1993, nacque il primo browser con caratteristiche simili a quelle attuali, il Mosaic, esso rivoluzionò profondamente il modo di compiere le ricerche e di comunicare in rete. Nacque così il World Wide Web (WWW). Nel World Wide Web, le risorse disponibili sono organizzate secondo un sistema di librerie, o pagine, a cui si può accedere utilizzando appositi programmi chiamati browser, con cui è possibile navigare visualizzando file, testi, ipertesti, suoni, immagini, animazioni e filmati. 6 La facilità d'utilizzo connessa allo sviluppo del protocollo HTTP e dei browser, in coincidenza alla veloce evoluzione del Personal Computer, ha aperto l'uso di Internet a una massa di milioni di persone, anche al di fuori dell'ambito strettamente informatico, con una crescita in progressione esponenziale (v. Figura 1). Tale crescita dell’utilizzo del servizio WWW ha determinato la necessità di inserire contenuti sulla rete con una certa facilità di utilizzo e di aggiornamento, a questo proposito nascono i Content Management System (CMS). Un CMS [2], letteralmente sistema di gestione dei contenuti, è uno strumento software installato su un server Web studiato per facilitare la gestione dei contenuti di siti Web, svincolando l'amministratore da conoscenze tecniche di programmazione. Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti e CMS generici, che tendono ad essere più flessibili per consentire la pubblicazione di diversi tipi di contenuti. Milioni di Utenti di Internet 1800,00 1600,00 1400,00 1200,00 1000,00 800,00 600,00 400,00 200,00 July, 2009 February, 2008 October, 2006 May, 2005 January, 2004 September, 2002 April, 2001 December, 1999 July, 1998 March, 1997 October, 1995 0,00 Figura 1: Grafico dell’utenza di Internet dal 1995 al 2009 Statistica tratta dal sito http://www.internetworldstats.com/ 7 I CMS sono nati negli Stati Uniti e sono stati inizialmente sviluppati da alcune organizzazioni che producevano notevoli quantità di pubblicazioni per il loro uso interno. Nel 1995 la CNET rese pubblici gli studi e i prodotti sviluppati internamente, distribuendoli con l'etichetta Vignette. La compagnia cominciò a mettere a disposizione il proprio software come sistema di gestione dei contenuti via Web. Nel 1998, la Pencom Web Works, una compagnia di consulenza aziendale, introdusse il server di trasformazione dati (DTS) Metaphoria, che permetteva agli sviluppatori Java di accedere ai contenuti e di distribuire tali informazioni su canali diversi. Il prodotto non ebbe successo, ma il concetto che era stato introdotto costituì le basi di ciò che è diventato il CMS odierno e cioè uno strumento che permette a un utente abilitato, senza basi di programmazione, di inserire o aggiornare i contenuti di un’area del sito, attraverso un sistema guidato e personalizzato in grado di agire sulla grafica o sull’organizzazione delle sezioni del sito senza scrivere neppure una riga di codice. In questo modo è possibile raggiungere un notevole livello di autonomia nell’apportare ogni genere di modifica. Nonostante i CMS non siano nati per il Web, oggi il loro utilizzo più diffuso è rivolto alla gestione dei siti Web. Un CMS è un'applicazione lato server, divisa in due parti: • Una sezione di amministrazione (back end), che serve a organizzare e supervisionare la produzione e la gestione dei contenuti; • Una sezione applicativa (front end), che l'utente Web usa per fruire dei contenuti e delle applicazioni del sito. Possono essere programmati in vari linguaggi tra cui più comunemente in ASP, PHP, .NET. Alcuni linguaggi rendono il CMS multipiattaforma, mentre altri lo rendono usufruibile solo su piattaforme proprietarie. Un CMS è tanto più efficiente quanto più è specializzato. Molti piccoli portali fanno ricorso a CMS distribuiti, cioè scritti da altri e messi a 8 disposizione gratuitamente o a pagamento, di tipo generico; per quanto un CMS possa essere flessibile, un sito basato su questa struttura presenta un aspetto poco personalizzato se non è possibile intervenire direttamente sul codice sorgente del prodotto per modificarlo. Analogamente i contenuti saranno sempre ancorati a quanto previsto da chi ha progettato il CMS e non alle esigenze di chi pubblica il sito. Problemi di gestione possono derivare dal fatto che chi pubblica o gestisce il sito può usare il CMS per intervenire sui contenuti e sull'aspetto, ma generalmente (caso del software proprietario) non è in grado di intervenire direttamente sulla struttura del CMS stesso; questo è un limite strettamente connesso al vantaggio primario dei CMS: pubblicare un portale senza doverne progettare la struttura o senza possedere le conoscenze tecniche (o le risorse finanziarie) per uno sviluppo personalizzato. Questi problemi sono risolvibili utilizzando software open source, attraverso il quale è possibile accedere al codice sorgente dell’applicazione e ciò permette di personalizzare il software sulla base delle proprie esigenze a patto di non avere necessità di apportare modifiche al prodotto adottato. 9 Capitolo 2 - Il Progetto Minerva La rete MINERVA [3] (MInisterial NEtwoRk for Valorising Activities in digitisation) riunisce i ministeri della cultura degli stati membri dell'Unione, con l'obiettivo di armonizzare le politiche e i programmi di digitalizzazione a livello europeo. Finanziato dalla Commissione Europea, Minerva promuove il connubio fra nuove tecnologie e Beni Culturali, riunendo i ministeri dei paesi membri dell'Unione Europea preposti alla cultura (coordinati da quello italiano). L'obiettivo principale è facilitare l'accessibilità e la fruibilità in rete dei Beni Culturali. Minerva si propone anche di coordinare i programmi nazionali, di stabilire contatti con altri paesi europei, organismi internazionali, associazioni, reti e progetti coinvolti nel settore della digitalizzazione, favorendo la convergenza fra archivi, biblioteche, musei e siti archeologici in una prospettiva d’integrazione dei servizi fra le varie "istituzioni della memoria". Dal 2001, il programma Minerva ha avviato un processo di collaborazione istituzionale nel campo della digitalizzazione del patrimonio culturale tra le presidenze del Consiglio dell'Unione Europea. A livello tecnico il progetto propone la creazione di una comune piattaforma condivisa dagli Stati membri, costruita su raccomandazioni e linee guida per la digitalizzazione del patrimonio culturale e scientifico reperibile attraverso la rete. La garanzia della qualità rappresenta la problematica centrale di tutto il processo che va dalla digitalizzazione alla creazione di siti e portali. In quest’ottica è iniziato un processo di ricostruzione del sito Web, che implica non solo l'aspetto grafico ma soprattutto i requisiti di accessibilità. Il prototipo del sito è stato progettato nel rispetto delle raccomandazioni in termini di accessibilità fornite dal Consorzio mondiale per il Web e secondo il principio di universalità. Il documento di riferimento per rendere accessibili le sezioni del sito è 10 stato la raccomandazione del W3C pubblicata il 5 maggio 1999, sulle linee guida per il contenuto del Web (WCAG 1.0). Tra i vari risultati ottenuti vi è il kit di progettazione di un sito di qualità per un museo medio-piccolo, il software “Museo&Web”, scelto dal Comune di Cento per la gestione dei propri musei e oggetto principale di questa tesi. 2.1 - Il CMS Museo&Web Il progetto “Museo&Web” [4] è un’applicazione CMS appositamente dedicata alla creazione di siti Web destinati a musei medio-piccoli. Con questo CMS, che consente anche di gestire il multilinguismo, è possibile creare, modificare, controllare le singole pagine e intere sezioni logiche della propria documentazione Web, stabilendo regole, ruoli e livelli di accesso secondo le proprie specifiche esigenze. Questo CMS può di essere utilizzato dai musei ma anche dalle altre istituzioni culturali, con la possibilità di adattarlo alle proprie esigenze, come ad esempio biblioteche, istituti, archivi, etc. Il CMS in questione, permette di ampliare le classiche funzionalità di editing di testi e di gestione delle immagini nel Web: vengono, infatti, resi disponibili strumenti che consentono il mantenimento di strutture gerarchiche fra le pagine, link incrociati, menu, formattazione di testi, gestione di news, eventi, rassegna stampa e molte altre funzionalità aggiuntive (come ad esempio il catalogo degli oggetti del museo e la possibilità di pubblicare percorsi tematici). Il CMS sviluppato si compone di tutte le funzionalità, di base e accessorie, atte a garantire rigore architetturale e semplicità d’uso nelle fasi d’implementazione e aggiornamento dei contenuti. L’intera applicazione si compone di diversi moduli, ognuno dei quali fornito con licenza Open Source. Il kit è stato realizzato sulla base dei criteri presenti nel manuale per la qualità dei siti Web pubblici culturali, dei principi europei per la 11 qualità di un sito Web culturale, elaborati nell'ambito del Progetto europeo Minerva, coerenti alla Legge Stanca [5] del 2003, identificando i criteri di qualità per un accesso comune in relazione ai principali bisogni degli utenti. La sua struttura, permette una navigazione dei contenuti indipendentemente dalla tecnologia usata dall'utente in rete; è navigabile attraverso le tecnologie assistive e rende possibile l'ingrandimento dei caratteri per persone con patologie ipovedenti. 2.2 - Accessibilità e usabilità L’accessibilità e l’usabilità [6] sono due delle caratteristiche più importanti di un sito Web e quindi delle singole pagine che lo costituiscono. Un sito Web accessibile è un sito che favorisce la fruizione e l’interazione rispettando le esigenze e le preferenze degli utenti, senza esclusioni. L’obiettivo principale dell’accessibilità è consentire l’accesso al Web alle persone che presentano disabilità, le quali generalmente fanno uso di tecnologie assistive (ad esempio lettori di schermo, ingranditori, tastiere braille, sistemi di puntamento) per eliminare o ridurre la condizione di svantaggio. Tale principio porta benefici a tutte le categorie di utenti, poiché rende possibile l’utilizzo indipendentemente dagli ambienti (ad esempio luoghi poco illuminati), dagli strumenti di navigazione (postazioni mobili o prive di mouse, browser testuali), dall’età (persone anziane), o altre limitazioni quali la disponibilità di banda. I criteri di accessibilità sono definiti dal WAI (Web Accessibility Initiative), un gruppo di lavoro costituito dal W3C, il consorzio per il Web diretto da Tim Berners-Lee. Il WAI ha fondato il WCAI (Web Content Accessibility Initiative), il quale ha rilasciato a più riprese una serie di documenti contenenti principi e linee guida cui attenersi per realizzare contenuti Web che siano accessibili al maggior numero di persone possibili. 12 Secondo il WAI le pagine Web dovrebbero essere costruite secondo due criteri: • Consentire un'elegante trasformazione della pagina (da parte di browser particolari, ad esempio); • I contenuti dovrebbero essere resi facilmente navigabili e comprensibili (che è il principale obiettivo dell'usabilità). Sono stati inoltre definiti ventidue requisiti da sottoporre alla verifica tecnica, e in sintesi sono: • Codice semanticamente corretto, logico e validato secondo i parametri del W3C; • Testi chiari, fluenti e facilmente comprensibili; • Presenza di un testo alternativo per ogni tipo di contenuto multimediale; • Titoli e link sensati, sempre distinguibili e posizionati in maniera razionale; • Disposizione coerente e lineare dei contenuti e dell'interfaccia grafica; • Compatibilità con il maggior numero di browser e PC; • Colorazioni standard, ad alto contrasto e luminosità, in grado di garantire la funzionalità della pagina anche in assenza del colore utilizzato; • Fogli di stile CSS per una piena accessibilità dei siti Web e navigabilità delle pagine; • Tutte le funzioni devono essere gestibili da tastiera attraverso combinazioni di tasti di scelta rapida che devono rispettare, per le operazioni più comuni, le scelte abituali del sistema operativo con la possibilità di essere ridefinite dall'utente. L’usabilità, al contrario, non è una questione di codice e di compatibilità. L’obiettivo di tale principio è far si che il sito risponda alle esigenze dell'utente per il quale il portale è stato pensato, rappresenta dunque la capacità di essere utile all’utente, andando incontro alle esigenze nel miglior modo possibile. 13 Nel caso dell’usabilità dunque, si utilizza un'analisi strutturata degli utenti-target e attraverso l'osservazione dell'interazione fra sito e utente, può essere così stilata una lista di suggerimenti migliorativi, con un continuo processo di “prova/errore”. L'usabilità si determina rispondendo a domande quali: • Che cosa vuole o deve ottenere l'utente; • Quali sono le sue basi tecniche e culturali; • Qual è la situazione in cui opera l'utente; • Che cosa deve essere demandato alla macchina e che cosa invece va lasciato all'utente. In Italia la normativa di riferimento è la Legge Stanca, approvata il 17/12/2003. La legge italiana ha lo scopo di ottemperare al principio di uguaglianza previsto dall'art. 3 della Costituzione Italiana [7] e quindi di garantire il diritto di accesso ai servizi informatici e telematici della pubblica amministrazione e ai servizi di pubblica utilità alle persone disabili. La Legge Stanca rappresenta un punto di partenza per quanto riguarda i requisiti di un sito di pubblica utilità ma è stata più volte criticata da alcuni esperti Web, che la ritengono insufficiente dal punto di vista del recepimento degli standard internazionali (WCAG). La normativa italiana rappresenta comunque un punto di riferimento riconosciuto dalla comunità internazionale subito dopo quella statunitense e le WCAG. È auspicabile che, terminate le WCAG 2.0, si possa arrivare a una serie di criteri universalmente standardizzati. Durante le fasi di progettazione di un sito Web, sarà quindi buona norma cercare di rispondere a questi quesiti attraverso un'attenta analisi dell'utente e delle sue esigenze. 14 Capitolo 3 - Il progetto “Realizzazione di portali museali” Questo capitolo tratta della fase di progettazione dell’applicazione, a partire da un’analisi dei requisiti sulla base di una situazione preesistente. L’obiettivo del progetto è realizzare il portale della Pinacoteca Civica di Cento, la quale rappresenta il museo più importante della città. La Pinacoteca Civica è sprovvista di un sito Web e si è deciso di sfruttare le tecnologie già utilizzate per la realizzazione dei portali dei musei Aroldo Bonzagni e Sandro Parmeggiani. A partire dall’istanza del portale della Pinacoteca si è deciso inoltre di aggiornare anche i siti Web esistenti, con lo scopo di uniformare i tre portali alla stessa struttura. In fase di progetto si è anche discusso di come organizzare la fase di testing dei siti durante la fase di realizzazione, gestita in modo tale da nascondere all’esterno le modifiche apportate e consentire una facile pubblicazione al termine del progetto. 3.1 - Situazione preesistente Il Comune di Cento assieme all’Università di Ferrara ha in precedenza realizzato i portali museali di Aroldo Bonzagni e Sandro Parmeggiani utilizzando il CMS “Museo&Web” versione 1.3.1 build 128 (v. Figura 2). I due portali però presentano problemi di gestione e aggiornamento a causa della versione poco stabile e con errori nella struttura. Entrambi i siti non sono gestiti da alcun ente sia a causa della mancanza di personale sia a causa delle difficoltà riscontrate in fase di modifica dei contenuti. La Pinacoteca Civica, invece non ha un sito proprio, dunque eventuali notizie o iniziative devono essere pubblicate nel sito istituzionale del Comune di Cento. 15 I servizi museali esistenti erano inizialmente installati su un server con sistema operativo Windows Server 2003, con una versione PHP 4. Il Servizio Sistemi Informativi ha di recente deciso di installare sul server, contente i servizi Web, il sistema operativo Linux CentOS, con le versioni aggiornate di PHP (PHP 5) e MySQL (MySQL 5.0.45). Il CMS in uso, per i vecchi portali, non è però risultato essere compatibile con la versione aggiornata di PHP e, a tale proposito, è stato installato un server dedicato ai servizi museali visibili all’esterno, per garantire la consultazione sino al momento della pubblicazione dei nuovi portali. I contenuti da inserire nei siti da realizzare sono in parte già presenti nei siti esistenti, mentre per quanto riguarda la Pinacoteca Civica, le informazioni sono contenute in un database in formato MS Microsoft Access e in diversi cataloghi in formato cartaceo da convertire in formato digitale. Figura 2: Home-page dei portali preesistenti 16 3.2 - Specifiche del progetto Il Comune di Cento ha espresso l’esigenza di avere un sito rappresentativo anche per la Pinacoteca Civica “Il Guercino”, in grado di ospitare le opere e le principali manifestazioni. Sulla base della situazione preesistente si è deciso di utilizzare una versione di CMS aggiornata del progetto Minerva, in quanto tale progetto si è rivelato in grado di soddisfare appieno le richieste dei committenti. L’obiettivo del progetto è installare la nuova versione del CMS compatibile con il PHP 5 sul server dedicato a tutti i servizi Web e dismettere il server installato appositamente per il supporto ai siti museali. Dopo aver realizzato il portale per la Pinacoteca Civica, i committenti hanno espresso l’esigenza di aggiornare dei siti presenti alla versione del CMS “Museo&Web” 1.4.1 beta. E’ richiesto inoltre, uno studio per migliorare la visibilità di tali portali nel Web, in particolare nel sito istituzionale del Comune di Cento, il quale non presenta una sezione dedicata solamente ai portali museali. 3.3 - Architettura del sistema La rete del Comune di Cento utilizza un server DNS (Domain Name Server) il quale risolve gli indirizzi e ridirige tutte le richieste verso un server “relay” che permette l’accesso ai servizi interni. Per ogni richiesta proveniente dall’esterno il server Web utilizza un file di configurazione che consente di smistare le richieste verso una cartella fisica, dato uno specifico hostname. Durante la fase di realizzazione sarà necessario mantenere disponibili i siti esistenti e, a tale proposito, si è deciso di configurare tramite DNS, degli alias per l’accesso ai nuovi portali, consentendo la 17 visualizzazione soltanto all’interno della rete locale, fino al momento della pubblicazione. In seguito a diversi incontri avvenuti in fase di discussione del progetto, con l’Assessore alla Cultura e con il personale responsabile dei musei, sono emersi vari aspetti da includere nel back-end: • Presenza attraverso di un pannello autenticazione d’amministrazione che permetta di accessibile organizzare i contenuti in maniera semplice e intuitiva; • Inserimento di contenuti multilingue (italiano e inglese); • Gestione dei permessi di utilizzo del pannello d’amministrazione; • Gestione di news, eventi, opere e glossario; e nel front-end: • Accesso immediato alle informazioni principali come orari, luogo, costi e contatti; • Visualizzazione nell’home-page delle notizie in primo piano con relative immagini che le rappresentano; • Inserimento della catalogazione di tutte le opere con la possibilità di non rendere note certe informazioni al visitatore (come ad esempio il valore dell’opera); • Immagini delle opere ingrandibili; • Visualizzazione in lingua inglese almeno delle pagine principali; • Creazione di loghi rappresentativi dei tre musei. 18 Capitolo 4 - Tecnologie utilizzate Questo capitolo descrive in breve le principali tecnologie utilizzate. Il CMS è un’applicazione realizzata da terzi ed è dunque stato necessario capirne il funzionamento attraverso lo studio della struttura. Le altre principali tecnologie utilizzate sono: l’XHTML e i CSS per la realizzazione delle pagine Web, il linguaggio PHP e PHPTAL i quali si occupano della parte dinamica dell’applicazione e un software Server Web Apache che realizza il container per i portali. Questo capitolo tratta di queste tecnologie al fine sottolineare il modo con cui viene concepita una pagina Web. In passato, le pagine Web erano caratterizzate caratterizzano, da da una una fusione struttura logica degli aspetti minimale e che da le una presentazione predominante. Questo modo di concepire il Web aveva diversi svantaggi, come ad esempio pregiudicare l’accessibilità, non rendere indipendenti le figure professionali associate ai vari aspetti delle pagine e rendere difficile la modifica delle singole pagine in seguito alla loro creazione. Grazie ad un migliore supporto degli standard da parte dei browser a una generale presa di coscienza dei problemi precedentemente esaminati, si è affermato un nuovo modo di strutturare le pagine Web. La struttura che si tende a seguire è un’architettura a strati: • Presentazione; • Contenuto e struttura. E’ possibile identificare una tecnologia da utilizzare per ogni strato: • XHTML per lo strato contenuto e struttura; • I fogli di stile CSS per lo strato di presentazione; In seguito saranno descritte tali tecnologie, rilevanti all’interno del progetto “Realizzazione di portali museali”, al fine di comprendere l’ottica con la quale il Progetto Minerva ha realizzato il framework per la gestione dei portali dei musei. 19 4.1 - Struttura del CMS Il CMS “Museo&Web” è basato su un framework chiamato Glizy, sviluppato in linguaggio PHP, utilizzando la programmazione a oggetti. Lo scopo di un framework è permettere un facile riutilizzo del codice già esistente, a tale proposito è definito da un insieme di classi astratte e dalle relazioni tra di esse. Istanziare un framework significa fornire un'implementazione alle classi astratte. Il CMS “Museo&Web” implementa un pattern architetturale chiamato MVC [8] (Model View Controller) diffuso nello sviluppo d’interfacce grafiche di sistemi software orientati agli oggetti. Originariamente impiegato dal linguaggio Smalltalk, il pattern è utilizzato da numerose tecnologie moderne nel contesto di framework o piattaforma middleware per applicazioni Web. Il pattern è basato sulla separazione dei compiti fra i componenti software che ai utili interpretano tre ruoli principali: • Il model fornisce i metodi per accedere dati all'applicazione; • Il view visualizza i dati contenuti nel model e si occupa dell'interazione con utenti e agenti; • Il controller riceve i comandi dell'utente (in genere attraverso il view) e li attua modificando lo stato degli altri due componenti. Questo schema, fra l'altro, implica anche la tradizionale separazione fra la logica applicativa (chiamata "logica di business"), a carico del controller e del model, e l'interfaccia utente a carico del view. I dettagli delle interazioni fra questi tre oggetti software dipendono dalle tecnologie usate (linguaggio di programmazione, eventuali librerie, middleware) e dal tipo di applicazione in questione. La Figura 3, rappresenta il diagramma di iterazione che evidenzia le responsabilità dei tre componenti. Il CMS “Museo&Web”, inoltre, è realizzato includendo parti di altri progetti Open Source, come ad esempio ADOdb per la gestione del 20 database MySql e CacheLite per l’ottimizzazione della cache di sistema. Il motore utilizza una struttura di gestione dei file tipica del linguaggio JAVA, chiamata a reverse domain dove ogni classe del sistema avrà il suffisso del dominio e sarà contenuta in un insieme di sottocartelle. Questa struttura evita conflitti di nomi poiché il framework subisce aggiornamenti frequenti. Figura 3: MVC, diagramma di iterazione 4.2 - Server Web Apache Apache [9] è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento e ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il proxy. Il Web Server Apache presenta un'architettura modulare, quindi ad ogni richiesta del client, vengono svolte funzioni specifiche da ogni 21 modulo di cui è composto, come unità indipendenti. Ciascun modulo si occupa di una funzionalità, e il controllo è gestito dal core. I moduli più importanti sono: • Core: programma principale composto da un ciclo sequenziale di chiamate ai moduli; • Translation: traduce la richiesta del client; • Access Control: controlla eventuali richieste dannose; • MIME Type: verifica il tipo di contenuto; • Response: invia la risposta al client e attiva eventuali procedure; • Logging: tiene traccia di tutto ciò che è stato fatto. Il core suddivide la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per l'altro, creando così l'illusione di una comunicazione orizzontale fra i moduli (Pipeline software). Sopra al ciclo del core c'è un ulteriore ciclo di polling svolto da un demone che interroga continuamente le linee logiche da cui possono pervenire messaggi di richiesta. In Figura 4 è riportata l’architettura del sistema. Gli amministratori del server possono utilizzare il file “httpd.conf”, che permette di aggiungere moduli, estensioni oppure nuovi mime-type. Il file “.htaccess”, invece, permette un’ulteriore personalizzazione del Web server a livello di directory ed è modificabile con l’utilizzo di un qualunque editor di testo. Apache, quando riceve una richiesta, prima di eseguirla, verifica se esiste un file “.htaccess” nella cartella del file richiesto o in una cartella precedente, in tal caso lo legge, lo interpreta a run-time e aggiorna le proprie configurazioni in modo da rispettare le direttive presenti all'interno del file stesso. È importante notare che Apache ricarica il file a ogni richiesta in modo da non dover essere riavviato in caso di modifiche, com'è invece necessario se viene modificato il file di configurazione principale. Eventuali file “.htaccess” presenti nelle sub-directory della cartella contenete il file con le direttive, avranno una priorità maggiore 22 rispetto al “.htaccess” principale e usando quindi questo sistema è possibile annullare eventuali direttive acquisite da un “.htaccess” presente in una cartella padre. La configurazione di questo file è stata necessaria per modificare alcuni permessi delle cartelle del sistema per l’aggiunta di file e funzionalità. Figura 4: architettura server Web Apache 4.3 - SQL, MySql e ADOdb SQL [10] (Structured Query Language) è un linguaggio di programmazione per database progettato per leggere, modificare e gestire dati memorizzati in un sistema basato sul modello relazionale, per creare e modificare schemi di database, per creare e gestire strumenti di controllo e accesso ai dati. SQL è un linguaggio per interrogare e gestire basi di dati mediante l'utilizzo di costrutti di programmazione denominati query. La prima versione fu sviluppata da IBM all'inizio degli anni ‘70. Chiamata originariamente SEQUEL, era progettata per manipolare dati memorizzati nel database relazionale ideato e brevettato dalla stessa azienda. Nel 1986 l’ANSI lo standardizzò con la sigla SQL-86. Negli anni successivi sono state rilasciate altre versioni, riconosciute anche dall’ISO. La maggior parte dei sistemi per la gestione di database 23 implementano questi standard ed offrono funzionalità aggiuntive proprietarie. Originariamente progettato come linguaggio di tipo dichiarativo, si è successivamente evoluto con l'introduzione di costrutti procedurali, istruzioni per il controllo di flusso, tipi di dati definiti dall'utente e varie altre estensioni del linguaggio. A partire dalla definizione dello standard SQL: 1999 molte di queste estensioni sono state formalmente adottate come parte integrante di SQL nella sezione SQL/PSM. Alcune delle critiche più frequenti rivolte al linguaggio SQL riguardano: la mancanza di portabilità del codice fra DBMS diversi, il modo inappropriato con cui vengono trattati i dati mancanti (NULL) e la semantica a volte inutilmente complicata. Il DBMS, in questo caso utilizzato per la gestione del database è MySQL [11]. MySQL è di tipo relazionale, composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix come GNU/Linux che per Windows, anche se prevale un suo utilizzo in ambito Unix. Dal 1996 supporta la maggior parte della sintassi SQL e si prevede in futuro il pieno rispetto dello standard ANSI. Il codice di MySQL è di proprietà dell'omonima società, viene però distribuito con la licenza GNU GPL oltre che con una licenza commerciale. Il CMS utilizzato fa uso inoltre, di una libreria di classi per l’accesso al database MySQL chiamata ADOdb [12]. ADOdb assicura la portabilità e fornisce delle common API per la comunicazione con tutti i DBMS supportati, fra i quali anche PostgreSQL, Oracle, Interbase, Microsoft SQL SERVER, Access, FoxPro, Sybase, ODBC ed ADO. In ADOdb si utilizza un metodo orientato agli oggetti per gestire la complessità del controllo al supporto di DBMS multipli. In questo caso, infatti, i siti dei tre musei sono gestiti da un unico motore, il quale tramite ADObd accede al database del museo richiesto. La libreria mette a disposizioni varie classi che consentono la manipolazione dei record all’interno dell’archivio, ad esempio, l'oggetto connection, è 24 responsabile del collegamento al database, della formattazione della query SQL e dell'interrogazione del server del database; l'oggetto recordset è responsabile del recupero dei risultati e della formattazione della risposta come testo o come array. Anche ADOdb è rilasciato con licenza GPL, nello stile del progetto Minerva. ADOdb costituisce il componente che permette il collegamento fisico al database, ad un livello superiore, invece, il CMS utilizza diversi componenti software, come ad esempio una serie di modelli realizzati in linguaggio XML. Ognuno di questi si occupa di interfacciarsi con una o più tabelle relazionate tra loro. Le relazioni tra le tabelle del database sono gestite direttamente via codice, specificando le chiavi da utilizzare, in modo da alleggerire le operazioni a carico del DBMS in caso di aggiornamento e cancellazione. Ogni componente è gestito tramite file con estensione XML, il quale si preoccupa del caricamento dei dati. Questi file, fondamentali per interfacciarsi con il database, permettono di modificare i vari campi di una tabella agendo sul contenuto del file stesso e, in occorrenza sulla struttura del database. E’ importante considerare che, modificando la struttura del database si dovranno riportare le modifiche anche sui file XML che utilizzano i campi o le tabelle prese in considerazione. 4.4 - PHP e PHPTAL PHP [13] (acronimo ricorsivo di PHP Hypertext Preprocessor, preprocessore d’ipertesti) è un linguaggio di scripting interpretato, con licenza open source e parzialmente libera, originariamente concepito per la realizzazione di pagine Web dinamiche. Attualmente è utilizzato principalmente per sviluppare applicazioni Web lato server ma può essere usato anche per scrivere script a linea di comando o applicazioni stand-alone con interfaccia grafica. PHP riprende per molti versi la sintassi del C, come peraltro fanno molti linguaggi moderni, e del Perl. È un linguaggio a tipizzazione 25 debole e dalla versione 5 migliora il supporto al paradigma di programmazione a oggetti. Il PHP è in grado di interfacciarsi a innumerevoli database tra cui MySQL, PostgreSQL, Oracle, Firebird, IBM DB2, Microsoft SQL Server, e supporta numerose tecnologie, come XML, SOAP, IMAP, FTP, CORBA. Fornisce un'API specifica per interagire con Apache, nonostante funzioni con numerosi server Web. Il CMS in questione utilizza anche un template engine chiamato PHPTal [14]. I template engine danno la possibilità di sviluppare codice mantenendo una separazione con l’aspetto della logica di generazione dei contenuti. Tale template engine è stato sviluppato da Nicolas Cannasse ed è un'implementazione in PHP dell'eccellente Zope Page Template (ZPT) utilizzato per l'appunto dall'application server Zope. Oltre ad implementare TAL (Template Attribute Language), PHPTal offre anche alcune estensioni molto utili, come PHPTales, un linguaggio che permette di definire attraverso appositi attributi come l'XML dei nuovi template. I template sono file XML, dai quali poi potrà essere generato un output in diversi formati in base alle esigenze specificate in fase di sviluppo. I template in XML permettono di avere una sintassi rigida ma al tempo stesso molto semplice, con la quale difficilmente si possono fare errori dato l'utilizzo abitudinario di questo linguaggio da parte dei designer e degli sviluppatori Web. I template PHPTal non contengono tag proprietari per la gestione dei template e la generazione dell'output, ma tutto viene fatto utilizzando degli attributi speciali preceduti da appositi namespace. In questo modo il codice è leggibile e facilmente comprensibile anche dai designer che non hanno competenze di programmazione. Oltretutto i template così generati si avvicinano molto al concetto WYSIWYG (What You See Is What You Get): poiché gli attributi errati non sono interpretati dal browser, è possibile definire inizialmente i template in semplice XHTML in modo da avere un'idea di come dovrà apparire la pagina 26 finale, e infine aggiungere gli attributi di PHPTal rendendo la pagina effettivamente un template, avendo comunque la possibilità di visualizzare un'anteprima di quest'ultima all'interno di un browser Web. 4.5 - XHTML E CSS L'XHTML [15] (eXtensible HyperText Markup Language, Linguaggio di marcatura di ipertesti estensibile) è un linguaggio di marcatura che associa alcune proprietà dell'XML con le caratteristiche dell'HTML: un file XHTML è un pagina HTML scritta in conformità con lo standard XML. Il linguaggio prevede un uso più restrittivo dei tag HTML sia in termini di validità che in termini di sintassi per descrivere solo la struttura logica della pagina, mentre il layout e la resa grafica sono imposti dai fogli di stile a cascata (Cascading Style Sheets, CSS). L'XHTML è nato ufficialmente il 26 gennaio 2000 come standard del W3C, e può essere definito tecnicamente una riformulazione dell'HTML 4.01 in XML 1.0. La necessità di adottare una sintassi meglio definita rispetto a quella dell’HTML nacque in coincidenza alla diffusione di dispositivi portatili, o comunque dispositivi diversi da un normale personal computer, in grado di accedere a pagine Web. Va tenuto presente che più generica è la sintassi di un linguaggio di programmazione, più difficile risulta realizzare dispositivi in grado di interpretarlo correttamente. In questo contesto sono stati creati anche i Document Type Definition (DTD), i quali definiscono l'insieme di regole mediante le quali un dato documento può essere rappresentato correttamente dall'XHTML. Tutti i browser attualmente più diffusi sono in grado di visualizzare correttamente i documenti XHTML, ma anche i browser più vecchi sono solitamente in grado di interpretare i documenti XHTML, poiché questo linguaggio è in buona parte un sottoinsieme dell'HTML e le sue regole sintattiche sono compatibili all'indietro. Lo stesso vale anche in 27 senso inverso: quasi tutti i browser compatibili con l'XHTML rendono correttamente anche i documenti HTML. Il linguaggio XHTML è più restrittivo rispetto al linguaggio HTML, infatti, prevede la terminazione di tutti i tag mediante il carattere “/”. La sintassi richiede inoltre che i tag debbano essere scritti in lettere minuscole, convenzione in contrasto con l'abitudine invalsa a partire dalla versione 2.0 di HTML, quando la maggior parte dei programmatori preferiva le maiuscole. Nell'XHTML tutti gli attributi (compresi quelli numerici) devono essere scritti fra virgolette, cosa facoltativa in SGML e HTML, in cui le virgolette possono essere omesse se il contenuto è una stringa alfanumerica o comprende alcuni altri caratteri speciali riservati. Per sfruttare appieno le potenzialità dell'XHTML è necessario usarlo in abbinamento ai fogli di stile, ciò permette di scrivere un codice per pagine Web in cui la parte di presentazione è separata dalla struttura dei dati. I fogli di stile a cascata (CSS) [16], sono usati per definire la rappresentazione di documenti. Le regole per comporre i fogli di stile sono contenute in un insieme di direttive (Recommendations) emanate a partire dal 1996 dal W3C. L’utilizzo di questa tecnologia ha permesso di alleggerire notevolmente le pagine Web in quanto gli stili vengono memorizzati nella cache del browser e si possono definire presentazioni differenti dei contenuti a seconda del supporto utilizzato, caso comune è la stampa. I CSS utilizzano regole che permettono di assegnare valori ai diversi attributi dei tag HTML, queste hanno una struttura standard definita nel seguente modo: selettore { proprietà1 : valore1; proprietà2 : valore2, valore3; } 28 Il selettore indica l’elemento del documento a cui applicare la regola, le proprietà di tale elemento assumono i valori specificati all’interno della regola, i selettori possono essere molteplici: • Selettori di tipo: applicano la regola a tutti gli elementi della pagina del tipo determinato; • Classi: applicano la regola a tutti gli elementi della pagina che presentano la proprietà class="nome_classe"; • Identificatori: applicano la regola a quell'elemento della pagina che presenta la proprietà id="nome_identificatore". Solo un elemento in tutta la pagina può corrispondere a un identificatore; • Pseudoclassi: identificano elementi in base alle loro proprietà; • Pseudoelementi: identificano solo una parte dell’elemento senza la necessità della marcatura (X)HTML; • Selettori di discendenza: identificano solamente gli elementi che si trovano in una particolare condizione di discendenza nella struttura XHTML della pagina; • Selettori di attributi: permettono di identificare elementi (X)HTML in base ai loro attributi. Nessun browser attuale offre piena compatibilità alle specifiche CSS, ognuno rende diversi particolari elementi, come ad esempio padding, margini o bordi. Si utilizzano motori di rendering, il cui compito è di formattare le pagine secondo le regole CSS. In questi casi, dunque, una stessa pagina potrebbe essere visualizzata con formattazione diversa da un browser a un altro. Per ovviare a tale problema sono stati inseriti commenti condizionali, che permettono di inviare istruzioni di formattazione solo a determinati browser. Un’altra strategia consiste nel creare fogli di stile differenti per i vari browser e includerli selettivamente, valutando quale l’utente stia utilizzando. 29 Capitolo 5 - Realizzazione dell’applicazione Questo capitolo descrive la fase di realizzazione del progetto, partendo dall’installazione del software sino alla fase di personalizzazione e inserimento dei contenuti. In particolare saranno spiegate le scelte e le modifiche effettuate, i passi per la conversione dei dati in formato digitale e alcuni problemi riscontrati in fase di realizzazione. 5.1 - Installazione del CMS L’installazione del CMS, richiede la configurazione del file config.xml contenuto nella cartella MW/config (v. Figura 5). Il file contiene tutti i parametri di accesso necessari alla connessione al database. Occorre dunque impostare tali parametri e rinominare il file in config_host.xml, dove host indica il nome del proprio dominio. Questo meccanismo offre la possibilità di utilizzare un unico motore per la gestione dei tre portali poiché, a ogni richiesta è considerato il file di configurazione che si riferisce all’host richiamato. In seguito, è stato creato un database per ogni portale Web utilizzando uno strumento di amministrazione di tipo MySQL. Dopo aver istanziato la struttura, si è utilizzato un file di configurazione per il database, il quale ha permesso di creare le tabelle di appoggio al CMS, con all’interno alcuni record di esempio. Per un corretto utilizzo del CMS è stato anche necessario configurare i seguenti permessi: • Per le cartelle e sottocartelle del CMS devono essere assegnati i diritti di scrittura; • Per il server Web Apache devono essere assegnati i diritti di lettura; • Per le cartelle di cache devono essere settati i diritti sia di scrittura sia di lettura. 30 Figura 5: File di configurazione di un sito Web 5.2 - Studio del funzionamento del CMS Il primo passo da compiere per capire il funzionamento del CMS consiste nell’analizzare come sono strutturati i file nel sistema. Nel CMS, ci sono due applicazioni che girano utilizzando lo stesso core (framework), una è l’amministrazione e l’altra è il sito vero e proprio. L’applicazione è strutturata in due sezioni separate: • il back-end dal quale un utente autorizzato può ampiamente gestire l’aspetto e le funzionalità dell’altra sezione; • il front-end, visualizzabile da qualunque utente attraverso Internet. Il back-end è la sezione d’amministrazione del sito. Per potervi accedere e necessario disporre di un nome utente e di una password, soltanto il personale autorizzato potrà accedere all’interfaccia di amministrazione. Esistono tre categorie di utenti, con privilegi di accesso differenti: 31 • Amministratore: utente con accesso completo alle funzionalità della sezione amministrativa; • Supervisore: utente con gli stessi permessi dell’amministratore ma che non può accedere alla sezione di gestione utenti e gruppi; • Redattore: utente con permessi limitati alla realizzazione in bozza dei contenuti che dovranno essere pubblicati da altri livelli. Non può quindi rendere effettiva nessun tipo di modifica visualizzabile dal front-end. Il pannello d’amministrazione comprende una serie di moduli per gestire tutti i contenuti del portale. E’ dotato d’interfaccia del tipo WYSIWIG, la quale permette di inserire contenuti in un modo del tutto simile all’utilizzo di elaboratori di testo come ad esempio MS Microsoft Word o OpenOffice Writer. Ogni modifica effettuata può essere visualizzata tramite il comando “visualizza la pagina” e decidere se, ultimato il lavoro, pubblicare le modifiche. Il CMS è in grado di visualizzare la struttura del sito e permette, in pochi passaggi, di modificare l’organizzazione gerarchica del front-end, inserendo, eliminando o rinominando intere sezioni. Il CMS gestisce diversi moduli d’inserimento, tra i quali i più importanti sono i moduli d’inserimento delle opere, delle news e degli eventi. Cliccando su questa sezione si ottiene una lista completa dei record inseriti, con la possibilità di modificarli oppure di cancellarli. L’inserimento di un record consiste nel compilare un insieme d’informazioni (metadati) in modo guidato, con le quali si ottiene una descrizione esaustiva dell’oggetto. Il CMS utilizza dei template che permettono, creatone uno, di generare le nuove pagine con una struttura di base uniforme. Se si modifica un template tutte le pagine create con esso, possono essere aggiornate automaticamente. Questa caratteristica è stata particolarmente importante perché ha permesso di installare sul 32 server un solo CMS che gestisce contemporaneamente il template di tutti i musei. Questa sezione consente inoltre di selezionare e modificare non solo i colori ma anche l’aspetto grafico del sito. E’ possibile sia scegliere il template che verrà usato su tutte le pagine del sito, sia modificare ogni colore, la posizione dei diversi box (news, ricerca, strumenti di navigazione), le immagini e i loghi all’interno delle pagine. Dopo aver installato l’applicazione, è stato necessario testare l’interfaccia di amministrazione poiché la precedente versione utilizzata presentava numerosi problemi di inserimento/aggiornamento dei moduli. Prima di procedere con la realizzazione di un nuovo template e l’inserimento dei contenuti sono state effettuate diverse prove, e la nuova versione si è presenta abbastanza stabile nonostante sia una relase beta. Rispetto alla precedente possiede funzionalità aggiuntive ed è migliorata notevolmente dal punto di vista dell’aspetto grafico. 5.3 - Normalizzazione e importazione dei dati esistenti Dopo aver installato il CMS, è stato necessario concordare i contenuti da inserire nei siti museali con i responsabili del Servizio Cultura. Per quanto riguarda il portale della Pinacoteca Civica, quasi tutto il materiale disponibile era in formato cartaceo, tranne un database di MS Microsoft Access, contenete il catalogo delle opere. Questo database non conteneva riferimenti alle immagini delle opere, è stato dunque necessario acquisire le immagini da cataloghi cartacei e provvedere al collegamento al database. Il database, inoltre, presentava numerosi errori di ridondanza e di duplicazione dei record, rendendo necessaria una normalizzazione dei dati e una ristrutturazione delle tabelle in modo da poter essere copiate nel database del motore del CMS. Eseguita la normalizzazione dei dati, si è potuto procedere all’esportazione del database in 33 formato compatibile al DBMS MySQL. A tale proposito è stato utilizzato un software di conversione per database e il file MS Access di cui si disponeva è stato convertito in uno MySQL. A questo punto è stato necessario importare tutte le opere della Pinacoteca Civica trasferendole da un database all’altro e ciò ha richiesto la creazione di una corrispondenza tra i campi delle tabelle esistenti. Nella tabella contenente le informazioni riguardanti le opere, è stato aggiunto un campo per il prezzo dell’opera, modifica già apportata nei portali esistenti. È stata sviluppata una semplice applicazione Web in PHP in grado di connettersi ai due database per poterli modificare attraverso l’utilizzo di query. Inserite correttamente tutte le opere, è stato necessario associare a ognuna di esse la propria immagine. Completata l’operazione riguardante l’archiviazione delle opere, si è seguito lo stesso procedimento per l’inserimento dei dati nel glossario degli autori. Per quanto riguarda i siti dei musei Aroldo Bonzagni e Sandro Parmeggiani, invece è bastato importare una copia dei database esistenti, facendo però attenzione alla struttura delle tabelle, in quanto la nuova versione ha apportato alcune piccole modifiche ai tipi di dati. 5.4 - Configurazione di un’unica istanza per più portali Il CMS “Museo&Web” offre la possibilità di avere più file di configurazione, consentendo una sola installazione per la gestione di più siti su domini diversi. Per prima cosa è necessario configurare il file di “virtualhost”, in modo che, determinate richieste, puntino alla stessa installazione del CMS. In secondo luogo, è necessario creare i database per ogni sito e di conseguenza il file di configurazione per ognuno. Con questo tipo di gestione, ogni file di configurazione, 34 permette di discriminare il sito cui fare accesso mediante il riconoscimento del nome dell’host richiesto. Attualmente, tutti i media di ogni sito sono memorizzati all’interno della stessa cartella MediaArchive, ma è previsto che a partire dalle prossime versioni del CMS sarà possibile specificare in quale cartella salvare i file, consentendo una migliore gestione nel caso di multisiti. 5.5 - Struttura e layout delle pagine Questo progetto ha l’obiettivo di realizzare una struttura delle pagine con un’adeguata comprensibilità e chiarezza comunicativa, combinando contenuti e layout in modo da rendere la navigazione dell’utente semplice ed efficiente. Vi è inoltre l’esigenza di rendere possibile la navigazione a tutte le fasce di utenti, compresi gli utenti detti “deboli”, cioè coloro che presentano qualche disabilità fisica. Il layout è stato inizialmente pensato per il sito della Pinacoteca Civica e si è deciso poi di riportarlo anche sui siti dei musei Aroldo Bonzagni e Sandro Parmeggiani. Si è preferito un layout a tre colonne nell’homepage, questa pagina ha una struttura diversa da tutte le altre pagine del sito, poiché deve catturare l’attenzione dell’utente. Presenta un menù di navigazione verticale sulla sinistra, mentre sulla colonna di destra sono stati inseriti i link alle news e agli eventi in primo piano (v. Figura 6). Le pagine del sito invece hanno una struttura a due colonne, con menù verticale posto sulla sinistra. Nella parte superiore della pagina, è stata inserita una barra di navigazione che riporta i tre musei comunali, ciò permette di trovare più facilmente, da parte dell’utente, le informazioni che riguardano i musei centesi. Al di sotto, sono presenti la barra di metanavigazione e l’header della pagina con il logo del museo. I contenuti della pagina sono situati sotto all’header ed è stata inserita una sezione chiamata footer che presenta i loghi e i crediti del sito. 35 Figura 6: Home-page dei tre portali museali realizzati 5.6 - Modifica delle skin e remapping dei file Dopo aver stabilito con il Servizio Cultura la struttura dei siti Web, si è deciso di iniziare con il portale della Pinacoteca Civica, poiché era l’unico museo senza un portale Web. Il kit di progettazione “Museo&Web” mette a disposizione diversi template utilizzabili come esempio; il template scelto è strutturato su due colonne, a eccezione dell’home-page che è strutturata su tre, per permettere di avere sempre in primo piano il link a news ed eventi. La fase successiva è stata la personalizzazione della grafica. Questa fase è stata la più estesa poiché sono stati decisi i colori, i loghi e gli stili, rispettando la caratteristica più rilevante del museo in questione. Si è deciso, in alcuni casi, di modificare anche le funzionalità della pagina, agendo sulla struttura delle skin, file in formato .xml che organizzano l’impostazione dei componenti della pagina. Ad esempio, la struttura proposta per il box contenente le news in home-page, non riportava l’immagine collegata all’evento, si è deciso dunque di aggiungere questa funzionalità. Per poterla integrare è 36 stata inserita all’interno di un tag PHPTAL della rispettiva skin una funzione propria del CMS in grado di recuperare l’immagine direttamente dalla scheda di una notizia e di adattarla negli spazi consentiti da ogni riga dell’elenco. Si è inoltre agito sulla forma, dimensioni, posizione degli elementi contenuti, stili di caratteri. La maggior parte delle modifiche grafiche sono state eseguite sfruttando particolari proprietà dei CSS e dei DIV, tag HTML utilizzati per creare le diverse aree del layout. Nell’eseguire tali operazioni è necessario rispettare un determinato ordine: utilizzare nomi delle classi e degli identificatori chiari e inserire commenti descrittivi che facilitino il più possibile le modiche future. Poiché il kit di progettazione “Museo&Web” è tuttora in fase di sviluppo, è necessario far sì che tutte le modifiche apportate siano compatibili con eventuali aggiornamenti del software. Per garantire tale compatibilità, per ogni file modificato, è stata eseguita una copia della sua forma originale. Compiuta la modifica, è necessario imporre al sistema di utilizzare il file personalizzato, tramite il remapping dei file originali. Per sfruttare questa funzionalità è sufficiente inserire nella cartella MW/startup, un file PHP, dove si specifica il nome della nuova classe da utilizzare. Si riporta un esempio del codice utilizzato in Figura 7. Figura 7: Esempio di remapping delle classi modificate 37 5.7 - Modifica dell’interfaccia di amministrazione e css dinamici Nella fase di realizzazione è emersa la necessità di poter personalizzare l’interfaccia di amministrazione in base al sito a cui si fa accesso. La struttura dell’interfaccia di amministrazione è gestita in modo del tutto simile alla struttura dell’intero sito. Tutti i file che riguardano questa sezione sono posti nella cartella /admin, la quale al suo interno contiene le immagini e i CSS del back-end. Utilizzando un solo motore per la gestione dei tre siti, l’unico modo per individuare quale sito ha richiesto l’interfaccia di amministrazione è la verifica dell’hostname. A tale proposito si è scelta una gestione dinamica del CSS relativa a queste pagine. Nella cartella MW/admin/assets/ è stato inserito un file, chiamato styles.php, contenente le regole del CSS cui apportare le modifiche, dove al posto del colore relativo a una proprietà viene stampata una variabile, precedentemente valutata. La variabile, è gestita dal file var.php, il quale si occupa di inserire il codice del colore giusto in base all’host che richiede l’interfaccia di amministrazione. La valutazione dell’host è realizzata grazie ad un semplice script PHP. Entrambi i file citati sono inclusi in un terzo file PHP, il quale rappresenta il CSS dinamico vero e proprio. A questo punto per utilizzare il CSS dinamico creato è necessario includerlo nelle pagine del back-end, utilizzando l’apposito tag HTML. Inserito in ultima posizione, sovrascrive le regole di default e rende possibile la personalizzazione dell’interfaccia. 5.8 - Valutazione dell’accessibilità I portali sono compatibili con tutti i principali browser, grazie all’utilizzo di fogli di stile che assegnano i valori corretti delle proprietà interpretate diversamente dai motori di rendering. I fogli di 38 stile specifici sono inclusi al momento del caricamento della pagina, riconoscendo il tipo di browser utilizzato dall’utente. Gli accostamenti di colori, sono stati testati con un apposito software che permette di calcolare se il contrasto è sufficiente e se il livello di tolleranza è superato anche dalle persone ipovedenti. Anche il codice è stato verificato da strumenti per garantire la correttezza delle regole CSS e la compatibilità con lo standard XHTML. Eventuali correzioni o variazioni del layout dei portali richiedono un’ulteriore valutazione per garantire l’accessibilità ai siti stessi. 5.9 - Definizione dei punti di accesso ai portali Il progetto prevede anche una valutazione dei punti di accesso ai portali, con uno studio per ottimizzare la visibilità all’interno del sito istituzionale del Comune di Cento. La città di Cento, è spesso ricordata per le numerose opere d’arte e per i luoghi culturali, è dunque importante sfruttare Internet come luogo di diffusione delle informazioni nel modo migliore possibile. In precedenza, i siti dei musei presenti non erano molto utilizzati, sia per la mancanza di aggiornamenti frequenti, sia per la scarsa visibilità all’interno del sito istituzionale. Entrambi i fattori descritti in precedenza fanno si che anche attraverso i motori di ricerca i portali siano poco visibili. Infatti, per rientrare nelle prime posizioni dei siti trovati tramite motore di ricerca, è buona norma mantenere il portale aggiornato frequentemente e sfruttare il vantaggio dei link in altri siti collegati. In precedenza i link ai siti dei musei erano inseriti in una sotto sezione non visibile dal menù di navigazione principale, ma per i motivi sopra citati si è deciso di inserire la voce “I musei”, in primo piano all’interno della barra di navigazione laterale. 39 Per le stesse ragioni ogni portale museale riporta il link agli altri siti, con una struttura a “tab” nella barra di navigazione superiore (v. Figura 8). Figura 8: Esempio barra di navigazione superiore 5.10 - Problemi riscontrati Le specifiche del progetto richiedevano un'installazione del CMS su un nuovo server che contiene tutti i servizi Web del Comune di Cento; l’installazione del motore non ha provocato particolari problemi, in quanto è risultata essere compatibile con le versioni PHP e SQL installate sul server Web. Anche la creazione delle diverse istanze per ogni sito si è conclusa senza problemi, in quanto si è deciso di non effettuare l’aggiornamento per i siti esistenti, ma di creare istanze nuove. I database dei siti esistenti sono però stati importati ed è stato necessario aggiornare alcune tabelle poiché presentavano qualche modifica nella struttura rispetto all’ultima versione del CMS. L’applicazione precedente aveva molti problemi per quanto riguarda il back-end, in questo caso, invece, è stata migliorata sia dal punto di vista delle funzionalità, sia dal punto di vista della grafica. 40 Capitolo 6 - Guida all’uso Questo capitolo contiene una breve guida all’uso, inserita per facilitare l’utilizzo ai dipendenti comunali che dovranno accedere all’interfaccia di amministrazione. Dopo l’installazione di questo software per accedere alla sezione amministrativa, è necessario aprire la finestra del browser all’indirizzo http://nomeserver/percorsocms/admin, dove: • Nomeserver: è l’indirizzo del server, es. www.server.com o localhost se si sta lavorando in locale; • Percorsocms: è il percorso di installazione dove è stato pubblicato il CMS, se l’installazione è sulla root del server Web questo può anche non essere specificato. Quando si accede all’interfaccia di amministrazione, la prima cosa è effettuare il login compilando i campi: • Nome utente: nome dell’utente de desidera effettuare l’accesso; • Password: chiave di accesso alla sezione amministrativa; E’ possibile visualizzare la finestra di autenticazione in Figura 9. Figura 9: Esempio finestra di login del back-end 41 6.1 - Gestione e struttura del sito La struttura del sito rappresenta lo scheletro del portale Web, simile ad un indice generale dei contenuti. La struttura è gerarchica e la gestione avviene tramite un indice ad albero (v. Figura 10). Accanto ad ogni elemento (nodo) dell'albero dei contenuti sono presenti alcuni pulsanti che, se premuti, permettono di creare, modificare, eliminare elementi della struttura. Le modifiche apportate a questa struttura si riflettono immediatamente al front-end del sito. In Figura 11 è riportata una leggenda delle operazioni che è possibile effettuare. Figura 10: Struttura del sito 42 Figura 11: Leggenda della sezione “Struttura del sito” Utilizzando la funzione multilingua è possibile inserire e scegliere una o più lingue, oltre a quella italiana, ad’esempio quella inglese, cliccando sul pulsante English, per inserire i dati nella sezione amministrativa senza però modificare la lingua utilizzata nell’interfaccia. Un utente straniero potrà utilizzare il pulsante English visibile sul sito per accedere alle informazioni nella lingua richiesta. La struttura del sito è riportata in modo indipendente per ogni lingua, cioè ogni modifica apportata per la struttura in italiano deve essere ripetuta per la struttura in lingua inglese. 6.2 - Creare una nuova pagina Per creare una nuova pagina si hanno a disposizione due comandi: • Pulsante Aggiungi nuova pagina di livello inferiore posto accanto ad ogni nodo della struttura; • Pulsante Nuova pagina posto in basso sotto la struttura Esiste una differenza di utilizzo dei due comandi: 43 • Nel primo caso è aggiunta una sottocategoria della pagina presente sulla stessa riga, per esempio, se si fa clic sul pulsante posto accanto alla cartella Il Museo verrà creata una sua sottopagina; • Nel secondo caso è necessario indicare la pagina padre (v. Figura 12) Figura 12: Finestra di creazione di una nuova pagina 6.3 - Inserimento e modifica dei contenuti Utilizzando lo strumento matita (nella pagina di gestione della struttura) si accede alla Modalità modifica di un contenuto. E’ possibile modificare il contenuto di due finestre: • Contenuto della pagina (v. Figura 13); • Proprietà della pagina (v. Figura 14). Figura 13: Pagina di modifica dei contenuti 44 Figura 14: Pagina di modifica delle proprietà Alcune funzionalità sono limitate agli utenti che appartengono alla categoria redattore. Tutti i campi in grassetto devono essere obbligatoriamente compilati altrimenti sarà visualizzato un avviso nel caso in cui non sia stato eseguito l’inserimento. Nell’area di modifica delle proprietà della pagina è possibile inserire: • Titolo della pagina, questa voce è visualizzata anche nel menù di navigazione; • Pagina padre, indica a quale sottocategoria appartiene la nuova pagina creata; • ALT per il link di navigazione, visualizzato come tool-tip sulla barra di navigazione del browser; • Tipo di pagina, indica la tipologia selezionata (ad esempio pagina semplice, pagina con form, etc.); 45 • URL collegato, campo utilizzato per inserire un link ad un sito esterno, il quale sostituisce il riferimento alla pagina del CMS; • Data di creazione della pagina. La pagina di modifica delle proprietà consente anche di caricare il Dublin Core, un insieme di informazioni (metadati), che consentono di descrivere brevemente il contenuto della pagina, utile per la catalogazione e la ricerca delle pagine. Non è obbligatorio caricare questi dati poiché non sono evidenziati in grassetto. 6.4 - Proprietà del sito Questo modulo permette di modificare alcune proprietà che riguardano il sito, in particolare (v. Figura 15): • Il nome del sito; • L’indirizzo del museo; • Il Copyright, aggiunto in automatico dal CMS; • Il link footer, dove è possibile inserire i crediti del sito, utilizzando il pulsante Aggiungi nuovo record all’inizio oppure Aggiungi nuovo record alla fine. Figura 15: Finestra proprietà del sito 46 6.5 - Template e colori Questo modulo consente di modificare l’aspetto grafico dell’intero sito. Anche in questo caso sono disponibili due finestre di modifica: • Del template scelto (v. Figura 16), questa pagina permette la modifica della struttura e dei colori di una singola pagina (funzione utilizzata, ad esempio, per assegnare alle pagine header diversi); • Di selezione del template, consente di scegliere la struttura dell’intero sito. Selezionando lo strumento matita, è possibile accedere alla modifica dei colori e della struttura della singola pagina. In Figura 17, ad esempio, è riportato il form di modifica del set di colori scelto per il template. Cliccando su Preset Colori sono visualizzate le combinazioni di colori preimpostate del template scelto. E’ possibile modificare manualmente ogni singolo colore utilizzando il contagocce (posto accanto a ogni campo colore). Si possono scegliere anche le Immagini di default: si potrà scegliere l’immagine per le diverse aree del sito elencate. Figura 16: Modifica del template scelto 47 Figura 17: Modifica del set di colori del template Cliccando sull’immagine o sulla scritta Nessuna immagine selezionata apparirà una finestra in cui indicheremo l’immagine da inserire. Cliccando sul pulsante Aggiungi immagine sarà inserita l’immagine selezionata; sul pulsante Nessuna immagine verrà tolta un’eventuale immagine già selezionata per quell’area; cliccando sulla X in alto a destra si tornerà indietro senza effettuare modifiche. Selezione template: E’ possibile selezionare il tipo di Template che verrà usato su tutte le pagine del sito cliccando sull’immagine desiderata tra quelle a disposizione. Cliccando sul pulsante Conferma sarà confermata la scelta (v. Figura 18). Figura 18: Finestra di scelta del template 48 6.6 – Metanavigazione Questo sotto-modulo consente di posizionare, raggruppati in un unico punto (in genere in alto, e soprattutto visibile in ogni pagina) i comandi per utilizzare al meglio le funzioni del sito (Home, Indietro, Avanti,…). L’utente sarà così agevolato nella navigazione del sito (v. Figura 19). • Home, indica il collegamento alla Home Page del sito; • Mappa del sito, visualizza l’architettura del sito in tutte le sue pagine; • Ricerca, consente di trovare informazioni specifiche all’interno del sito utilizzando un motore di ricerca; • Newsletter, link esterno inserito per accedere alla newsletter del comune. Figura 19: Finestra di metanavigazione 6.7 - Opere, news, eventi, glossario autori, percorsi tematici Tutte queste funzionalità sono state raggruppate in un unico paragrafo poiché la procedura da seguire per la loro gestione è sempre la stessa. Si descrive il modulo di inserimento delle Opere, il più complesso delle cinque di cui si sta descrivendo l’utilizzo, in modo da comprendere tutte le eventuali opzioni che si possono incontrare. In Figura 20 è possibile visualizzare l’elenco dei record presenti, visibili al momento in cui si accede alla sezione Opere. 49 Figura 20: Elenco opere inserite Con il pulsante Aggiungi nuovo record, o con lo strumento Matita, si accede alla scheda del record (v. Figura 22). Si possono selezionare più righe (selezione sull’ultimo quadrato, sulla destra della cancellazione) ed eliminarli attraversi il bottone Cancella; stesso discorso con il tasto Pubblica se invece si vogliono pubblicare. Cliccando sull’intestazione delle colonne (Oggetto/Titolo, Autore, etc.) è possibile cambiare l’ordine con cui vengono visualizzati i record. L’elenco dei record è suddiviso in diverse pagine per non dover visualizzare una lista troppo lunga; basterà quindi cliccare sui numeri posti nella parte inferiore della pagina per visualizzare gli elenchi successivi. Subito sotto vi è la voce Filtri di ricerca consente di cercare velocemente un’opera tra quelle inserite, inserendo determinati campi come filtri di ricerca. Sarà ora descritta la compilazione della scheda del record. Anche in questo caso i campi in grassetto devono essere obbligatoriamente compilati e per il redattore vi sarà la sola possibilità di salvare come bozza o di annullare le modiche eseguite alla scheda. Come si può verificare dalla Figura 21 i passaggi da eseguire sono del tutto analoghi a quelli spiegati per la modifica di un contenuto (v. la 50 sezione 6.3). Da notare la presenza del Date Selector, circondato da un quadratino rosso, con il quale è possibile modificare in modo semplice la data di compilazione. Figura 21: Finestra di inserimento/modifica delle opere 51 6.7 – Inserimento media Questo modulo raccoglie tutti i file (Documenti Office, Immagini, PDF, etc.) che saranno utilizzati all'interno del sito (v. Figura 22). Figura 22: Menu di inserimento media Mostra tutti i media Con un click sulla linguetta Mostra tutti i media si visualizza la schermata di Figura 23 con l'elenco di tutti i file che sono stati archiviati fino a questo momento e che quindi sono disponibili ad essere pubblicati. Figura 23: Elenco dei media inseriti 52 E’ possibile aggiungere/modificare le informazioni riguardanti i media già archiviati con un clic sul pulsante Aggiungi media, si visualizzerà la seguente schermata visibile in Figura 24: Figura 24: Modulo di inserimento media I campi in cui è possibile apportare modifiche sono: • Titolo, il nome completo o il codice identificativo del record; • Categoria, un nome abbreviato o un numero; • Autore; • Data; • Detentore copyright, ad esempio il nome del fotografo; • Seleziona file, che cliccando sul pulsante Sfoglia consente di cercare il record desiderato; Con i pulsanti: • Carica file, si confermano i dati inseriti e il file viene caricato sul server, i file caricati non devono superare la dimensione di 2 Mbyte, in caso contrario verrà visualizzato un errore; • Reset form, si cancellano tutti campi della finestra; • Annulla, si annulla l’operazione; 53 6.8 – Utente e gruppi Questo modulo (v. Figura 25) consente di gestire le informazioni (nome, cognome, e-mail, etc.) degli utenti del museo, come in una rubrica. I sottomoduli sono: • Visualizza elenco utenti interni, che visualizza la lista di utenti (ciascuno con i propri dati) legati alle attività interne del museo; • Visualizza elenco utenti esterni, che visualizza la lista di utenti che non sono legati alla attività interna del museo, ma che si registrano al sito; • Visualizza elenco gruppi, che consente di raggruppare gli utenti interni e/o esterni, precedentemente archiviati, ed assegnare al gruppo un particolare nome. Utenti interni: I campi visualizzati per ogni utente in elenco sono: • Nome; • Cognome; • E-mail; • Attivo, specifica se l'utente è attualmente in forza all'organico interno del museo. Cliccando sull’intestazione delle colonne (Nome, Cognome, etc.) è possibile cambiare l’ordine con cui sono visualizzati i record. Utilizzando il pulsante Aggiungi nuovo record è possibile inserire un utente interno. Si possono inoltre apportare modifiche alle informazioni riguardanti gli utenti già inserti con un clic sullo strumento Matita posto accanto all'utente selezionato. Utenti esterni: I campi visualizzati per ogni utente in elenco sono: • Nome; • Cognome; • E-mail; 54 • Attivo, se selezionato indica che l’utente esterno può usufruire dei servizi offerti dal museo agli utenti interni. Cliccando sul pulsante Aggiungi nuovo record o sullo strumento Matita, è possibile aggiungere/modificare un nuovo utente. Elenco gruppi: Si elencano così i nomi che raccolgono gruppi di utenti in base a determinate caratteristiche: • Amministratori; • Direttore museo; • Redattori • … Cliccando sull’intestazione della colonna (Nome gruppo) è possibile cambiare l’ordine con cui sono visualizzati i record. Usando il pulsante Aggiungi nuovo record è possibile definire nuovi gruppi, mentre per effettuare modifiche ad un gruppo esistente è necessario fare click sullo strumento Matita e compilare i campi previsti. I campi da compilare della scheda aperta saranno: • Nome gruppo; • Utenti interni, specifica se il gruppo che si sta definendo/modificando raggruppa utenti interni o esterni. E’ importante ricordarsi di salvare i dati con un clic sui pulsanti specifici o di annullare l’operazione. Figura 25: Finestra gestione gruppi e utenti 55 Conclusioni Questa tesi presenta il lavoro svolto presso il Servizio Sistemi Informativi del Comune di Cento, svolto in collaborazione con i Servizi Cultura e Informaturismo. Il progetto si è occupato dello sviluppo dei tre musei del comune, mediante l’utilizzo di un software CMS. Il lavoro presentato evidenzia l’utilità di applicazioni di questo tipo, distribuite con licenza Open Source e con materiale di documentazione reperibile in Internet. Il software utilizzato è particolarmente utile nel caso della pubblica amministrazione, poiché non aggiunge costi di licenza, è totalmente personalizzabile secondo le esigenze e consente la modifica e l’aggiornamento anche da personale non competente in ambito informatico. I portali realizzati sostituiscono i siti esistenti dei musei di Sandro Parmeggiani e Aroldo Bonzagni, che erano stati sviluppati con una versione precedente di tale CMS. L’applicazione realizzata è migliore dal punto di vista della gestione del back-end, consentendo un più facile aggiornamento dei contenuti effettuato da parte dei dipendenti comunali. Ulteriori migliorie potranno essere apportate in futuro, effettuando l’aggiornamento del software CMS ad una versione stabile. La versione utilizzata è una relase beta, ancora in via di sviluppo e in fase di testing. Sarà ad esempio possibile: • Un ulteriore aumento della velocità di caricamento delle pagine, nonostante le prestazioni già conseguite; • Un sistema di personalizzazione delle pagine ancora più completo per ridurre le modifiche a livello di codice; Il progetto realizzato ha consentito un approfondimento delle conoscenze del linguaggio di scripting PHP, dell’utilizzo del DBMS MySQL e la gestione di una struttura framework del tipo “CMS Museo&Web”, argomenti non approfonditi durante il corso di studi. E’ 56 stato possibile affrontare anche problemi di accessibilità e usabilità, comuni in ambito di pubblica amministrazione, approfondendo le problematiche riguardanti l’utilizzo di Internet da parte di persone diversamente abili. Si ringrazia lo staff del Servizio Sistemi Informativi del Comune di Cento che ha assicurato ospitalità e piena disponibilità durante tutta la durata del tirocinio. 57 Indice delle Figure Figura 1: Grafico dell’utenza di Internet dal 1995 al 2009............... 7 Figura 2: Home-page dei portali esistenti ....................................16 Figura 3: MVC, diagramma di iterazione ......................................21 Figura 4: architettura server Web Apache....................................23 Figura 5: File di configurazione di un sito Web..............................31 Figura 6: Home-page dei tre portali museali realizzati ...................36 Figura 7: Esempio di remapping delle classi modificate..................37 Figura 8: Esempio barra di navigazione superiore .........................40 Figura 9: Esempio finestra di login del back-end...........................41 Figura 10: Struttura del sito.......................................................42 Figura 11: Leggenda della sezione “Struttura del sito”...................43 Figura 12: Finestra di creazione di una nuova pagina ....................44 Figura 13: Pagina di modifica dei contenuti ..................................44 Figura 14: Pagina di modifica delle proprietà................................45 Figura 15: Finestra proprietà del sito ..........................................46 Figura 16: Modifica del template scelto .......................................47 Figura 17: Modifica del set di colori del template ..........................48 Figura 18: Finestra di scelta del template ....................................48 Figura 19: Finestra di metanavigazione .......................................49 Figura 20: Elenco opere inserite .................................................50 Figura 21: Finestra di inserimento/modifica delle opere .................51 Figura 22: Menu di inserimento media ........................................52 Figura 23: Elenco dei media inseriti ............................................52 Figura 24: Modulo di inserimento media ......................................53 Figura 25: Finestra gestione gruppi e utenti .................................55 58 Bibliografia [1] MARTIGNAGO E.- PASTERIS V.-ROMAGNOLO S., Sesto Potere, Apogeo. [2] it.wikipedia.org/wiki/Content_management_system [3] www.forumpa.it/archivio/3000/3600/3600/3606/minerva-vicine.html [4] www.minervaeurope.org/structure/workinggroups/userneeds/ prototipo/cms.html [5] www.leggestanca.it/ [6] it.wikipedia.org/wiki/Accessibilit%C3%A0_%28informatica%29 [7] www.quirinale.it/costituzione/costituzione.htm [8] it.wikipedia.org/wiki/Model-View-Controller [9] it.wikipedia.org/wiki/Apache_HTTP_Server [10] it.wikipedia.org/wiki/SQL [11] www.mysql.it/ [12] adodb.sourceforge.net/ [13] it.wikipedia.org/wiki/PHP [14] php.html.it/articoli/leggi/2100/phptal-template-engine-per-php/ [15] it.wikipedia.org/wiki/XHTML [16] it.wikipedia.org/wiki/Cascading_Style_Sheet 59