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