Capitolo 1 – Introduzione 
 - 5 -
Oggi, Internet non significa più solo "realizzazione siti web", sviluppati 
come semplici vetrine per promuovere prodotti e servizi, ma delle vere  e 
proprie applicazioni software basate sul web che oggi giorno non è niente 
meno che la piattaforma maggiormente usata come base di applicativi 
software che gestiscono e collegano aziende e filiali riducendo le distanze 
e risolvendo gli ostacoli geografici. 
Un tipico esempio di applicazione software di gestione di contenuti è il 
CMS come lo dice il nome stesso, acronimo di Content Management 
System, sistema di gestione di contenuti.  
I CMS formano una categoria di sistemi software basati sul web  per 
organizzare e facilitare la creazione collaborativa di documenti e altri 
contenuti. 
L'utilità di questi sistemi non sarebbe a priori limitata alla gestione di siti 
web (particolarmente se di grandi dimensioni e frequentemente 
aggiornati); tuttavia proprio questo è attualmente il loro utilizzo più 
proficuo e diffuso. 
I content management systems sono stati inizialmente sviluppati 
internamente ad alcune delle organizzazioni che producevano notevoli 
quantità di pubblicazioni. Nel 1995 CNET rese pubblici gli studi e i 
prodotti sviluppati internamente distribuendoli con l'etichetta Vignette 
(software). La compagnia cominciò a mettere a disposizione il software 
                                                                                                 Capitolo 1 – Introduzione 
 - 6 -
come un web-based content management system permettendo ai siti di 
creare interfacce di presentazione dei propri contenuti web su di un 
software precedentemente sviluppato. 
Nel 1998, Pencom Web Works, una compagnia di consulting, introdusse 
the Metaphoria Data Transoformation Server, che permetteva agli 
sviluppatori Java di scrivere applicazioni che potevano essere collegate 
con i contenuti e permettevano di distribuire tali contenuti su differenti 
canali. Il prodotto fallì, ma il concetto che era stato introdotto costituì le 
basi di ciò che è il CMS odierno. 
Una delle applicazioni più utili dei sistemi di CMS si ha nella gestione dei 
grandi portali: grazie a un CMS ben fatto è agevole aggiornare un sito 
anche molto grande senza necessità di scrivere una riga di HTML. 
L'utilizzo di un CMS diventa necessario quando si ha bisogno di uno 
strumento di pubblicazione flessibile, potente e multiutente. I CMS sono 
solitamente orientati alla gestione di testi (news, articoli ecc.), immagini, 
liste di discussione, forum, materiale scaricabile; a volte danno la 
possibilità di gestire anche più versioni dello stesso sito (ad esempio, 
HTML o WAP). 
Il CMS è fondamentalmente un'applicazione lato server, divisa in due 
parti: il back end, ovvero la sezione di amministrazione, che si occupa di 
                                                                                                 Capitolo 1 – Introduzione 
 - 7 -
organizzare e supervisionare la produzione del contenuto, e il front end, 
cioè la sezione dell'applicazione con cui l'utente è a contatto a che usa per 
realizzare fisicamente modifiche, aggiornamenti ed inserimenti. 
In ossequio all'analisi teorica prima condotta, i CMS consentono di 
definire utenti, gruppi e diritti, in modo da poter permettere una 
distribuzione del lavoro tra più persone. Per esempio, sarà possibile 
definire una classe di utenti abilitati esclusivamente all'inserimento delle 
novità, mentre si potrà riservare la scrittura di articoli ad un altro gruppo, 
e limitare tutti gli altri alla sola consultazione. 
Poiché su internet si trovano ottimi software cms open source con licenza 
di tipo Gpl, risolvere la gestione di un sito tramite un cms è sempre più 
diffusa e efficace, ma la difficoltà sta nel saper scegliere il software più 
adatto al problema in questione. 
Con la continua espansione dell’ateneo e l’esponenziale aumento degli 
iscritti ai vari corsi di laurea, nel caso specifico ai corsi di laurea della 
facoltà d’ingegneria, sorge sempre più evidente e vitale il bisogno di 
comunicazione tra docenti e studenti. 
Per risolvere questo problema, serve implementare un applicazione 
software basata sul web che abbia tutte le caratteristiche e gli strumenti 
per essere a supporto dell’attività didattiche. 
                                                                                                 Capitolo 1 – Introduzione 
 - 8 -
Lo scopo di questa tesi è la risoluzione del problema qui sopra accennato 
tramite la customizzazione (adattamento) di un sistema CMS Open 
Source  adatto alle esigenze di una “comunity”  studenti-insegnanti cioè  
un sistema di comunicazione tra allievi di un corso di laurea  e il docente 
del medesimo corso. Tale comunicazione comprende :  
le comunicazioni riguardanti le attività didattiche , la fornitura di 
materiale didattico (appunti, slides, dispense…) usato durante il corso, 
annuncio di progetti didattici e varie attività, segnalazione date importanti 
di attività fuori programma… 
praticamente è a tutti  gli effetti la realizzazione di un progetto software 
che deve soddisfare le necessità richieste offrendo funzionalità adatte  per 
tale comunity a differenza che non si parte con la realizzazione da zero 
ma si sceglie un software open source già esistente sul mercato . 
Tramite uno studio approfondito del mondo CMS, una ricerca sui vari tipi 
presenti nel mondo open source, uno studio di come scegliere o preferire 
un sistema piuttosto che un altro si arriva alla scelta di un sistema adatto 
ai requisiti del progetto richiesto.    
Come si vedrà nei prossimi capitoli, verrà dimostrato che si é  trovato un 
sistema che copre al 100%  i requisiti e le funzionalità necessarie per 
risolvere il problema. (Ved. Capitolo 7). 
                                                                                                 Capitolo 1 – Introduzione 
 - 9 -
Il cms in questione è moodle (Modular Object Oriented Dynamic 
Learning Environment), classificato sotto la categoria e-learning cms, 
presenta tutte le funzionalità per risolvere alla perfezione  una situazione 
di comunicazione allievo-docente simile a quella del problema in esame. 
 
Per illustrare il lavoro fatto e dimostrare al meglio la validità del sistema 
scelta si è cercato di organizzare la tesi in questa maniera: 
 capitolo 1 introduzione della tesi  e spiega i suoi temi. 
 capitolo 2 spiega il problema in esame e specifica i requisiti 
richiesti.  
 capitolo 3 fornisce un approfondimento sui cms e la loro 
classificazione in categorie 
 capitolo 4 definisce i criteri e parametri da prendere in 
considerazione per scegliere un cms 
 capitolo 5 definisce il prodotto scelto e fornisce le  motivazioni 
della scelta 
 capitolo 6 illustra in modo approfondito il software scelto fornendo 
la documentazione  
                                                                                                 Capitolo 1 – Introduzione 
 - 10 -
 capitolo 7 verifica che le funzionalità presenti nel cms scelto 
coprono tutte le macro funzionalità fornite dal progetto iniziale e 
che il sistema risolve la situazione problematica 
 capitolo 8 spiega in sintesi  le conclusioni sull lavoro svolto… 
 
 
 
 
 
 
 
 
 
 
                                                                                                     Capitolo 2- Il problema 
 - 11 -
Capitolo 2- Il problema  
Con la crescita continua dell’ateneo e il continuo aumento del numero di 
iscritti ai vari corsi di laurea, nel caso specifico ai corsi di laurea della 
facoltà d’ingegneria, sorge sempre più evidente e vitale il bisogno di 
comunicazione tra docenti e studenti. 
Per risparmiare tempo e lavorare in maniera organizzata evitando che si 
ritrovino pagine diverse per ogni corso costruite in maniera autonoma del 
docente, si é pensato ad organizzare un portale didattico che unisce vari 
corsi con iscritti diversi per ogni corso in modo da facilitare la 
comunicazione docente-allievo e l’organizzazione del materiale del corso 
e delle varie attività didattiche che il docente decide di organizzare 
(progetti di gruppo, seminari…. ) . 
Per fare ciò si è pensato di cercare un software  di gestione di contenuti 
già sul mercato in più per evitare costi eccessivi di licenza e per  avere a 
disposizione il codice sorgente l’orientamento è stato verso il mondo 
Open Source. 
Il progetto richiesto è un sistema di gestione dei contenuti CMS che 
fornisce funzionalità per la gestione di corsi universitari e la 
comunicazione docente-studente; per approfondire le specifiche richieste 
è stato elaborato un elenco di macro funzionalità e di funzioni 
                                                                                                     Capitolo 2- Il problema 
 - 12 -
aggiuntivi(facoltativi) che saranno presi in considerazione nella ricerca 
del sistema open source adatto alle esigenze richieste… 
 
2.1- Stakeholder  
Sono le figure o attori che interagiranno con il sistema e che lo 
influenzeranno in fase di setup e durante l’uso. 
Gli attori previsti per il sistema sono: 
• ADMINISTRATOR:  l’amministratore del sistema, sarà 
responsabile del setup e configurazione iniziale del sistema e in 
seguito avrà i diritti di modificare il sito generale(parte relativa a 
tutti i corsi)… 
• TEACHER: il docente di corso che fa da amministratore solo per le 
pagine,sezioni e materiale relativo al proprio corso. 
• STUDENT: lo studente che accede al sito con lo scopo di iscriversi 
ad un corso per fare parte della comunità relativa a tale 
insegnamento e per avere accesso al materiale relativo a tale corso. 
 
Lo studente si iscrive tramite compilazione del modulo d’iscrizione online 
e  l’attivazione del suo account viene effettuata tramite un email 
d’autenticazione come nella maggior parte dei casi di siti con account 
management su internet(modo più sicuro). 
                                                                                                     Capitolo 2- Il problema 
 - 13 -
Lo studente “Student”, una volta “autenticato” (dopo aver effettuato il 
login), visualizza i corsi disponibili, sceglie il corso che gli interessa e ci 
si iscrive…. 
Il docente  “Teacher” avrà i tools per amministrare il “sito” o le pagine 
relative al suo corso e le utenze Iscritte. 
L’ “administrator” avrà i tools d’amministrazione generali dalla grafica 
del sito fino ai vari moduli istallati e/o attivati o attivabili… 
 
2.2- Macro funzionalità 
Arriva ora il momento di elencare le funzionalità principali che il sistema 
scelto deve avere; le funzionalità saranno elencate per ogni stakeholder . 
L’elenco sottostante ha lo stesso ruolo di un documento dei requisiti  
funzionali però meno dettagliato poiché serve per la scelta di un sistema 
open source già esistente e non per la progettazione di un sistema da zero. 
le funzionalità contrassegnate con * sono opzionali. 
Administrator : le funzionalità essenziali che il sistema deve prevedere 
per l’amministratore sono: 
• Gestione moduli istallati: visualizzare un elenco dei moduli        
istallati, attivati, attivabili e dare la possibilità di modificare le 
impostazioni dei moduli istallati e attivati e di aggiungere e  
                                                                                                     Capitolo 2- Il problema 
 - 14 -
istallare nuovi  moduli non presenti nella versione del sistema 
base in uso.   
• Gestione account attori: inserire un nuovo utente, rimozione di 
un utente già esistente e modificare il ruolo di un utente 
(nominare un altro amministratore,  docente di un corso già 
esistente, studente…) 
• Funzionalità Upload :*  consentire all’amministratore l’upload 
di files o materiale di tipo generale riguardante tutti gli utenti del 
sito e non un corso specifico … 
• Tool di editing: strumento per editare la grafica del sito, per 
l’organizzazione el’inserimento di news sulla home page, 
pagina iniziale d’accoglienza che elenca i corsi e mostra le 
novità… 
• Editor di testo/html: creare e/o modificare nuove pagine web 
riguardanti l’ambiente didattico mediante l’editor di html a 
disposizione 
 
Teacher: per il docente di corso invece le funzionalità sono: 
• Gestione moduli: analoga alla gestione dei moduli 
dell’amministratore solo che è relativa ad un corso specifico; 
funzione che ha il compito di  visualizzare i moduli attivati e 
                                                                                                     Capitolo 2- Il problema 
 - 15 -
attivabili per il relativo corso(tra quelli istallati 
dall’amministratore), modificare impostazione di moduli attivi 
ove prevista… 
• Gestione iscrizioni al proprio corso:* permettere la 
visualizzazione degli studenti iscritti al corso relativo docente 
con la possibilità di aggiungere/rimuovere altri allievi già iscritti 
al sito. Prevede anche la possibilità di regolamentare l’iscrizione 
al corso tramite una chiave d’accesso “password” magari 
comunicata a lezione dal docente riservando cosi  
l’autenticazione a solo gli studenti di tale corso. 
• Upload: permettere al docente l’upload di nuovo materiale 
didattico o di files  relativi al proprio corso. A differenza della 
funzione di upload relativa all’amministratore, questa 
funzionalità non è opzionale poiché riguarda la comunicazione 
diretta tra professore e allievo e la messa a disposizione dello 
studente  di materiale didattico(slides e dispense usate a lezione 
per esempio) da parte del docente. 
• Forum privato  per il corso:* dare la possibilità del docente di 
attivare o meno un forum privato per il relativo corso cioè 
visualizzabile solo dagli studenti iscritti per il medesimo corso; 
                                                                                                     Capitolo 2- Il problema 
 - 16 -
considerata opzionale poiché esiste comunque un forum relativo 
a tutti corsi accessibile da tutti gli utenti iscritti. 
• Calendario didattico:* disporre di un calendario didattico per 
segnare e segnalare agli studenti date di lezioni o attività 
straordinarie ( seminari, gite didattiche) …. 
• Attivare chat o messaggi privati:* permettere di attivare una 
chat o modalità di messagi privati tra studenti dello stesso corso 
o gruppo(se prevista la suddivisione in gruppi didattici). 
• Organizzazione dei gruppi:* organizzare i gruppi didattici di 
lavoro per sviluppo di progetti o di ricerche se prevista. 
• Editor di testo/html: disporre di un tool per modificare o creare 
nuove pagine web riguardanti il corso; anche questa funzionalità 
è simile alla funzione editor dell’amministratore con la 
differenza che riguarda solo interventi sulla sezione relativa al 
corso gestito dal medesimo insegnante. 
• Forum insegnanti:* Disporre di una sezione privata del forum 
riguardante solo insegnanti quindi non visualizzabile da utenti di 
tipo student. Funzionalità opzionale poiché non compromette lo 
scopo principale del sistema. 
 
                                                                                                     Capitolo 2- Il problema 
 - 17 -
Student: sicuramente sarà l’entità più frequente nel sistema visto il 
numero alto di studenti interessati ad ogni corso. 
Il sistema dovrà prevedere le seguente  funzionalità per lo studente: 
• Signup & login: Lo studente si iscrive al sito tramite il form 
d’iscrizione di nuovo utente e poi sceglie i corsi che gli 
interessano e ci iscrive.(l’autenticazione per un corso specifico 
può essere regolamentata dal docente se prevista tale funzione) 
• Visualizzazione degli altri studenti iscritti al medesimo 
corso:*  
Permette allo studente di un corso di vedere un elenco di tutti gli 
altri utenti iscritti allo stesso corso. Opzionale poiché non 
indispensabile allo svolgimento del compito del sistema. 
• Download: scaricare files dalla sezione materiale didattico o 
download e visualizzazione del nuovo materiale rilasciato dal 
docente di corso oppure dall’amministratore nel caso di 
materiale generico (se prevista dal sistema la funzionalità di 
upload per l’administrator). 
• Upload : permettere allo studente l’upload di files sia tramite  
sezione specifica per materiale “uploadato” da studenti* 
(considerata opzionale una sezione specifica per l’upload 
effettuato da allievi) o tramite post del forum. (è sempre 
                                                                                                     Capitolo 2- Il problema 
 - 18 -
possibile l’upload di file tramite post sul forum del sito o del 
corso a cui si è iscritti se prevista la funzionalità forum privato) 
• Iscrizione al forum: dare la possibilità allo studente di 
iscriversi o non al forum didattico generico o relativo a un 
medesimo corso se previsto. Di solito tale iscrizione non è 
indipendente da quelle effettuata per l’accesso ai corsi (non 
richiede un'altra password e username). 
• Calendario didattico: Visualizzare il calendario didattico se 
previsto dal sistema per avere informazione su 
segnalazioni,eventi e date segnate. 
• Messaggi privati e chat:* Inviare/ricevere messaggi privati ad 
altri iscritti al corso o tramite chat se prevista dal sistema e se 
attivata dal docente. 
• Gruppo di lavoro:* visualizzare i gruppi di lavoro già formati e 
possibilità di auto inserirsi in un gruppo se prevista tale 
funzionalità. 
 
Queste, a grande linee, sono le funzionalità principali richieste per uno 
svolgimento al meglio del compito del sistema indicato dal progetto. 
                                                                                                     Capitolo 2- Il problema 
 - 19 -
È ovvio che, cercando un sistema di open source già esistente quindi non 
progettato da zero,  tali funzionalità possono subire modifiche di 
conseguenza alle specifiche e le caratteristiche del CMS adottato.  
 
2.3- Analisi preliminari 
Per soddisfare tale requisiti assicurando la semplicità di creazione e 
gestione dei contenuti e delle pagine web poiché il sistema potrebbe 
anche essere usato da parte di docenti di corsi  lontani dall’informatiche e 
senza le capacità tecniche e informatiche per creare  e  gestire siti da zero. 
Quindi  quello che serve è un sistema di gestione dei contenuti CMS,  
acronimo di content management system, è un software basato sul web 
che crea e gestisce contenuti tramite strumenti disponibili in modo 
semplice e rapido e sopratutto famosi per essere facilmente usati e gestiti 
da utenti inesperti . 
Il mondo dei CMS verrà scoperto nel prossimo capitolo in modo 
dettagliato e approfondito.