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.