progettazione di strumenti di comunicazione sostenibili per l'educazione: il caso...
Post on 17-May-2015
5.837 Views
Preview:
DESCRIPTION
TRANSCRIPT
Università degli Studi di Milano Bicocca
Facoltà di Psicologia – Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Teoria e Tecnologia della Comunicazione
Progettazione di strumenti di comunicazione sostenibili per
l'educazione: il caso dell'Università di S.Spiritus a Cuba
Relatore: Prof. Roberto Polillo
Relazione della prova finale di:
Controrelatore: Prof. Schiavo Campo
Davide Berardino Matr. 725030
Anno Accademico 2009/2010
IndiceINTRODUZIONE ............................................................................................................. 3
Obbiettivi ...................................................................................................................... 3 Contesto ........................................................................................................................ 3 Struttura della tesi ......................................................................................................... 4
CONTESTO, OBBIETTIVI E CONFINI DEL PROGETTO ........................................... 6 Internet a Cuba .............................................................................................................. 6 Il sistema informativo dell'università di Sancti Spiritus ............................................. 13
LA SOLUZIONE PROPOSTA ....................................................................................... 28 Progettazione .............................................................................................................. 28 La soluzione proposta ................................................................................................ 35
DRUPAL COME FRAMEWORK PER LO SVILUPPO ............................................... 41 Il software open source e la scelta di Drupal .............................................................. 41 Drupal, architettura, logica e dinamiche di sviluppo adottate, moduli base, terminologia ................................................................................................................ 46
LO SVILUPPO ................................................................................................................ 62 La gestione contenuti .................................................................................................. 62 Sistema di autenticazione e gestione dei permessi degli utenti .................................. 67 La gestione dei servizi ................................................................................................ 75 Drupal e Moodle ......................................................................................................... 87 Drupal social network ................................................................................................. 89 Theming, replica del modello e ottimizzazione .......................................................... 95 Riepilogo temi utilizzati ............................................................................................ 105
SVILUPPI FUTURI ...................................................................................................... 107 Piano di informatizzazione ....................................................................................... 107
CONCLUSIONI ............................................................................................................ 110 BIBLIOGRAFIA ........................................................................................................... 112
INTRODUZIONE
Obbiettivi La tesi di laurea magistrale in Teoria e Tecnologia della Comunicazione è nata
con lo scopo di progettare e sviluppare un prototipo funzionale di una nuova
intranet all'interno del campus dellʼUniversità José Martì Perez di Sancti
Spiritus.
Contesto Il lavoro di tesi si inserisce nel contesto di progetti di cooperazione
internazionale, in corso da alcuni anni, fra diverse università latino-americane
(UNAN di Managua in Nicaragua, Università di Sancti Spiritus a Cuba,
Università Federale del Parà a Belem, Brasile e Università Nazionale di
General Sarmiento a Buenos Aires, Argentina) e lʼUniversità di Milano Bicocca
(Facoltà di Sociologia, Facoltà di Statistica e Facoltà di Medicina) per lo
sviluppo di progetti sostenibili.
All'interno di questo panorama internazionale, è stato coinvolto il dipartimento di
informatica (DISCO) per lo studio e la sperimentazione delle potenzialità offerte
dai nuovi strumenti del Web 2.0 per la realizzazione a basso costo di
applicazioni sostenibili per paesi in via di sviluppo o comunque, per realtà locali
non dotate di infrastrutture informatiche di elevate prestazioni (Laboratorio
TANGO – Tecnology Assistance to Non-Governmental Organizations) e di
tecnologie informatiche per lʼenergia rinnovabile (laboratorio L.INT.AR. –
Laboratoro di Intelligenza Artificiale).
Nello specifico, questo lavoro di tesi è suddiviso in due fasi principali: la prima,
avviatasi in Italia con la collaborazione del Prof. Roberto Polillo, è stata
caratterizzata da un lavoro di ricerca e analisi di casi studio significativi da cui si
sono potuti trarre alcuni scenari di utilizzo delle tecnologie adottate nei paesi in
via di sviluppo, individuando i principali requisiti da tenere in considerazione per
le realtà a cui ci si è riferiti e pubblicando articoli all'interno del blog tangonet.it.
Inoltre, durante questa fase iniziale, è stato effettuato un lavoro di ricerca e
valutazione delle tecnologie open source presenti in rete, con l'obiettivo di
poterne utilizzare una, adattandola al target di riferimento, il più possibile in
grado di sopperire alle concrete esigenze del sistema.
La seconda parte del progetto, svolta presso l'Università Josè Martì Perez a
Cuba (nellʼambito di un progetto Extra PLUS di collaborazione fra lʼUniversità
degli Studi di Milano Bicocca e lʼUniversità di Sancti Spiritus a Cuba), è stata
caratterizzata da una iniziale attività di raccolta informazioni sulla situazione
socio-informatica presente allʼinterno del campus e, più nello specifico, sono
stati analizzati i flussi informativi dell'università, con la collaborazione del
Laboratorio di Tecnologia Educativa, all'interno della Facoltà di Ingegneria, in
cui ha trovato luogo il concreto svolgimento del progetto.
Lʼattività in Cuba ha preso il via nella terza settimana di settembre 2010 ed è
stata supportata localmente dal Prof. Osvaldo Romero Romero che, in quanto
vice-rettore del dipartimento di Investigacion e Posgrado e Capo del
Dipartimento Relazioni Internazionali dellʼUniversità di Sancti Spiritus, ha una
completa conoscenza delle esigenze applicative del sistema. Gli altri professori
coinvolti in qualità di tutor e revisori del progetto sono stati Bernardo Yaser León
Ávila, docente di Informatica presso la Facoltà di Ingegneria e Alain Pereira
Toledo, laureato in Ciencia de la Computacion e docente di Base dati e Base
dati avanzati.
Il presente progetto è stato svolto in collaborazione con Greta Liguori,
studentessa laureanda in Teorie e Tecnologie della Comunicazione anch'essa
presso l'Università degli studi di Milano Bicocca, che è stata compresente a
Cuba nellʼambito di un progetto di tesi finanziato dal programma Exchange, con
una tesi dal titolo: “Uso di strumenti Web 2.0 per la realizzazione di applicazioni
sostenibili in ambienti educativi”, il cui focus è stato maggiormente sugli aspetti
sociali e progettuali.
Lʼidea di agire insieme è nata principalmente dalla volontà di usufruire delle
conoscenze provenienti da due diverse tipologie di formazione, una più legata
alla parte sociale della comunicazione (Greta Liguori) e lʼaltra di orientamento
più specificamente allo sviluppo delle componenti informatiche, grazie alle quali
si è potuto creare una sinergia di lavoro in grado di supportare le esigenze
richieste dal progetto.
Struttura della tesi La tesi si compone di cinque capitoli. Nel primo, si crea una panoramica del
contesto particolare all'interno del quale si è sviluppato il progetto, con l'analisi
del panorama informatico/informativo cubano e dell'università José Martì Pérez
di Sancti Spiritus.
Nel secondo, si descrivono i processi che hanno caratterizzato la fase di web
design e i risultati raggiunti, dalla fase di raccolta dati, ai principi di usabilità,
accessibilità e sostenibilità, fino alla soluzione proposta.
Il terzo capitolo illustra le scelte possibili all'interno del panorama dei CMS open
source disponibili e motiva la scelta di Drupal come framework per lo sviluppo.
Si descrivono, quindi, le componenti del CMS eletto per una facile
comprensione del quarto capitolo, relativo allo sviluppo. Ivi si descrivono, nel
dettaglio, le componenti utilizzate, per consentire il trasferimento della
conoscenza in funzione dell'uso e dello sviluppo del prototipo realizzato.
L'ultimo capitolo propone uno scenario delle prospettive future del progetto, con
la descrizione del gruppo di lavoro nato a supporto delle attività avviate e con il
riepilogo degli elementi che ancora mancano per completare la progettazione e
lo sviluppo della intranet dell'università.
CONTESTO, OBBIETTIVI E CONFINI DEL PROGETTO
Internet a Cuba Con il cento per cento della popolazione in grado di leggere e scrivere, Cuba
raggiunge uno dei più alti tassi di alfabetizzazione nel mondo1 e un periodo
medio d'istruzione di 8,9 anni. Tassi così alti per quanto riguarda il capitale
umano potrebbero far pensare ad un elevato livello di adozione di internet, di
converso invece Cuba presenta uno dei tassi più bassi di connettività2.
Altri governi autoritari in condizioni economiche simili, come la Corea del Nord e
il Laos3, hanno tentato di regolamentare la rete nei propri paesi distaccando i
propri cittadini dalla comunità internet globale4 o offrendo condizioni sfovorevoli
per l'utilizzo (il Laos ha uno dei livelli di banda più bassi nel mondo). A Cuba
però, già dal 19965, nonostante le ottimistiche intenzioni del governo di fornire a
tutti i cittadini cubani informazioni sociopolitiche, economiche e sportive
attraverso un rapido percorso di evoluzione tecnologica, si sono evidenziate le
difficoltà di un processo lento e in ritardo rispetto ad altri paesi che pure non
godono di condizioni politiche e geografiche favorevoli per la diffusione della
rete6.
Nel 1998, Cuba contava solo su di una connessione satellitare a 64-kbps7. Nel
2005 solo 3.3 su 100 cubani possedevano un PC8. Nel 2006, circa 190,000
cubani (il 2% della popolazione) erano utenti internet, un utilizzo che è
approssimativamente un tredicesimo di quello di Costa Rica e ai livelli di 1 ONI 2007, http://opennet.net/sites/opennet.net/files/cuba.pdf 2 2006 Information Technology Adoption and Political Regimes. International Studies Quarterly (with
Frank Westhoff). p.926 3 The Internet and state control in authoritarian regimes: China, Cuba and the counterrevolution
(originally published in August 2001), Shanthi Kalathil, Taylor C. Boas (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1788/1668)
4 Corrales and Westhoff, Information Technology Adoption and Political Regimes. 2006:925
5 Decreto Legge 209, giugno 1996 6 Geography matters: Mapping human development and digital access Stephanie Birdsall, William
Birdall (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1281/1201) 7 ONI 2007, http://opennet.net/sites/opennet.net/files/cuba.pdf 8 ONI 2007, http://opennet.net/sites/opennet.net/files/cuba.pdf
Uganda e Sri Lanka9. Dieci anni dopo (2006) le dichiarazioni di Fidel Castro10
ancora non cʼè stata lʼinversione di tendenza: una connessione satellitare a 65
Mb/s in upload e 124 Mb/s in download serviva l'intero paese e gli 11 milioni di
abitanti11.
Nel 2007, in seguito alle prime liberalizzazioni di Raul Castro, gli utenti internet
hanno raggiunto il 16% della popolazione (ai livelli dello Zimbawe12), nonostante
persistano pene e restrizioni molto rigide e nella maggior parte dei casi
l'accesso sia ristretto ad aree specifiche di competenza13.
Notizie positive si prospettano invece per il futuro, dal momento che il cavo di
fibra ottica proveniente dal Venezuela dovrebbe arrivare a Cuba nel primo
semestre del 201114, anche se le comunicazioni ufficiali cubane15 dichiarino che
solo una ristretta minoranza potrà goderne dei benefici, mentre il resto del
paese utilizzerà sempre la stessa connessione satellitare attiva.
9 Unesco Institute for Statistics 10 Patrick Symmes, “Che is dead,” Wired, http://www.wired.com/wired/archive/6.02/cuba.html 11 ONI 2007, http://opennet.net/sites/opennet.net/files/cuba.pdf 12 Unesco Institute for Statistics 13 http://news.bbc.co.uk/2/hi/americas/3425425.stm 14 MES, http://intranet.mes.edu.cu/index2.php?option=com_content&t 15 Granma, http://www.granma.cu/espanol/cuba/3noviem-desafio.html
L'utilizzo di un singolo satellite e la conseguente lentezza di connessione sono
indicati dal governo cubano come conseguenze dell'embargo con gli Stati
Uniti16. Secondo il governo infatti, le sanzioni tra gli Stati Uniti e Cuba non
permettono di collegarsi a un cavo di fibra ottica installato a soli dodici miglia
dalla costa del paese, che deve quindi affidarsi a costosi uplink attraverso paesi
come Cile, Brasile e Canada. Tale condizione si riflette poi sui proibitivi costi di
accesso per i cubani che si collegano legalmente ad internet17. L'embargo,
inoltre, complica l'acquisto di componenti hardware americane che
faciliterebbero le connessioni ad internet18.
Nonostante il governo cubano tenti di incolpare il bloqueo19 per mantenere i
cubani lontani da internet, la verità è che lo stesso governo norma e controlla
rigidamente l'uso che se ne fa e le modalità di accesso. Le connessioni private
sono pressoché vietate, salvo per alcuni casi particolari (generali, residenti
16 http://www.juventudrebelde.cu/cuba/2006-11-02/estados-unidos-bloquea-internet-en-cuba-l 17 ONI 2007, http://opennet.net/sites/opennet.net/files/cuba.pdf 18 http://www.juventudrebelde.cu/cuba/2006-11-02/estados-unidos-bloquea-internet-en-cuba-l 19 Trad. embargo
Illustration 1: gapminder
stranieri, istituzioni religiose) e hanno costi proibitivi, ciò vale anche per coloro
che potrebbero averne accesso seppur sempre e solo in seguito a richieste ben
motivate20. Per accedere legalmente ad account di posta elettronica o ad
internet, la maggioranza degli utenti cubani deve recarsi in luoghi di pubblico
accesso (centri ETEC SA o hotel di lusso a l'Havana). In questi luoghi, però
bisogna spesso attendere a lungo in coda, oltre a fornire il proprio passaporto o
documento di identità all'ingresso perché venga annotato su dei registri e
pagare 6.00 USD/h, circa metà del salario medio di un cubano. A causa di costi
così cari, la maggior parte dei cubani che ne ha la possibilità (quelli che
lavorano per i ministeri, gli ospedali, le università, sedi di aziende straniere,
aziende con relazioni internazionali, istituzioni religiose) preferisce accedere
attraverso intranet nazionali, anche se spesso a condizioni di banda ed accesso
molto più sfavorevoli21.
Al contrario dei cubani, ai turisti risulta maggiormente accessibile internet, dal
momento che possono accedere dagli hotel e da certi internet cafè, se non altro
perché possono permettersi il costo del servizio.
Per esempio, l'Hotel Palco a l'Havana offre 24h di accesso a internet in camere
private per 10 USD, anche se l'offerta è ristretta ai turisti, i cittadini cubani non
possono accedervi.
Rispetto alle costose connessioni legali esistono alternative illegali, anche se
tecnologicamente difficili da realizzare e pericolose per gli effetti che potrebbero
derivarne, visto soprattutto che il rischio di essere scoperti è enorme22. Il
mercato nero dell'accesso a internet è venduta da cubani con account approvati
a quelli che non hanno i mezzi o i permessi per accedervi23. È possibile
altrimenti cercare di ottenere un account da impiegati o tecnici dell'impresa
(ETEC SA) che si occupa della fornitura. La condivisione di un account è un
altro metodo per ottenere un'e-mail senza essere approvati. In genere la
20 http://en.rsf.org/cuba-minister-blames-us-embargo-for-low-13-02-2007,20999.html 21 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html 22 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html 23 http://news.bbc.co.uk/2/hi/americas/3386413.stm
condivisione24 è effettuata con account stranieri (yahoo, gmail, hotmail...) ed è
possibile anche se solo una persona ha ottenuto lʼapprovazione o attraverso il
consenso comprato da prestanomi autorizzati25.
Nonostante l'iniziale dichiarazione di Fidel Castro che definiva l'accesso a
internet un “diritto fonamentale” di tutti i cubani, il governo, da quando internet è
diventato pubblico nell'ottobre del 199626, ne ha sempre ristretto l'accesso. Nel
giugno del 1996 infatti, il Comitato Esecutivo del consiglio dei ministri cubano
approvava il Decreto Legge 209 che regola lo sviluppo di internet a Cuba. Il
decreto legge 209 mette l'accento sull'importanza di “politiche e strategie” per la
rete perché siano in linea con la cultura del paese, i propri bisogni per lo
sviluppo e l'interesse per la difesa nazionale e la sicurezza”27. L'articolo 13 del
decreto legge 209 riporta che “per assicurare che i principi presenti in questo
decreto siano rispettati, l'accesso ai servizi del world wide web saranno selettivi”
(Decreto No. 209/1996 Sobre el acceso de la República de Cuba a Redes de
Alcance Global). In questo modo il governo cubano pose dal principio una forte
restrizione all'accesso e all'uso della rete.
Il decreto legge 209 discute la prioritizzazione dell'eleggitbilità degli aventi diritto
all'accesso menzionati con l'articolo 13. L'articolo 12 dice:
Le politiche della rete saranno progettate in dipendenza degli interessi
nazionali. La priorità della connettività sarà data agli individui legalmente
riconosciuti e alle istituzioni considerate più rilevanti per il benessere e lo
sviluppo del Paese. (Decreto No. 209/1996 Sobre el acceso de la Repúlica de
Cuba a Redes de Alcance Global).
Gli “individui legalmente riconosciuti e alle istituzioni considerate più rilevanti
24 I messaggi non vengono realmente inviati, ma vengono salvati tra le bozze, in modo che non rimanga
traccia delle comunicazioni all'infuori dell'account condiviso. 25 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html 26 Patrick Symmes, “Che is dead,” Wired, http://www.wired.com/wired/archive/6.02/cuba.html 27 Decreto Legge 209, giugno 1996
per il benessere e lo sviluppo del Paese” a cui il decreto legge 209 fa
riferimento nella Sezione III, corrispondono agli intellettuali riconosciuti come
non dissidenti, a ricercatori e giornalisti governativi, allo staff di compagnie con
forti relazioni internazionali e ad imprese informatiche28.
Il governo cubano, inoltre, applica la censura su alcuni siti, principalmente quelli
erotici (che vanno contro la cultura e la morale del paese), quelli terroristici e
xenofobi (tra cui rientrano anche quelli politici/informativi non filogovernativi
anche se non detto espressamente)29. Dall'Hotel Palco è impossibile per
esempio collegarsi a www.hermanos.org, il sito internet dei Brothers of Rescue
(trad. fratelli del salvataggio), un'organizzazione anti castristista con sede negli
Stati Uniti che si propone di realizzare attività umanitarie, ma che è stata
accusata dal governo cubano di essere collegata ad attività terroristiche30. Un
altro esempio è l'accesso negato per www.democracia.org, un sito internet
dove si chiede il rilascio di Oscar Elias Biscet, un fisico dissidente cubano
condannato a 25 anni perché accusato di collaborare con il governo
statunitense per sovvertire il regime31.
Oltre a bloccare siti potenzialmente pericolosi per la “sicurezza e la difesa della
cultura del paese”, il governo cubano monitora tutte le e-mail inviate dai punti di
accesso pubblici. Presso gli internet point del Correos de Cuba, gli utenti
devono segnare il proprio nome ed indirizzo all'entrata32. Tutto il traffico delle e-
mail passa infatti attraverso l'unico ISP disponibile, controllato direttamente dal
governo, che ha predisposto un filtro che controlla i termini digitati e nel caso
siano sulla blacklist (es. nomi di dissidenti)33 visualizza un messaggio pop-up
che senza alcuna notifica chiude il browser34.
Per impedire ai dissidenti di fornire informazioni a testate straniere, il governo
28 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html 29 http://news.bbc.co.uk/2/hi/technology/5024874.stm 30 http://news.bbc.co.uk/2/hi/technology/5024874.stm 31 http://news.bbc.co.uk/2/hi/americas/2938041.stm 32 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html 33 ONI 2007, http://opennet.net/sites/opennet.net/files/cuba.pdf 34 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html
vieta a giornalisti non riconosciuti (non filogovernativi) di accedere ad internet
legalmente, attraverso appunto il controllo all'entrata negli internet point. Per
esempio, nessuno dei diciassette giornalisti che lavorano per l'agenzia di
stampa Cubanac N (la più famosa agenzia di giornalisti indipendenti di Cuba)
ha il permesso di entrare in questi cafè per inviare i propri elaborati oltreoceano
o negli Stati Uniti. Per comunicare con editori stranieri si trovano costretti a
dettare gli articoli per telefono, a costi di chiamata esorbitanti (10 pesos
covertibili per 5 minuti, più o meno 10 €)35 che nonostante sia molto più lento e
dispendioso è sicuramente più sicuro. Nel 2006 ci furono ventiquattro giornalisti
indipendenti incarcerati, con condanne fino a ventisette anni di carcere. Durante
i processi, l'accusa si è concentrata sulle loro attività sulla rete riguardanti la
pubblicazione di articoli su siti statunitensi che minavano la sicurezza del
paese. Inibendo la libertà di comunicazione di giornalisti indipendenti il regime
impedisce che le informazioni escano dal paese.
La politica castrista di accesso selettivo alla rete aiuta il governo a mantenere
un controllo centralizzato sul paese. Nel 1996 al World Economic Forum, nel
suo discorso intitolato “Dichiarazione d'indipendenza del Cyberspazio”, John
Perry Barlow, il cofondatore dell'Electronic Fronteir Foundation, espresse
chiaramente il concetto di come internet avrebbe reso la sovranità nazionale
obsoleta, diminuendo il potere e il controllo dello Stato sul cittadino per quanto
riguarda l'accesso alle informazioni36. In regimi repressivi, internet può
permettere ai cittadini di acquisire consapevolezza sulla realtà sociale,
economica e politica degli altri paesi e può facilitare così un processo di
cambiamento37. Per esempio con le elezioni del 2009 in Iran ha giocato un ruolo
fondamentale twitter38 per la divulgazione e il reperimento delle informazioni39. Il
35 http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html 36 Open Networks, Closed Regimes: The Impact of the Internet on Authoritarian Rule (Forward), Shanthi Kalathil, Taylor Boas, 2000 (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1025/946) 37 The Internet and state control in authoritarian regimes: China, Cuba and the counterrevolution
(originally published in August 2001), Shanthi Kalathil, Taylor C. Boas (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1788/1668)
38 www.twitter.com 39 http://news.bbc.co.uk/2/hi/middle_east/8505645.stm
governo cubano, con il suo stretto controllo sopra la rete, mantiene quindi
maggior controllo sull'esposizione delle informazioni ai suoi cittadini e sulla
potenziale influenza delle informazioni provenienti dall'estero.
Internet è considerato un importante strumento per lo sviluppo della democrazia
dal momento che fornisce ai cittadini potenti mezzi di comunicazione di
massa40. Così come la rete fornisce canali per una libera espressione e un
libero scambio di idee, l'accesso non ristretto rafforza i valori e gli standard
democratici di un paese41. Rispetto ad altre forme di telecomunicazione, internet
è un medium che permette a ciascun utente di inviare informazioni a qualsiasi
destinatario e ricevere informazioni da mittente o fonte, benché internet non
rientri comunque tra i mezzi che supportino un controllo centralizzato42.
Secondo LaKindra Mohr, della Johns Hopkins University, le restrizioni alla rete
“possono non solo nascondere, ma eliminare il ruolo di internet per il proliferare
di sottoculture ai fini di un cambiamento politico”43.
Sebbene la situazione descritta disegni un contesto in cui internet non sembra
avere molto spazio all'interno della società cubana, sembra che per il futuro si
aprano degli spiragli importanti per un'adozione massiva, visto anche i grandi
cambiamenti in atto all'interno della società e nella cultura cubana44.
40 Geoffry L. Taubman, Keeping Out the Internet? Non-Democratic Legitimacy and Access to the
Web (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/984/905)
41 Volume 27, Number 2, Summer-Fall 2007, Mohr, LaKindra. Of Note: State Control of the Internet Reins in Cuba's Future 42 Keeping Out the Internet? Non-Democratic Legitimacy and Access to the Web, Geoffry Taubman (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/984/905) e Open Networks, Closed Regimes: The Impact of the Internet on Authoritarian Rule (Forward), Shanthi Kalathil, Taylor Boas, 2000 (http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1025/946) (http://bit.ly/hRMVKX) 43 Volume 27, Number 2, Summer-Fall 2007, Mohr, LaKindra. Of Note: State Control of the Internet Reins in Cuba's Future 44 Proyecto de Lineamientos de la política económica y social (http://www.cubadebate.cu/wp-
content/uploads/2010/11/proyecto-lineamientos-pcc.pdf)
Il sistema informativo dell'università di Sancti Spiritus
L'Università di Sancti Spiritus si compone di 3 facoltà (Ingenieria, Humanidades
e Contabilidad y Finanza), due dipartimenti indipendenti (Marxismo y Historia e
Agropecuaria), una biblioteca e uno studentato, organizzati in cinque edifici
distinti dislocati in luoghi differenti della città, seppur nel raggio di 3 km (ad
esclusione del dipartimento di Agropecuaria che ha sede a Topes de Collantes,
a 70 km dalla città).
Nelle diverse sedi è presente una cablatura non professionale, che nella sede
più avanzata, quella centrale (edificio 1, Ingegneria), in cui ha inizialmente sede
il progetto, viene distribuita attraverso 120 punti rete. La sede centrale è inoltre il
luogo dove si trovano fisicamente tutti i server che forniscono i servizi
all'università, sebbene non siano server professionali, ma computer con
capacità limitata (512Mb di RAM) utilizzati come server.
Illustration 2: Cablatura delle aule
Illustration 3: Nodo principale della rete
La banda a disposizione dell'Università è diversa a seconda del canale a cui ci
si collega. L'università conta infatti su tre canali principali a cui possono
accedere diversi tipi di utenza in base ai propri permessi: la intranet
universitaria a cui accedono studenti e professori; la rete del MES (il ministero
dell'istruzione cubana), a cui accedono professori e studenti autorizzati ed
internet vero e proprio, a cui accedono solamente gli utenti autorizzati, previa
richiesta formale scritta contente motivazioni specifiche.
La intranet dell'università è di fatto un sito internet locale a cui tutti hanno
accesso tramite connessioni provenienti dall'interno dell'università o dalla rete
universitaria, così come alla rete del MES.
Se la velocità della rete locale all'interno di ogni edificio è accettabile (fino a 512
kpbs), non lo è invece quella che collega tra loro i diversi edifici (edificio 1 con
edificio 2, biblioteca e studentato, < 64 kpbs), per cui ogni sede deve
Illustration 4: server in produzione dell'università
necessariamente replicare la struttura base di server presente nella sede
principale per fornire un dignitoso accesso ai servizi agli utenti.
La rete del MES è accessibile attraverso un collegamento a 1 Mbps, che varia
però di anno in anno e di Università in Università in base all'uso che ne fanno gli
utenti. Per il 2011, viste le poche ricerche effettuate attraverso questo canale da
studenti e professori dell'Università José Martì di Sancti Spiritus, la banda sarà
leggermente diminuita.
Internet è disponibile invece attraverso un collegamento a 64 kbps che serve
l'università intera e tutti i suoi edifici. Questo comporta diversi problemi di
accesso quando tutti gli uffici sono operativi o i laboratori occupati. Al problema
dell'affollamento della rete si aggiungono i limiti tecnici dei server della posta e
del proxy che a volte si sovraccaricano e saltano, oltre a problemi di corrente
(blackout improvvisi o periodi di ahorro energetico45) comuni in tutta Cuba46.
45 Trad. risparmio energetico 46 http://havanajournal.com/politics/entry/recurring_blackouts_plague_cuba/
Come la situazione per quanto riguarda le infrastrutture e la connettività, quella
che riguarda il sistema informativo, non era delle migliori: un vero sistema
strutturato al momento dell'inizio delle attività non esisteva, le soluzioni e gli
strumenti adottati erano stati realizzati da iniziative indipendenti da parte di
professori volenterosi, senza però una visione allargata del contesto. Sono stati
realizzati in questo modo un sito internet, una rete interna (a cui faremo
riferimento come intranet), diverse installazioni di Moodle (software di e-
learning) e un sistema di posta elettronica. Questi servizi versano però in
pessime condizioni, sono spesso non disponibili per via dell'instabilità del
sistema e di una totale assenza di procedure di ripristino quando i server per un
motivo o per l'altro (mancanza di corrente, errori di sistema, spostamenti …)
smettono di funzionare, oltre a manifestare una serie di malfunzionamenti
Illustration 5: rete dll'università
riconducibili sempre alla mancanza di referenti per l'assistenza, lo sviluppo e la
manutenzione.
Illustration 6: intranet iniziale
Nonostante i problemi presenti però, si percepisce una reale esigenza di
utilizzare strumenti informatici per accedere alle informazioni del Ministero
(MES) e di utilizzare un sistema per un'effettiva gestione dei compiti, dei progetti
e dei lavori degli studenti.
I principali servizi disponibili, la intranet e Moodle, erano inizialmente accessibili
solo attraverso indirizzi ip (10.16.1.9), mentre per leggere la mail gli utenti erano
stati addestrati a scrivere nel browser 10.16.1.1:3000, dal momento che
nessuno si occupava del mantenimento dei dns. Tutte le connessioni
dall'università sono mediate da un proxy che si trova invece su 10.16.1.4 a cui
ci si autentica con la mail ufficiale dell'università. Vista la configurazione delle
connessioni, capitava spesso di vedere utenti normali mettere mano a
configurazioni avanzate di browser e rete per cercare di bypassare il proxy
perchè la macchina esta apagada47, invano.
47 Trad. è spenta
Illustration 7: campus on line (Moodle)
Illustration 8: interfaccia di accesso alla webmail
Il sito internet, prima del settembre del 2010, era costituito da pagine statiche
difficilmente aggiornabili da utenti senza conoscenze informatiche e rispondeva
principalmente all'esigenza di comunicare l'esistenza dell'ente universitario,
soprattutto nei confronti di università partner estere, nonostante fosse spesso
non raggiungibile e non visibile su diversi browser (su Firefox veniva
visualizzato solo lo schermo bianco). Una versione più evoluta e basata su
Drupal è stata realizzata nel settembre 2010, che, nonostante riporti
informazioni non aggiornate e il template base del CMS48, costituisce senza
dubbio un'importante evoluzione in positivo del sito, dal momento che è ora
possibile aggiornare automaticamente i contenuti. Il problema è che al principio
del progetto presso l'Università cubana, il webmaster del sito non era già più
reperibile e non c'era nessuno che si occupasse dell'aggiornamento dei
48 Content Management System
Illustration 9: configurazione del proxy
contenuti.
Il problema emerso però con il rinnovamento del sito internet è che sebbene gli
strumenti siano stati rinnovati e siano funzionanti, continua a mancare
Illustration 10: sito dell'università prima di settembre 2010
Illustration 11: sito dell'università a settembre 2010
un'organizzazione che invogli o imponga una collaborazione attiva per quanto
riguarda il reperimento, la stesura e l'aggiornamento dei contenuti.
La mancanza di consapevolezza dei processi di sviluppo, della propria struttura
organizzativa e delle stesse esigenze dell'università ha suggerito che prima
ancora di iniziare a pianificare le attività di sviluppo, venisse fatta chiarezza sui
processi e i flussi di comunicazione interna all'università, in modo poi da
strutturarli all'interno di un sistema informativo.
Le esigenze riconosciute per il sistema informativo e informatico dell'università
emerse dalle analisi e dalla tavola rotonda (taller) tenuta con tutti i professori del
dipartimento di informatica possono riassumersi in:
1. migrare al software libero (da windows a linux)
2. aumentare i livelli di sicurezza informatica
3. uniformare l'utilizzo degli strumenti informatici per un miglior
mantenimento (anche dal punto di vista del design)
4. unificare delle utenze
5. creare una cultura informatica per un maggior utilizzo dei servizi e degli
strumenti disponibili
6. ordinare i servizi disponibili e facilitarne l'accesso
7. aumentare l'uso del canale del MES (e acquisire così banda maggiore)
8. offrire alla biblioteca degli strumenti per gestire al meglio il catalogo, i
prestiti e le statistiche sulle ricerche (richieste dal ministero)
9. regolare e far rispettare i regolamenti informatici presenti
Dal momento che non esistono fondi per pensare ad un vero e proprio piano di
informatizzazione, tutte le attività dovranno essere realizzate dalle persone
presenti nell'università, con le risorse disponibili. Per tale motivo non è
contemplata ancora l'evoluzione della rete interna dell'università, il
miglioramento della connessione tra gli edifici ed altre attività che comportano la
sostituzione di dispositivi hardware nuovi. I dispositivi presenti infatti sono per lo
più donazioni o prodotti di progetti di intercambio con università o ONG estere
con cui l'università ha rapporti.
Le esigenze emerse dal taller verranno assolte da diverse figure e diversi
laboratori. Per quanto compete al progetto oggetto di questa tesi e al
Laboratorio di Tecnologie Educative, a cui si fa riferimento, spetta lo sviluppo
dei punti 3, 4, 5, 6 e 7, o almeno l'impostazione iniziale, visto che sono processi
articolati nel tempo.
L'oggetto del progetto è stata quindi la progettazione della intranet, considerata
come il risultato finale di un ripensamento organizzativo, informativo e
tecnologico in cui sono state coinvolti decani, professori e con il tempo, sempre
di più, saranno coinvolti anche gli studenti, in modo tale che il progetto possa
continuare nel tempo.
Dal punto di vista organizzativo si sono dovuti affrontare due tipi di problemi per
la gestione della conoscenza: l'uso degli strumenti e la creazione degli
strumenti informatici.
Per quanto concerne la creazione degli strumenti, era importante che gli
insegnanti che si occupano dei sistemi informativi prendessero familiarità con il
nuovo sistema. Per facilitare questo processo si è deciso infatti di scegliere un
solo CMS per la gestione delle diverse intranet, in modo tale che gli sforzi per la
formazione (o autoformazione) fossero minori e per fare in modo che fosse più
facile poi insegnare agli studenti l'uso di tali strumenti. La formazione da parte
dei professori è un processo importante per l'effettiva conoscenza degli
strumenti da parte degli stessi, oltre che un utile mezzo di confronto.
L'insegnamento agli studenti permette inoltre di ridurre il rischio di rimanere
senza manutenzione, nel caso dʼimpossibilità per professori di gestire il
sistema.
Sotto l'aspetto invece della gestione, della conoscenza per l'uso degli strumenti
il percorso è più lungo dal momento che bisogna cercare di coinvolgere le
persone, senza costringerle. All'interno dell'università si era già provato più volte
a costringere i professori ad adottare moodle come strumento di insegnamento,
con un'adozione comunque bassa. Si è pensato quindi che il processo di
adozione potesse essere organizzato diversamente in diverse fasi distribuite nel
tempo. Per prima cosa, gli strumenti devono essere funzionanti e accessibili,
cosa che al momento non sono. Le fasi successive prevedono lo studio di
metodi per fare in modo che tali strumenti risultino desiderabili, attraverso il
design, l'aggiunta di funzioni engaging49, ma non strettamente legate agli
obiettivi principali della intranet (informare e formare), attraverso l'accessibilità e
una buona usabilità.
Unificare l'uso degli strumenti però ha portato con sé la necessità di migrare dai
vecchi sistemi al nuovo (da Wordpress e Joomla a Drupal), anche se non è
stato considerato un fattore critico, dal momento che l'uso effettivo di tali sistemi
da parte degli utenti era molto limitato e dal momento che i sistemi in uso non
presentavano molti contenuti. Dal punto di vista delle informazioni infatti, i
sistemi sono stati ripensati completamente dal momento che i vecchi sistemi
erano stati realizzati senza alcuna raccolta di requisiti e senza tenere in
considerazioni gli utenti né le loro esigenze. Il lavoro di organizzazione per
quanto riguarda le informazioni si è ridotto nella stesura di linee guida e linee di
stile per la creazione di articoli e in elenchi di fonti da cui attingere per il
reperimento di news ed altri materiali informativi (vedi allegati). Si è cercato,
inoltre, di automatizzare il più possibile l'aggiornamento, attraverso
l'aggregamento di feed RSS.
Per quanto riguarda la tecnologia e i problemi di accesso, si è lavorato da subito
sugli URL attraverso cui accedere ai servizi, visto che la situazione era
particolarmente confusa, dal momento che esisteva un nome a dominio per il
sito dell'università, ma per tutto il resto gli indirizzi dei servizi sono raggiunti
attravero gli IP delle macchine sopra cui erano montati, con evidenti problemi di
sostenibilità e di facilità di comprensione. Il dominio principale è
www.suss.co.cu che però presto50 diventerà www.uniss.edu.cu per adeguarsi
alle convenzioni che si stanno predisponendo all'interno del panorama
49 Engaging by design: How engagement strategies in popular computer and video games can inform
instructional design Michele D. Dickey (http://www.springerlink.com/content/672h1675qx1068h6/fulltext.pdf)
50 L'università al momento non ha fondi per acquistare il dominio
educativo cubano. È stato quindi messo ordine tra le configurazioni degli url per
l'accesso ai servizi: i nuovi indirizzi sono più chiari e leggibili e hanno una logica
che permetterà ad ulteriori servizi che si aggiungeranno nel tempo, di
uniformarsi alle convenzioni create. Ogni servizio appare ora come
sottodominio dell'url principale dell'università (suss.co.cu):
• intranet.suss.co.cu : intranet generale comune a tutte le facoltà con i
rimandi alle facoltà specifiche
• ing.intranet.suss.co.cu : intranet per Ingenieria
• campus.ing.suss.co.cu : campus virtuale per Ingenieria
• cfc.intranet.suss.co.cu : intranet per Contabilidad, Humanidades y
Finanzas che sebbene siano facoltà diverse si trovano tutte all'interno di
uno stesso edificio (edificio 2)
• campus.cfc.suss.co.cu : campus virtuale per Contabilidad, Humanidades
y Finanzas
• mh.intranet.suss.co.cu : intranet per il dipartimento di Marxismo y
Historia
• campus.mh.suss.co.cu : campus virtuale per il dipartimento di Marxismo
y Historia
• fame.intranet.suss.co.cu : intranet per il dipartimento di Agropecuaria
• campus.fame.suss.co.cu : campus virtuale per il dipartimento di
Agropecuaria
Le problematiche relative ai dispositivi hardware e di banda invece non sono
state prese in considerazione dal progetto.
Per comprendere meglio la situazione tecnologica che caratterizza la realtà
cubana e l'Università si può prendere come esempio il sistema di gestione delle
prenotazioni per i viaggi in autobus.
Se si vuole fare un viaggio con Astro (la compagnia nazionale con cui viaggiano
i cubani) non è possibile avvalersi di alcun sistema di prenotazione
automatizzato, esistono di converso due modalità alternative: la prenotazione e
le liste d'attesa.
Le prenotazioni sono distribuite tra tutti gli uffici autorizzati alla vendita con
proporzioni diverse a seconda della centralità o meno del luogo rispetto al
terminal, senza la possibilità di prenotare da un ufficio all'altro nel caso i posti si
esauriscano in un luogo dal momento che le liste sono cartacee e al momento
dell'acquisto il cliente deve firmarle.
Le liste d'attesa invece sono dei registri cartacei (a volte i registri non ci sono e
bisogna fare la coda nel salone d'attesa) sopra cui ci si può appuntare per
diverse destinazioni (fino ad un massimo di due), in attesa che un pullman in
arrivo abbia abbastanza posti disponibili, cosa che si può sapere però solo
quando il pullman arriva in stazione e l'autista comunica alla biglietteria quanti
sono i posti liberi.
Questo sistema porta ovviamente alla creazione di code lunghissime e tempi
d'attesa che si contano in ore e giorni. Diversamente da quanto ci si potrebbe
aspettare però, le persone in attesa non si lamentano e si rassegnano di buon
grado ad aspettare il proprio turno.
All'interno dell'università l'atteggiamento di attesa è molto simile e il rapporto
con le tecnologie è per lo più segnato da uno spirito di rassegnazione.
LA SOLUZIONE PROPOSTA
Progettazione
I principi identificati come capisaldi per la progettazione del nuovo sistema sono
tre: usabilità, accessibilità e sostenibilità. Comuni a questi principi ci sono
diversi concetti come ordine, semplicità51, flessibilità, apertura e solidità.
L'ordine si oppone all'aleatorietà con cui erano state condotte le attività a livello
di progettazione fino a settembre 2010 e si intende quindi sottolineare come i
processi, da questo punto, si organizzino all'interno di un piano di sviluppo
preciso, sebbene sussistano ancora dei problemi di disponibilità delle risorse
coinvolte nel progetto sia di carattere personale che a livello di calendario.
L'ordine auspicato a livello organizzativo si dovrebbe poi riflettere in sinergie
funzionali tra i diversi professori, che con i nuovi servizi introdotti
(principalmente jabber52), possono coordinare al meglio le attività. Viste le
risorse limitate, non ne esiste una che possa dedicarsi al coordinamento del
progetto. Si è pensato, quindi, che un metodo efficace, per non compromettere
la difficile armonia raggiunta, sia sensibilizzare i collaboratori agli obbiettivi del
progetto piuttosto che fissare rigide scadenze e metodi di controllo del lavoro
svolto. Fare ordine a livello di infrastruttura ha significato inoltre ridefinire le
logiche per le assegnazioni dei nomi a dominio, oltre che unificare i diversi CMS
eleggendone solo uno, semplificando così i processi di sviluppo e
mantenimento. A livello di layout invece l'ordine si ritrova nell'utilizzo di griglie53
per l'organizzazione dei contenuti all'interno della pagina.
La sostenibilità è un concetto che non è ancora molto presente quando si parla
di webdesign, ma che per il contesto cubano e per la natura del progetto ha
particolarmente senso: in altri contesti54 si definisce sostenibile infatti
l'”equilibrio fra il soddisfacimento delle esigenze presenti senza compromettere 51 Le leggi della semplicità, di Maeda John 52 Software per messaggistica istantanea, www.jabber.org 53 Ordering Disorder: Grid Principles for Web Design (Voices That Matter), di Khoi Vinh 54 Uno dei primi ambiti in cui si è cominciato a parlare di sostenibilità è l'ambiente.
la possibilità delle future generazioni di sopperire alle proprie”55. La sostenibilità
viene pertanto identificata come principio chiave per fare in modo che al termine
della permanenza a Sancti Spiritus, il progetto abbia un seguito con le risorse e
le conoscenze disponibili e che il sistema creato sia abbastanza flessibile e
solido per sostenere cambiamenti nelle esigenze o per accogliere nuovi servizi.
Una progettazione sostenibile è infatti un concetto dove qualcosa è costruito
tenendo conto fattori economici, sociali ed ecologici. Il cuore della sostenibilità
si ritrova pertanto nell'uso e nel lungo periodo56.
L'accessibilità57 invece è un concetto ancora del tutto estraneo alla cultura
cubana, non solo per quanto riguarda il web: nelle leggi e nei regolamenti non vi
è traccia alcuna di indicazioni per evitare impedimenti ai diversamente abili o
per facilitare l'accesso ai servizi a una più vasta parte della popolazione. Per
quanto riguarda il web, con solo il 16% della popolazione ad avere accesso alla
rete, è secondario pensare a fornire strumenti per i diversamente abili, quando
la gran maggioranza degli utenti è nelle stesse condizioni. In nessuno dei siti
internet delle università cubane si nota infatti come non venga mai citata
l'accessibilità e nessun sito risulta essere accessibile dopo diversi test
effettuati58 per via di codici male impostati e per la mancanza di alternative
testuali ai diversi contenuti presenti sui siti.
Jackob Nielsen59 definisce per l'accessibilità tre diversi step60, per quanto
riguarda le possibilità che le persone di certi paesi in via di sviluppo hanno di
accedere alle potenzialità di internet. Nella sua forma più semplice, il digital
divide (considerato come ostacolo all'accesso), si manifesta nella forma di
economic divide, quando alcune persone non possono permettersi di comprare
un computer. Considerato molto peggiore invece è l'usability divide, il fatto che
55 Dal Rapporto Brundtland (conosciuto anche come Our Common Future), un documento rilasciato nel
1987 dalla Commissione mondiale sull'ambiente e lo sviluppo (WCED) 56 http://ezinearticles.com/?What-Is-Sustainable-Web-Design?&id=4937806 57 Web Accessibility: Web Standards and Regulatory Compliance, Richard Rutter, Patrick H. Lauke,
Cynthia Waddell, Jim Thatcher Jim Thatcher 58 http://sixrevisions.com/web-standards/accessibility_testtools/
http://www.w3.org/WAI/ER/tools/complete 59 http://en.wikipedia.org/wiki/Jakob_Nielsen_%28usability_consultant%29 60 http://www.useit.com/alertbox/digital-divide.html
la tecnologia rimane così complicata che molte persone non riuscirebbero ad
usare un computer anche se ce lo avessero a costo zero. Altri ancora che
invece riescono ad usare i computer, non ne ottengono tutti i benefici perché i
servizi disponibili sono troppo complicati da capire. Gli anziani e le persone con
un basso livello di alfabetizzazione sono gli altri segmenti poco considerati
quando si parla di accessibilità. Il terzo tipo di digital divide riconosciuto da
Nielsen è l'empowerment divide, il differente livello di partecipazione da parte
degli utenti on line che risulta inferiore anche alla regola dell'80/2061. Viene
definita infatti una nuova regola, chiamata 90/9/1 (o dell'1%)62, che
rappresenterebbe la situazione in cui la maggior parte delle persone (il 90%)
approfitti dei contributi prodotti da utenti saltuari (il 9%) e utenti regolari (1%)63.
Secondo le analisi del Nielsen Normal Group64 gli utenti non saprebbero
nemmeno cercare efficacemente su Google, non riformulando mai le query65 ed
ignorando inoltre, che nelle liste dei risulati certi siano in realtà pubblicità66.
La particolarità di Cuba, per quanto concerne il digital divide, sta nel fatto che se
nel resto del mondo l'economic divide sembra diminuire rapidamente, sull'isola
caraibica non dà segno di miglioramento, nonostante invece migliorino molto
più velocemente i problemi di usability divide visto l'alto livello di alfabetismo,
mentre l'empowerment divide rimane un problema, alla stregua dei paesi
sviluppati.
Nel progetto si è cercato di tener conto di questi elementi proponendo un
sistema di adozione a lungo termine, che coinvolga direttamente le persone,
passando attraverso processi di formazione e passaggio delle conoscenze, in
modo da consolidare la presenza di una cultura digitale a partire dalle persone.
La semplicità e l'usabilità trovano riscontro nell'approccio adottato per la
progettazione: l'user centered design67, sebbene all'interno dell'Università la
61 http://en.wikipedia.org/wiki/Pareto_principle 62 http://en.wikipedia.org/wiki/1%25_rule_%28Internet_culture%29 63 http://www.useit.com/alertbox/participation_inequality.html 64 http://www.nngroup.com/ 65 http://www.useit.com/alertbox/defaults.html 66 http://www.consumerwebwatch.org/dynamic/search-report-false-oracles-abstract.cfm 67 http://en.wikipedia.org/wiki/User-centered_design
maggioranza degli utenti non abbia alcuna esperienza del web e il loro
coinvolgimento tentato nelle prime fasi del progetto non ha prodotto risultati
significativi. Risultati non particolarmente interessanti sono emersi da indagini
svolte da docenti di TIC68, che hanno portato alla luce come in realtà sia ancora
limitata la conoscenza, a partire proprio dai professori stessi, dei processi per
una progettazione user centered e delle metodologie di ricerca quantitativa per
la raccolta dei requisiti. Il questionario utilizzato per chiedere ai docenti, in
quanto unici ad avere accesso ad internet all'infuori della intranet universitaria
(e pertanto, si pensava, con maggior esperienza del web), quali fossero i servizi
e le funzionalità più desiderate, ha evidenziato come non ci sia conoscenza
delle funzionalità e dei servizi stessi possibili e disponibili, visto soprattutto la
poca coerenza delle risposte.
Il metodo prescelto per mantenere un approccio user centered è stato quindi
quello di osservare il comportamento attivo degli utenti attraverso software di
analytics per quanto riguarda le attività sulla intranet e su moodle, i servizi già
attivi all'inizio del progetto, cercando poi di identificare le esigenze e gli obiettivi
confrontandoli con quelli degli utenti dell'Università Bicocca, dal momento che
presso l'Università di Sancti Spiritus non è stato possibile trovare un referente
che sapesse indicarle con chiarezza. Per fare ciò, sono stati istallati da subito
piwik69 e clickheat70, due sotfware opensource per l'analisi dei comportamenti
degli utenti su siti internet. Non è stato possibile utilizzare servizi come Google
Analytics dal momento che la intranet è protetta da un proxy e non è possibile
utilizzare servizi esterni.
68 Trad. ICT, Information Communication Technology 69 Software opensource alternativo a Google Analytics, il cui accesso è ristretto per le intranet.
www.piwik.org 70 Software per la mappatura dei click, http://www.labsmedia.com/clickheat/index.html
Per arrivare a definire gli obiettivi principali, gli user personas e gli scenari
d'uso, viste le difficoltà di definirli indipendentemente solo per quanto riguarda
l'università cubana, è stato effettuato un raffronto tra l'università di Sancti
Spiritus, con quella di Milano Bicocca71, cercando conferme e smentite sui
diversi modi di gestire informazioni, persone e processi.
L'analisi dei requisiti e dei bisogni specifici dell'università ha portato alla 71 Greta Liguori “Uso di strumenti Web 2.0 per la realizzazione di applicazioni sostenibili in ambienti
educativi: il caso di Sancti Spiritus a Cuba”
Illustration 12: interfaccia di piwik sull'andamento delle visite all'interno della intranet di ingenieria
Illustration 13: utilizzo dei servizi da parte degli utenti
definizione di 5 obiettivi principali:
1. informare
2. dare facile accesso ai servizi
3. velocizzare le comunicazioni
4. facilitare le docenze
5. intrattenere, socializzare e coinvolgere
Tali obiettivi si pensa possano essere raggiunti attraverso diversi servizi messi
a disposizione degli utenti, il cui utilizzo è suggerito, ma ancora non codificato,
dal momento che non esistono utilizzi simili a cuba di questi strumenti. Si crede
che offrendo le possibilità e fornendo delle indicazioni sull'utilizzo, questi
strumenti possano essere adattati ad assolvere esigenze particolari all'interno
dell'università.
I servizi realizzati sono:
• forum
• messaggeria istantanea (jabber)
• newsletter
• social network
• campus virtuale (moodle)
• musica
• repository (ftp)
• servizi informatici, aiuto e assistenza
In particolare il forum è pensato come un canale di informazioni non istituzionali
attraverso cui proporre temi ed argomenti di discussione. All'interno del forum,
sarà possibile inoltre, richiedere assistenza informatica, con l'obiettivo di
raccogliere le diverse richieste e fornire già le risposte, togliendo così l'onere ai
professori di informatica di rispondere più volte alle medesime domande. Nello
stesso modo, ci si augura, altri uffici possano cogliere il senso e l'effettivo
risparmio dello'uso dello strumento, adottandolo.
La messaggeria istantanea è stata adottata principalmente dagli uffici e dai
professori, perché si crede non esista ancora la maturità necessaria da parte
degli utenti, per un uso coscienzioso dello strumento. Inoltre un uso smodato di
jabber potrebbe causare problemi di banda, nel caso si inizino a scambiare
grandi moli di files (foto, video, musica), vietati dal regolamento dell'università.
La newsletter adempie a una doppia funzione: da una parte offre un canale
differente dalla intranet per il reperimento dei contenuti, dall'altro viene utilizzata
per sollecitare la partecipazione e la collaborazione tra i partecipanti al progetto.
Creare un socialnetwork all'interno dell'università non è facile e non è ben visto.
Basti pensare che a Cuba, il governo ha vietato, bloccandolo, l'uso di
Facebook. D'altro canto però, come dimostrato72, le motivazioni relazionali73
sono un elemento importante per il coinvolgimento degli utenti all'interno di
contesti informativi digitali. Queste considerazioni hanno portato ad un
approccio molto cauto all'inserimento di componenti sociali all'interno della
intranet. Nella prima fase, la social network permetterà agli utenti di modificare il
proprio avatar, il proprio profilo, mandare messaggi privati ad altri utenti,
consultare elenchi con i compleanni degli utenti e, previa autorizzazione, aprire
un blog.
Per il campus virtuale, già presente all'inizio del progetto, si pensa solamente di
riorganizzarlo secondo i principi identificati, attraverso un redesign e
l'unificazione delle utenze.
La musica, seppur vietata per regolamento, era già presente con kplaylist74, uno
strumento che permette agli utenti di ascoltare la musica dalla rete. Il servizio
viene ripristinato dopo che un guasto ne aveva interdetto il funzionamento.
La repository viene evoluta ed arricchita di funzionalità di ricerca e
manutenzione: dalla precedente versione dove venivano letti solamente i files
pubblicati all'interno di un ftp, si passa ad una versione con un'interfaccia
grafica più evoluta dove è possibile abbonarsi anche agli aggiornamenti dei
diversi files, in modo da poter scaricare l'ultima versione pubblicata senza dover
consultare periodicamente la repository (specialmente nel caso degli 72 http://www.useit.com/alertbox/social-intranet-features.html 73 http://ibridazioni.com/2008/11/01/design-motivazionale-usabilita-sociale-e-group-centered-design/ 74 http://www.kplaylist.net/
aggiornamenti degli antivirus).
I servizi informatici invece sono delle modalità di assistenza e manutenzione
attraverso i servizi sopra indicati.
Queste soluzioni sono pensate per essere intranet di facoltà, nell'ottica di
essere replicate con la stessa struttura per le altre, almeno finché l'infrastruttura
di rete dell'università non permetterà di centralizzare e unificare realmente le
intranet.
L'approccio alla creazione di utenti per il sito è stato quello di garantire accesso
ai soli utenti provvisti di e-mail del campus, ma adottando un sistema distribuito
di autenticazione (grazie a un modulo apposito di drupal, site network) che
permette di condividere le informazioni di autenticazione degli utenti all'interno
di diversi siti. In questo modo la intranet e tutti i siti delle diverse facoltà possono
condividere le credenziali degli utenti.
Il controllo all'accesso è effettuato in due modi: il primo, attraverso la
registrazione degli utenti e il secondo attraverso l'identificazione con ldap.
Questo sistema permette di superare il problema iniziale di multiaccount e
registrazioni illimitate, in modo che si abbia maggior controllo sulle utenze,
soprattutto in vista di un'apertura maggiore alla pubblicazione di contenuti. La
responsabilizzazione degli utenti passa in questa prima fase attraverso
l'identificazione univoca delle persone all'interno della intranet.
La soluzione proposta Per arrivare a definire un wireframe per la nuova intranet, è stato fatto un lavoro
di analisi sulle intranet delle altre università cubana, nonostante il livello medio
non fosse molto elevato. L'utilità di questa analisi però ha consentito di
confrontare esigenze e bisogni inizialmente non riconosciuti all'interno
dell'università di Sancti Spiritus, oltre che a prendere visione delle informazioni
inserite e delle etichette utilizzate per le diverse sezioni. Il livello iniziale della
intranet dell'università di Sancti Spiritus in realtà era in linea con le altre
università, ma come per quest'ultime, proprio nel medesimo periodo, la
situazione iniziava a smuoversi e da un giorno con l'altro era facile vedere
l'evolversi dei diversi siti.
Il trend delle varie intranet era quello di utilizzare i template standard dei diversi
CMS open source (joomla, drupal, plone) e distribuire il contenuto su tre
colonne, una centrale e due sidebar. Il menu di navigazione invece era spesso
diviso in diverse parti, una orizzontale nell'header della pagina ed altre
secondarie nelle due sidebar. Una tendenza facilmente riconoscibile era quella
di riempire eccessivamente di informazioni le pagine, a scapito di qualsiasi
equilibrio con spazi bianchi e della leggibilità (information overload). La intranet
dell'università di Guantanamo per esempio presenta cinque menu distinti, sparsi
tra header e sidebar (illustration 1, elementi cerchiati di rosso), un layout su tre
colonne ed utilizza joomla
come CMS.
Illustration 14: intranet dell'università di Guantanamo
Per seguire i principi di semplicità e ordine definiti nella prima fase progettuale,
è stato deciso di adottare un layout a due colonne, con un menu di navigazione
unico, anche se il processo di sintesi e raggruppamento delle diverse sezioni
all'interno delle voci del menu non è stato semplice. Spesso infatti veniva
distinto il menu di navigazione dei servizi, il menu delle news e quello delle
Illustration 15: intranet dell'università di Santa Clara
informazioni sull'università.
L'obiettivo della navigazione che si è cercato di raggiungere è stato quello di
portare ogni pagina a non più di un click di distanza dalle altre, in modo da
garantire un facile accesso alle informazioni. Per alleggerire e rendere più pulita
l'interfaccia si è deciso di adottare un menu a tendina (illustration 3) su più
livelli, preferito alla soluzione esplosa (illustration 4) che se da un lato facilitava
l'inserimenti di ulteriori voci, dall'altro distribuiva su di uno spazio troppo lungo
delle informazioni vitali per l'accesso alle diverse sezioni, rubando spazio nella
sidebar ad eventuale contenuto contestuale alle pagine.
L'interfaccia proposta (illustration 19) presenta una soluzione adattiva per le
diverse pagine interne, in cui la sidebar costituisce un elemento dinamico che
cambia in corrispondenza del contenuto principale della pagina, mentre
l'accesso alle altre parti del sito è garantito sempre dal menu di navigazione
(illustration 18) e dal menu a briciole di pane che permette in ogni momento
all'utente di ritrovarsi all'interno del sito. Questa soluzione è conseguente alla
scelta di visualizzare i contenuti solo quando l'utente è potenzialmente più
interessato a consultarli e di nascondere invece tutto ciò che non è contestuale
e che può quindi distogliere l'attenzione dal focus della pagina (illustration 20 e
21).
Delle diverse soluzioni proposte si è scelto di sviluppare quella che meglio si
Illustration 16: Illustration 17:
poteva adattare al cambiamento: i riquadri infatti che compongono la pagina
principale sono pensati per poter essere flessibili per larghezza e altezza, oltre
che per contenuti. Un layout così semplice conferisce chiarezza anche quando
le informazioni aumentano, mantenendo leggero l'impatto visivo. Gli angoli
arrotondati invece vogliono richiamare ad un trend nel web design definito web
2.0.
Illustration 18: menu di navigazione della soluzione proposta
Illustration 19: soluzione proposta, homepage
Illustration 20: soluzione proposta, eventi
Illustration 21: soluzione proposta, pagina news
Per quanto riguarda invece la tipografia sono stati scelti due font formalmente
differenti: il Palatino per il corpo del testo, un carattere graziato, mentre per i
titoli si è scelto un font bastone, l'Helvetica Neue.
DRUPAL COME FRAMEWORK PER LO SVILUPPO
Il software open source e la scelta di Drupal
Quando ci si approccia allo sviluppo di un nuovo sistema informativo e si decide
che debba essere basato su CMS opensource, bisogna prendere coscienza
del fatto che il costo zero del software non equivale a zero risorse per lo
sviluppo. Le risorse, nel caso di sistemi basati su software opensource, non si
contano in denaro, ma in tempo e persone. È fondamentale pertanto che
qualora si intraprenda questa strada, ci siano se non altro le risorse disponibili
per il progetto.
Nel caso dell'Università di Sancti Spiritus la decisione è stata forzata nella
direzione del software libero per la totale mancanza di fondi per il progetto,
anche se le risorse in termini di persone in grado di gestire lo sviluppo
dovevano ancora essere formate. Queste condizioni non hanno quindi facilitato
le diverse fasi del processo di sviluppo. Nello scegliere quindi quale CMS open
source utilizzare si è dovuto tener conto di questi elementi oltre alle potenzialità
dei diversi software disponibili on line.
Si è deciso di scegliere tra i tre CMS più popolari, nonché già utilizzati per
diversi siti all'interno dell'università e all'interno della rete universitaria cubana:
Wordpress (nella versione 3.0), Joomla (versione 1.5) e Drupal (versione 6.2).
I principi identificati come capisaldi per la progettazione del nuovo sistema
(usabilità, accessibilità e sostenibilità) e i concetti (ordine, semplicità, flessibilità,
apertura e solidità) sono parte degli elementi utilizzati per discriminare nella
scelta del software da utilizzare. In particolare si è tenuto conto dell'usabilità per
quanto riguarda il back end, dal momento che per la parte front end ci sarebbe
stato comunque un intervento da parte della progettazione, dell'accessibilità
sempre della parte di amministrazione e del numero di contributors della
community, come indice di sostenibilità intesa come supporto e continuazione
dello sviluppo. L'accessibilità è considerata un elemento importante dal punto di
vista dell'approccio al progetto, nonostante a Cuba discorsi sul tema non siano
mai stati affrontati, nemmeno in ambiti più comuni, come l'architettura e
nonostante non esista una legislazione a riguardo. Come chiarito
precedentemente infatti a Cuba l'accezione di accessibilità è ancora ad un
livello base75.
Ordine e semplicità sono ulteriori elementi utili a valutare il back end oltre alle
funzioni native, soprattutto per la parte di integrazione nuovi componenti e per
la modifica dei template (valutando quindi il template engine utilizzato). La
flessibilità è uno degli elementi più importanti, per evitare di dover ricorrere ad
altri software per via dei limiti della piattaforma, oltre che per una questione di
solidità del sistema. La sicurezza inoltre è l'elemento che più influisce sulla
scelta dell'ambiente di sviluppo, visto che il progetto prevede lo sviluppo di un
sito internet dall'accesso ristretto in cui è fondamentale una oculata gestione
delle utenze.
Quando si parla di software opensource infatti è necessario menzionare ciò che
invece non è opensource. Molti utilizzano il termine commerciale o proprietario
per classificare questa tipologia di software, anche se nessuna delle due è
precisa, dal momento che software opensource possono essere sia
commerciali che proprietari. Commerciale significa correlato al commercio e
molte applicazioni opensource sono sviluppate da compagnie con lo scopo di
attrarre nuovi acquirenti76. Proprietario invece si riferisce al fatto che il software
sia posseduto da qualcuno. Il proprietario è colui che può decidere quanto
condividere della propria proprietà. Mettere una licenza opensource su di un
prodotto non lo trasforma automaticamente in un bene pubblico. Una licenza
opensource è come ogni altra licenza e il proprietario la può in qualsiasi
momento cambiare per un'altra licenza, che cambia quindi la natura del
prodotto e degli usi che se ne si può fare. L'apertura del software sta ad indicare
quindi la sostenibilità del progetto nell'adozione del software e si è tenuto quindi
conto dei diversi tipi di licenze adottate nella scelta del CMS da adottare.
75 Capitolo 2.1, rif. http://www.useit.com/alertbox/digital-divide.html 76 Modello definito freemium da Chris Anderson in “The future of a radical price”, in cui due categorie
di utenti usufruiscono di un servizio: gli utenti free utilizzano il servizio base, mentre gli utenti premium possono accedere a funzionalità avanzate dello stesso servizio.
Includiamo nel concetto di sostenibilità diversi fattori come la popolarità del
CMS77, il numero di partecipanti alla community/contributors, la frequenza delle
release e la presenza o meno di una fondazione o di un'azienda alle spalle del
progetto.
Wordpress Joomla Drupal Usabilità backend elevata bassa bassa Accessibilità si no si Sostenibilità elevata media alta Gestione utenti Nativa ma poco
customizzabile. Plugin: Role scoper, adminimize
Nativa ma non granulare
Nativa e altamente configurabile. Moduli: node acces
Solidità bassa media elevata Sicurezza bassa media alta Complessità bassa Media elevata Potenzialità limitate Medio alte alte Performance Caching non
nativo ma possibile con plugin (wp-super-cache)
Caching system nativo
Caching system nativo
Dal confronto dei diversi CMS non emerge un chiaro vincitore, dal momento che
sotto diversi punti di vista tutti e tre i candidati potrebbero essere utilizzati per il
progetto. Si è scelto di investire su Drupal per il livello di maturità del progetto e
77 Fonte: alexa.com
per la sua solidità, nonostante abbia una curva di apprendimento molto più
schiacciata rispetto agli altri candidati, anche se risulta essere quello meglio
documentato. In particolare Drupal permette di gestire più di un sito all'interno
della stessa istallazione, offre una gestione nativa delle utenze molto granulare,
un livello di sicurezza migliore e delle performance grazie ad un efficiente
gestione della cache. La flessibilità di Drupal si trova anche in uno dei moduli
fondamentali utilizzati, CCK (content construction kit)78, che risulta essere molto
più potente e maturo rispetto a plugin simili per gli altri candidati, Magic Field79
per Wordpress risulta poco compatibile con molti plugin comuni, mentre CCK
jSeblod80 per Joomla è una copia del modulo di Drupal, ma senza lo stesso
livello di armonia che questo modulo ha all'interno di Drupal, così come altri
moduli fondamentali come Views81 e Panels82.
Una volta definito Drupal come framework per lo sviluppo si è cercato di
colmare le lacune in cui, nel raffronto con gli altri CMS considerati, è risultato
carente: usabilità83 e complessità (learning curve molto piatta all'inizio).
78 http://drupal.org/project/cck 79 http://wordpress.org/extend/plugins/magic-fields/ 80 http://extensions.joomla.org/extensions/news-production/content-construction/9128 81 http://drupal.org/project/views 82 http://drupal.org/project/panels 83 http://groups.drupal.org/node/10013
Per quanto riguarda l'usabilità, il problema è dovuto soprattutto al template base
utilizzato da Drupal e quindi la soluzione più semplice è stata quella di trovare
altri template in alternativa. La soluzione adottata è una combinazione di due
progetti: Admin84 (che si basa sul template Rubik85), per quanto riguarda un
template meglio organizzato e visivamente più gradevole, a cui si è affiancato
administration menu86, molto più efficiente e rapido da utilizzare.
84 http://drupal.org/project/admin 85 http://drupal.org/project/rubik 86 http://drupal.org/project/admin_menu
Illustration 22: grafico riferito ad esperienze personali, anche se generalmente condivise (http://drupal.org/node/84221)
Illustration 23: pannello di amministrazione dopo gli interventi per migliorarne l'usabilità
Drupal, architettura, logica e dinamiche di sviluppo adottate, moduli base, terminologia
Un webdesign funzionale è guidato dai bisogni di bilanciare flessibilità e
semplicità. Se un sistema è troppo semplice può essere utilizzato solo in un
solo modo, se di converso è troppo flessibile potrebbe essere troppo difficile per
i nuovi utenti impararlo.
Drupal risolve questo conflitto offrendo agli utenti gli strumenti per costruirsi il
proprio CMS, fornendo però dei componenti base precostruiti (le funzionalità del
core). Al contrario di altri CMS, Drupal non non fornisce delle soluzioni
immediate per esigenze concrete (es. Wordpress per fare un blog), ma nello
stesso modo in cui non è uno strumento già progettato per compiere azioni
specifiche, si propone come CMF (content management framework), un
sistema che coniuga le potenzialità dei CMS con quelle dei frameworks. Si può
considerare quindi Drupal come un kit di Lego: sviluppatori esperti hanno già
costruito elementi (moduli è il termine utilizzato da Drupal), che possono essere
assemblati per creare la soluzione desiderata, che sia un portale di news, un
negozio on line o una social network.
Dal momento però che le componenti non sono progettate per uno scopo solo,
ma sono progettate con un certo livello di astrazione, è necessario un po' di
tempo per ambientarsi all'ambiente di sviluppo (framework), per sfruttarne tutte
le potenzialità. Per capire al meglio Drupal è essenziale conoscere i diversi
elementi, le logiche e la terminologia.
• Tassonomia: letteralmente significa “la scienza della classificazione” e
può essere utilizzata per creare tipi di contenuti. Un esempio di tipo di
contenuto può essere “forum”, a cui si possono aggiungere categorie
(vocabulary) di topics, a che a loro volta possono avere un'ulteriore
classificazione gerarchica (ancora categorie) o orizzontale (tags),
attraverso quelli che in Drupal sono definiti term.
Per inserire un nuovo elemento all'interno della tassonomia è necessario
accedere alla lista di gestione delle tassonomie
(admin/content/taxonomy/)
Da questo elenco è possibile modificare i diversi vocabulary presenti e
aggiungere nuovi terms. Per aggiungere un nuovo vocubalary è necessario
accedere a (admin/content/taxonomy/add/vocabulary) e definire
sostanzialmente il titolo, il tipo di contenuto da associare e il tipo di input
attraverso cui immettere il dato durante la stesura di nuovi contenuti (se tags
suparati da virgole o da select), indicando poi se il campo categoria così creato
debba o meno essere obbligatorio.
Illustration 24: interfaccia di gestione delle tassonomie
In questo caso, come in ogni altro campo definito, viene associato un valore per
il mapping rdf. Il Resource Description Framework (RDF)87 è una specifica del
World Wide Web Consortium (W3C) originariamente progettata come un 87 http://en.wikipedia.org/wiki/Resource_Description_Framework
Illustration 25: nome, descrizion e testo di aiuto (visualizzabile durante la creazione del contenuto)
Illustration 26: definizionde del content type da associare al contenuto specifico
Illustration 27: tipo di input per la categorizzazione del contenuto
modello di gestione di metadati. É ora riconosciuto come il metodo per la
definizione concettuale delle informazioni presenti all'interno del web, attraverso
diversi formati (generalemente xml). L'intento dell'utilizzo di rdf è quello di
approcciare la progettazione web attraverso una semantica maggiore rispetto a
quella possibile attraverso XHTML.
• Blocchi: sono un metodo di posizionamento di elementi all'interno di una
pagina. Spesso sono posizionati a lato del contenuto, all'interno di
sidebar, o all'interno di aree definite come possibili target di blocchi
(regions). I blocchi non sono considerati nodi all'interno di Drupal, ma è
possibile specificare all'interno di che nodo debbano o non debbano
apparire. Possono essere utilizzati per visualizzare informazioni generate
da moduli specifici, generate da views o create manualmente per inserire
per esempio del testo statico.
Dalla pagina di gestione blocchi è possibile gestire l'ordine dei blocchi
che devono apparire nelle diverse regioni, evidenziate in questa gestione
con aree gialle.
Illustration 28: definizione della proprità rdf
• Regioni: sono aree di una pagina dove può essere inserito del contenuto,
principalmente dei blocchi. Le regioni di default sono: Header, Footer,
Content, Left sidebar, Right Sidebar. È possibile però in ogni tema
definire diverse regioni, da includere poi all'interno delle pagine di
Illustration 30: gestione della visibilità di un blocco
Illustration 29: pagina di gestione blocchi
template. Per fare questo è necessario modificare il file *.info
(generalmente nometema.info) all'interno della cartella del tema e
aggiungere la riga regions[first_row] = nome della regione. I contenuti
sono assegnati alle regioni attraverso la pagina di amministrazione dei
blocchi (/admin/build/block/list, illustration 5).
• Ru
oli:
so
no
set
di permessi che possono essere assegnati ad ogni singolo utente.
Esistono due ruoli di default in Drupal, che non è possibile modificare:
authenticated users per tutti quelli che hanno un account e anonymous
users per quelli senza account o non loggati. La gestione dei permessi
con Drupal è molto modulare e utenti con permessi sufficienti possono
creare altri ruoli e i permessi attribuiti ai due ruoli di default possono
essere configurati.
• Nodo: è una parte di contenuto all'interno di Drupal, tipicamente
corrispondente a una singola pagina, con titolo, un testo ed eventuali
campi aggiuntivi. Ogni nodo appartiene a un particolare content type, che
può a sua volta essere ulteriormente classificato usando taxonomy
system. Esempi di nodi sono polls (trad. sondaggi), stories, book pages,
Illustration 31: gestione delle regioni dal file *.info all'interno della cartella del tema
Illustration 32: interfaccia di gestione dei ruoli (admin/user/roles)
immagini...
• Content type: ogni nodo appartiene ad un singolo node type (trad. tipo di
nodo) o content type (trad. tipo di contenuto) che definisce diverse
impostazioni di base per i nodi di quel tipo, come per esempio se un
nodo sia pubblicato automaticamente o se permetta commenti.
Attraverso i Moduli si possono definire ulteriori content type. Poll e Book
sono solo due esempi forniti direttamente dal core di Drupal. Quando si
definisce una nuova tassonomia da associare ad un particolare tipo di
contenuto è necessario che questo sia creato precedentemente.
• Modulo: è una parte di codice che estende le caratteristiche e le
funzionalità di Drupal. I moduli core sono quelli inclusi nell'istallazione
base del software, mentre i contibuted sono quelli resi disponibili dagli
sviluppatori della community di Drupal attraverso la sezione di download
di Drupal88. Quando si istalla un modulo è importante controllarne la
compatibilità con la versione di Drupal istallata, oltre che allo stato di
mantenimento. Basare funzionalità di un sito su moduli abbandonati non
è una decisione vantaggiosa nel lungo termine, così come affidarsi a
88 http://drupal.org/project/Modules
Illustration 33: pagina di gestione dei content type (admin/content/types)
moduli ancora in alpha release o development beta89. Una volta istallati i
moduli è necessario configurarli attraverso la pagina specifica
accessibile da admin/settings/ ed è spesso utile consultare il file
readme.txt all'inteno della cartella istallata all'interno di sites/all/modules/
e controllare poi se ci sono già dei blocchi o delle views configurate e
disponibili di default.
89 http://en.wikipedia.org/wiki/Software_release_life_cycle
Illustration 34: esempio di modulo attivamente mantenuto. In verde le versioni consigliate
Illustration 35: esempio di moduo abbandonato a una vecchia versione di Drupal, di cui si sconsiglia l'utilizzo
• Storia: un tipo di nodo definito nell'istallazione di default di Drupal, usato
tipicamento per i contenuti con una rilevanza temporale e con una data
Illustration 36: pagina di gestione dei moduli, da qui si possono attivare o disattire i moduli attivi sul sito
Illustration 37: pagina di configurazione dei moduli istallati
associata, come le news. Per una maggiore comprensione da parte degli
utenti è stato deciso di creare un nuovo content type con le funzionalità
di storia con un altro naming: article.
• CCK: è un modulo contributed che permette agli sviluppatori del sito di
definire campi personalizzati e tipi di contenuti. Il modulo ha molti derivati
specifici per diversi tipi di contenuti come immagini, video, audio o altre
estensioni di file. Per definire i campi per un particolare content type è
necessario accedere alla pagina di gestione admin/content/node-type/ e
selezionare il tipo di contenuto.
• Views: è un modulo contributed che permette agli sviluppatori di creare
diverse presentazioni di contenuti, sotto forma di pagina o blocco,
attraverso una semplice interfaccia grafica. Questo modulo è un
potentissimo strumento di aiuto nella costruzione di query in cui è
possibile impostare ogni tipo di filtro e impostazione per impostazioni
Illustration 38: pagina di gestione dei content type e dei loro campi
Illustration 39: dettaglio della gestione dei campi
basiche di layout (es. liste, nodi, teasers90) e funzionalità più avanzate.
Ad un primo approccio l'interfaccia di views però non è molto intuitiva,
ma dopo i primi tentativi e dopo averne intuito la logica diventa uno
strumento essenziale per lo sviluppo. Descriviamo le operazioni
necessarie per creare una pagina di archivio news come esempio per
comprenderne le dinamiche:
1. dal menu di gestione di views (admin/build/views) cliccare su add
2. inserire un nome per la view e definire node come view type (99,9%
delle volte si andrà a definire un nodo con view, anche se dall'elenco
è possibile scegliere molti altri view type). Impostiamo come nome
“ArchivioNews”.
3. Dalla pagina seguente di gestione view, a cui si accede anche
modificando una view è necessario innanzitutto impostare il tipo di
visualizzazione che si vuole creare. Generalmente si sceglierà tra
page o block, per creare pagine o blocchi di contenuto e cliccando su
“add display”. Non impostare un display non rende la view
visualizzabile. Per creare la pagina di archivio delle notizie si
aggiunga almeno il display page.
90 Trad. notizie brevi o estratti di una pagina
Illustration 40: definizione del nome e del view type
4. A questo punto si possono definire le impostazioni di base (basic
settings) come il titolo, lo stile di output dei campi (lista, tabella, …), il
numero di elementi da visualizzare e altre impostazioni più in
dettaglio. Per la visualizzazione della pagina di archivio si impostino
title come Archivio News, use pager yes, lasciando inalterate le altre
informazioni (il numero di default di elementi da visualizzare è 10)
5. le impostazioni di pagina (page settings) permettono di definire il path
(l'url o percorso attraverso cui accedere alla pagina creata) e la voce
di menu corrispondente. Per l'esempio dell'archivio news si imposti un
path come “archivio-news” e una voce di menu “Archivio News”
collegata alla pagina appena creata.
Illustration 41: pagina di gestione view
Illustration 42: gestione del display della view
6. Si impostino ora i campi da visualizzare, cliccando su “+” a lato del
mini pannello “Fields”. Dal menu a tendina è possibile selezionare
una quantità di campi disponibili attraverso i diversi content type
presenti sul sito. Per l'esempio sono sufficienti “post date” per
visualizzare la data di pubblicazione della news, “node title” per il
titolo e “node teaser” per un estratto dell'articolo. Cliccando poi sui
diversi campi selezionati è possibile modificarne il formato. Si
sceglierà generalmente di cancellare il label associato a ciascun
campo, per evitare di visualizzare accanto alla data per esempio, il
testo “post date”. Ogni campo è corredato da una serie di
impostazioni ben descritte, sarà utile per esempio linkare il titolo
all'articolo corrispondente.
7. Bisogna a questo punto impostare dei criteri di visualizzazione,
altrimenti se non diversamente specificato saranno visualizzati tutti i
contenuti creati sul sito, che siano topic del forum, immagini, articoli,
Illustration 43: views, page settings, impostazione della voce a menu
Illustration 44: views, gestione dei campi
newsletter o altri. Criteri utili sono ad esempio la data di pubblicazione
e lo stato dell'articolo (per poter selezionare solo tra quelli pubblicati e
non tra quelli in draft). Per fare questo basta cliccare sul “+” a lato di
“Sort criteria” e aggiungere “Node: Published” e “Node: Post date” e
impostare che il nodo sia published e con ordine descrescente
(descendind) per data, in modo che gli ultimi inseriti vengano
visualizzati per primi
8. Per quanto riguarda i filtri è importante selezionare il content type
corrispondente, per restringere la visualizzazione all'interno del tipo di
contenuto (Node: type) article per esempio.
Illustration 45: views, filtri per la visualizzazione
9. A questo punto non rimane che salvare la view e visualizzarla.
• Panels: è un modulo contributed. Al livello più semplice si può
considerare uno strumento per la gestione dei layout, per creare pagine
con diverse colonne, o anche composizioni più complesse con colonne,
testo sopra, testo sotto, altre colonne... Sfruttando però questo modulo al
massimo, si possono ottenere elevati livelli di complessità attraverso i
concetti di contexts, selections rules, e relationships, che estendono la
visione della pagina come una mera disposizione dei contenuti.
• Book: è un modulo core. Un book è un set di pagine, organizzate
gerarchicamente come le sezioni e i capitoli di un libro, da cui prende
ispirazione il termine usato per descrivere il modulo. Si può utilizzare per
catalogare guide, FAQ o altri contenuti.
Per comprendere al meglio Drupal è necessario conoscerne e capirne i livelli
dei flussi di informazione. Ci sono cinque livelli principali da considerare:
Illustration 46: views, impostazione del tipo di contenuto
1. Al livello base del sistema si trova l'insieme dei nodi e dei contenuti:
prima che qualsiasi cosa sia visualizzata è necessario che venga inserita attraverso un campo di testo.
2. Il livello successivo è dove si trovano i moduli (core o contributed) da cui dipende l'organizzazione dei contenuti.
3. Al terzo livello ci sono i menu e i blocchi. I blocchi sono spesso un output dei moduli o possono essere creati per visualizzare qualsiasi cosa si voglia, in spazi specifici all'interno del layout. La vibilità dei blocchi dipende dalla loro configurazione e possono essere visualizzati solo su certe pagine o solo da certi tipi di utenti.
4. Il quarto livello è infatti costituito dai permessi utente. A questo livello si definisce che tipo di utente può fare e vedere cosa (permessi di lettura e scrittura). I permessi sono definiti attraverso ruoli che a loro volta sono assegnati agli utenti specifici.
5. L'ultimo livello è costituito dal tema, attraverso cui si imposta come
Illustration 47: drupal data flow
devono essere posizionati e visualizzati i contenuti all'interno delle pagine. Principalmente i temi sono ottenuti attraverso la scrittura di pagine XHTML, CSS e con delle variabili in PHP.
Questo flusso dal basso all'alto permette di controllare i funzionamento di Drupal. Per una gestione più sostenibile dei progetti è sempre buona norma partire dal basso e non agire solo a livello di template per controllare la visibilità dei contenuti per esempio. Ottenere, d'altro canto, il risultato desiderato a livello di tema significa comprendere le logiche che portano alla generazione e alla gestione dei contenuti.
LO SVILUPPO
La gestione contenuti
Per lo sviluppo della intranet per l'università si è deciso di partire dalla
definizione delle funzioni e dei moduli necessari per realizzare gli obiettivi
identificati durante la fase progettuale, per procedere poi alla temizzazione del
layout in modo da uniformarlo al design proposto.
Partendo dalla release di Drupal chiamata Open Publish, si è andato a
confrontare la presenza dei modli necessari per lo sviluppo dei servizi e ad
integrare i moduli mancanti.
Utenti anonimi
• accedere alle informazioni
• iscriversi alla newsletter
• votare i sondaggi
• accedere alla webradio
• ricercare all'interno del sito
Utenti loggati
• compilare il proprio profilo
• inviare messaggi privati ad altri utenti
• scrivere nel forum
• commentare contenuti
• accedere all'area ftp
• accedere alla chat
Moderatori
• modificare e gestire il forum
Redattori
• modificare i contenuti delle pagine a cui sono assegnati
• inserire nuovi contenuti: news e gallerie di immagini
Amministratori
• mantenere il sistema
La prima cosa da effettuare quando si sviluppa un sistema dietro a proxy è
rendere autonomo il sistema. Non è infatti possibile affidarsi a CDN91 (Content
Delivery Network) per il caricamento di files e nel caso particolare di Cuba è
essenziale (legalmente) che tutti i servizi utilizzati risiedano all'interno del
territorio cubano. Con condizioni di banda molto limitate inoltre è utile disattivare
ogni tentativo del CMS di collegarsi all'esterno (disattivare Update Status da
admin/build/modules), come per cercare aggiornamenti, per evitare
rallentamenti.
Per ottimizzare il lavoro di sviluppo è utile procedere all'istallazione di
componenti come administration menu92 (per un rapido accesso alle varie
sezioni), rubik93 (un tema di admin usabile) e devel94 (per il debug). Gli altri
moduli essenziali per poter cominciare qualsiasi progetto con Drupal sono
views95, cck96 e panels97.
Open Publish è fornito di default di alcuni content type utili per gli scopi della
intranet, in particolar modo quelli relativi alla pubblicazione di contenuto. Sono
già definiti infatti i content type page, article, audio, video e slideshow. Per
91 http://en.wikipedia.org/wiki/Content_delivery_network 92 http://drupal.org/project/admin_menu 93 http://drupal.org/project/rubik 94 http://drupal.org/project/devel 95 http://drupal.org/project/views 96 http://drupal.org/project/cck 97 http://drupal.org/project/panels
un'ottimale gestione dei contenuti in scrittura sono utilizzati CKEditor98, uno
degli editor WYSIWYG99 più potenti opensource disponibili, per un'interfaccia
intuitiva (simile a quella di Word) e IMCE100, per la gestione di files da allegare
alle pagine, siano essi immagini o documenti. È stato scelto IMCE per la
gestione degli upload dei files per la sua buona integrazione con CKEditor e per
il supporto di directory personali e la gestione delle quote. Per ottimizzare lo
spazio all'interno delle pagine di editing può essere utile servirsi di un modulo
(vertical tabs101) che raccoglie diverse funzionalità che altrimenti
allungherebbero innecesariamente la pagina.
La gestione delle immagini, quando non devono essere semplicemente un
contorno al testo, come per esempio in una sezione gallery, possono essere
gestite con successo con Filefield102, un'estensione di cck per l'upload di files.
Insieme con ImageAPI103, che permette un'integrazione a basso livello con il
processing di immagini104 lato server (es. ImageMagick105) e con
ImageCache106, che invece permette di ridimensionare, tagliare e maneggiare
automaticamente le immagini caricate, Filefield costituisce uno strumento
essenziale per la gestione delle immagini su Drupal.
Per quanto riguarda il forum invece Drupal fornisce già un modulo direttamente
nel core, ma deficita di tutta una serie di funzionalità avanzate, normalmente
disponibili tra i diversi software opensource che permettono la gestione dei
forum (es. phpbb107) ed è per questo che per il progetto si è scelto di impiegare
advanced forum108 che estende le funzionalità del modulo core e si integra
molto bene all'interno dell'architettura di Drupal, al contrario di altri moduli di
98 http://drupal.org/project/ckeditor 99 What you see is what you get (http://en.wikipedia.org/wiki/WYSIWYG) 100 http://drupal.org/project/imce 101 http://drupal.org/project/vertical_tabs 102 http://drupal.org/project/filefield 103 http://drupal.org/project/imageapi 104 http://en.wikipedia.org/wiki/Image_processing 105 http://www.imagemagick.org 106 http://drupal.org/project/imagecache 107 http://www.phpbb.com/ 108 http://drupal.org/project/advanced_forum
forum disponibili (come per esempio lo stesso phpbb per drupal109).
Drupal, al contrario di Wordpress per esempio, non fornisce un'interfaccia
nativa per la gestione dei links, anche se ovviamente110 c'è un modulo che
adempie alle medesime funzioni: web links111.
La newsletter invece è gestita con Simplenews112, che fornisce di default anche
una serie di viste e blocchi utili per la gestione di iscrizioni e disiscrizioni e
permette di gestire invii di digest automatici.
È importante controllare che i content type e le tassonomie corrispondano a
quelle definite durante la fase di progettazione. È sempre possibile modificarle
attraverso i pannelli di gestione ed è utile eliminare le parti in eccesso: spesso
infatti i moduli istallano molte componenti non strettamente necessarie agli
intenti per cui è utilizzato il modulo all'interno del sito. Cancellare e disattivare le
componenti in eccesso serve a mantenere performante il sistema: è facile fare
l'errore di abusare di plugin e moduli utilizzando CMS opensource, anche per
fare operazioni che si possono fare molto più agilmente con modifiche minori,
agendo direttamente sul codice.
Una volta istallati i moduli descritti è necessario organizzare le views e i blocchi
necessari per la visualizzazione dei contenuti da produrre. È utile a questo
punto popolare Drupal con contenuti sample, per poter vedere in azione i vari
moduli. Questo è possibile attraverso attraverso devel.
La fase di definizione dell'architettura delle informazioni all'interno di Drupal si
conclude in questa prima fase con la creazione dei menu primari e secondari, in
modo da poter controllare che tutti i diversi contenuti possano creare le pagine
e i tipi di contenuti necessari per completare il livello informativo della intranet.
Per completare però il lato informativo del sito è importante ricorrere ad un altro
modulo, per aggregare contenuti da siti esterni attraverso RSS o XML, anche se
non è una questione semplice dal momento che il server su cui è attivo il
109 http://drupal.org/project/phpbbforum 110 http://thereisamoduleforthat.com/ 111 http://drupal.org/project/weblinks 112 http://drupal.org/project/simplenews
sistema opera dietro un proxy113 e gli è interdetto l'accesso a internet. Per poter
accedere a internet tramite proxy Drupal fornisce dei moduli come Update
Status Proxy114, che sfruttano l'approccio con PHP attraverso la classe115
HttpRequest116 anche se non si sono dimostrati efficaci nel contesto di Sancti
Spiritus. La soluzione adottata agisce invece direttamente a livello del server,
attraverso cURL117, una libreria e uno strumento con linea di comando per il
trasferimento di dati sopra diversi protocolli, definendo un'azione con la
seguente modalità, da linea di comando appunto:
$ch = curl_init("http://whatever.com/something/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, "server ip");
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "user:pass");
Per aggregare contenuti tramite feed, con lo scopo di sottrarre per quanto
possibile lavoro alla redazione e automatizzare i processi, si utilizza il modulo
feeds118, che diversamente da quello che fa già aggregator119, un altro modulo
presente nel core, permette di importare feed come nodi, user, taxonomy term o
anche solo come record nel database. In questo modo è possibile gestire le
notizie locali, nazionali e internazionali, attraverso l'aggregazione dei feed di
juventudrebelde.cu, granma.cu, granma.cubaweb.cu e prensa-latina.com e
salvare i dati sul meteo da riproporre all'interno di un blocco e nella sezione
sulle previsioni del tempo, utilizzando come fonte weather.yahooapis.com.
Per quanto riguarda la gestione degli eventi si è deciso di adottare un approccio
sociale, per introdurre dinamiche interattive tra gli utenti, attraverso un modulo
113 http://en.wikipedia.org/wiki/Proxy_server 114 http://drupal.org/project/update_status_proxy 115 Una classe è un insieme di variabili e funzioni che lavora con queste variabili.
http://php.net/manual/en/keyword.class.php 116 http://php.net/manual/en/class.httprequest.php 117 http://curl.haxx.se/ 118 http://drupal.org/project/feeds 119 http://drupal.org/documentation/modules/aggregator
specifico, event120, anche se nella versione 6 di Drupal è disponibile solo una
developing release. Nonostante questo però il modulo sembra ben supportato e
attivamente mantenuto, oltre al fatto di avere una quantità di moduli che lo
estendono, che fanno presagire che non venga abbandonato presto. Insieme
ad event, si utilizzano per il progetto anche submit121 e event views,122 che
forniscono la possibilità di iscriversi agli eventi e permettono una buona
gestione lato template di diverse opzioni di visualizzazione dei contenuti
(calendario, lista...). All'interno della pagina degli eventi è inoltre possibile
condividere l'evento via mail, l'unico strumento social disponibile a Sancti
Spiritus, attraverso il modulo send123 (anche se in alpha release al momento).
Facebook e altri social network non sono per niente utilizzati, se non altro
perché il Governo ne vieta l'accesso.
I sondaggi sono invece gestiti all'interno di Drupal con un modulo core, poll.
Una volta impostata la gestione dei contenuti si passa alla parte interattiva, in
cui gli utenti interagiscono con il sistema. Prima però di definire i servizi e le
modalità di interazione con questi, bisogna gestire gli utenti.
120 http://drupal.org/project/event 121 http://drupal.org/project/signup 122 http://drupal.org/project/event_views 123 http://drupal.org/project/send
Sistema di autenticazione e gestione dei permessi degli utenti
Studenti, professori e impiegati presso l'università di Sancti Spiritus accedono
quasi quotidianamente a una serie di servizi offerti dall'università. Il servizio più
popolare è sicuramente la webmail, a cui gli utenti accedono attraverso le
proprie credenziali attribuite all'inizio del processo di immatricolazione o
assunzione presso l'università. Gli altri servizi a cui meno popolarmente
possono accedere gli utenti sono: il campus virtuale (attraverso Moodle), la
intranet di facoltà (attraverso Drupal, Joomla o Wordpress, a seconda
dell'edificio) e jabber (il client di messaggistica istantanea).
L'obiettivo principale della ricostruzione del sistema informativo dell'università è
stato quello di unificare la gestione di tutte queste utenza, per permettere agli
utenti di poter accedere facilmente a tutte le risorse disponibili, senza dover
passare per ogni servizio attraverso un sistema di registrazione e approvazione
che comporta inevitabilmente attese e frustrazioni per non poter usufruire al
momento del bisogno del servizio.
Si è pensato di utilizzare come punto di partenza il sistema delle poste
elettroniche dal momento che era quello più diffuso e a cui tutti avevano
accesso.
Tale sistema si basa su active directory124, un directory service125 sviluppato da
Microsoft, che salva, organizza e permette l'accesso alle informazioni all'interno
di una directory, in un ambiente Windows (per la precisione Windows 2003
Server). Il sistema, nonostante sia fornito con tecnologia proprietaria, sembra
rimanere la prima scelta per la gestione di active directory, visto che le
alternative (come openLDAP126) non sembrano altrettanto affidabili. Si è deciso
quindi di continuare ad utilizzare tale sistema, se non altro perchè già
largamente utilizzato nelle diverse sedi e conosciuto dai mantainers, nonostante
124 http://en.wikipedia.org/wiki/Active_Directory 125 http://en.wikipedia.org/wiki/Directory_service 126 http://www.openldap.org/
il piano di informatizzazione e le direttive del MES suggeriscano di
disincentivare l'utilizzo di software proprietario. Il problema del mantenimento
delle licenze presso l'università non è considerato come tale, dal momento che
non vengono pagate. Se da un lato è uno svantaggio non poter raggiungere
facilmente la rete da parte di Cuba, dall'altro però ci si può permettere di
confidare sulla pirateria, dal momento che non è possibile alcun tipo di controllo
da aziende come Microsoft all'interno del territorio cubano.
Tra i diversi protocolli per la gestione di servizi di rete che Active Directory (AD)
fornisce si è scelto di utilizzare il Lighweight Directory Access Protocol (LDAP),
che è considerato uno standard per quanto riguarda i protocolli di accesso a
directory. Utilizzare questo protocollo per tutti i servizi significa che non ci sarà
più bisogno di registrarsi a nulla, ma basterà interfacciare il software specifico a
LDAP per sincronizzarne le utenze e permettere agli utenti di accedere al
servizio.
Il problema principale che non permette comunque un'unificazione effettiva di
tutte le utenze di tutti gli utenti dell'università è la difficoltà di comunicazione tra
edifici già illustrata nel capitolo 1.2. Questo comporta che ogni sede debba
necessariamente riproporre la stessa struttura per la fornitura di servizi: in ogni
sede per la gestione degli utenti c'è quindi un'istallazione di Windows 2003
server con AD attiva. Il limite di un sistema così costituito è che gli utenti
registrati in un sistema non possono accedere ai servizi quando si trovano in un
edificio diverso da quello di appartenenza. Questo problema in realtà è molto
circoscritto visto che la grande quantità degli utenti non accede mai alla rete da
edifici diversi dal proprio. Si è pensato comunque ad un sistema non ottimale,
ma funzionale, di sincronizzazione manuale periodica: una volta al mese,
quando si riuniscono i mantainers delle diverse sedi vengono sincronizzate le
nuove utenze, manualmente.
I servizi che necessitano l'autenticazione degli utenti sono principalmente tre:
drupal, moodle e openfire (XMPP/Jabber). Tutti e tre i sistemi sono provvisti di
interfacce per la gestione di profili ldap: Drupal attraverso un modulo specifico,
LDAP integration127, Moodle invece attraverso un plugin nativo128, così come
Openfire che permette di scegliere tra impostazioni di profilo di default (con
database) o attraverso LDAP già dal processo di setup.
Nell
o
spec
ifico,
LDA
P
sosti
tuisc
e le
funzi
onalità di default di salvataggio dei dati su database e di autenticazione
attraverso chiamate al database, con autenticazioni attraverso AD, il
caricamento di informazioni sugli utenti da directory LDAP, così come il
caricamento delle informazioni sui gruppi di utenze. Per evitare problemi dovuti
soprattutto alla poca esperienza dei mantainers l'interfacciamento con AD non è
una vera e propria sincronizzazione, dal momento che LDAP è gestito in sola
lettura. Questo è vero per quanto riguarda Moodle e Openfire, mentre per
Drupal, con cui si intende costruire una vera e propria rete sociale per gli utenti
dell'università si utilizza una soluzione mista database/LDAP in modo da
integrare le informazioni presenti in AD con altre strettamente utili alla gestione
della rete sociale. Anche in questo caso però LDAP è gestita in sola lettura e le
informazioni aggiuntive raccolte da Drupal rimangono all'interno del database.
LDAP è quindi utilizzato per unificare i diversi processi di autenticazione ai
127 http://drupal.org/project/ldap_integration 128 Dal menu di amministrazione Administration > Plugins > Authentication > Manage
authentication
Illustration 48: processo di setup di openfire
servizi, senza però che vengano salvati ulteriori dati sugli utenti raccolti
attraverso i diversi software utilizzati.
Un'ulteriore integrazione tentata è quella tra Moodle e Drupal, che, in una prima
fase, è ottenuta con la condivisione di uno stesso database, per facilitare query
condivise, anche se in previsione si pensa ad un più funzionale salvataggio
delle informazioni su AD o all'integrazione delle funzionalità di Moodle all'interno
di Drupal. Al momento si è deciso di mantenere i due sistemi separati per la
familiarità che i professori hanno già di Moodle oltre che per i materiali
informativi e di documentazione realizzati per la formazione. Moodle inoltre è
uno strumento condiviso tra tutte le università cubane che utilizzano un LMS129
e questo facilita l'inserimento di nuovi professori all'interno della realtà di Sancti
Spiritus qualora dovessero cambiare sede.
Nello specifico, il modulo di Drupal utilizzato contiene tre parti distinte:
1. ldapauth, che permette l'autenticazione contro LDAP
2. ldapgroups, che utilizza i gruppi LDAP come ruoli130 di Drupal
3. ldapdata, che attribuisce permessi di lettura e scrittura ai dati LDAP
all'interno di Drupal
Per configurare la connessione LDAP attraverso Drupal (anche se poi la
configurazione è simile anche per gli altri software utilizzati) è sufficiente definire
un arbitrario nome utente (è stato utilizzato useruniss, ma è indifferente),
indicare l'indirizzo ip del server (10.16.1.1) e la porta di accesso (389, la porta
default di accesso per AD). Il processo di autenticazione necessita invece che
vengano definite le informazioni base come i contenitori da cui prendere i dati
(Base DNs, nel caso OU=usuarios UNISS, DC=cuss, DC=suss, DC=co,
DC=cu), il nome utente (definito con sAMAccountName su AD) e l'attributo mail
(definito di default con mail). Nello specifico non sono stati attivati START-TLS
per secure connection, né il salvataggio criptato delle password.
129 Learning Management System, http://en.wikipedia.org/wiki/Learning_management_system 130 I ruoli sono dei gruppi di utenti con determinati permessi. Per esempio un ruolo chiamato
administrators con permessi totali sul sito, può essere attribuito alle persone che sviluppano il sistema, mentre un ruolo editors con permessi di inserimento, modifica e cancellazione contenuti può essere assegnato ad un redattore.
Illustration 49: interfaccia di configurazione LDAP su Drupal
Per quanto riguarda i permessi degli utenti all'interno della intranet sono state
identificati diversi ruoli, a cui sono attribuiti permessi diversi per la gestione, la
supervisione, il mantenimento e la redazione dei contenuti del sistema. Una
delle richieste più importanti del progetto era quella di permettere inoltre una
gestione al dettaglio (per ogni pagina) da parte di responsabili diversi: per
esempio il responsabile del sistema energetivo deve poter accedere alla pagina
sui dati del sistema energetico per poterla aggiornare, senza però poter
modificare altro. Per raggiungere la granularità necessaria è stato necessario
utilizzare un modulo specifico di Drupal, node access131, che definisce i
permessi di lettura e scrittura sui nodi, che corrispondono ad ogni contenuto di
Drupal, visto che ogni elemento è visto dal sistema come un nodo.
Sono stati definiti quindi ruoli generici come:
• administrators, assegnato a tutti i mantainers, con permessi totali 131 http://drupal.org/project/nodeaccess
Illustration 50: Interfaccia di configurazione LDAP su Moodle
• editors, assegnato ai responsabili dei contenuti, con permessi di
scrittura, modifica e cancellazione (SMC da ora) sugli articoli
• moderators, assegnato ai moderatori del forum, con permessi SMC
• authenticatd users, assegnato di default a tutti gli utenti registrati, con
permessi di accesso alle aree riservate degli utenti e ai servizi
• anonymous users, assegnato di default ai visitatori anonimi del sito, con
permessi di lettura alle pagine informative.
Per lo specifico invece, sono stati creati ruoli molto granulari monofunzione, per
permettere una gestione al dettaglio dei permessi, attraverso node access.
Node access permette di non sovraffollare la tabella dei ruoli creando un ruolo
nuovo per ogni utenza, assegnando invece i permessi singolarmente da nodo
attraverso il link a Grant (trad. concedi permessi). Per una migliore gestione dei
permessi è possibile inoltre utilizzare better permission132, che permette di
collassare righe di permessi, per rendere più fruibile il contenuto della pagina o
filter permissions133, che invece semplifica la gestione di siti con molti ruoli
diversi.
132 http://drupal.org/project/better_perms 133 http://drupal.org/project/filter_perms
Per quanto riguarda invece la gestione degli utenti all'interno di Drupal, si è
deciso di estendere il profilo utente nativo attraverso un modulo (content
profile134) che permettesse di utilizzare le potenzialità del sistema e degli altri
134 http://drupal.org/project/content_profile
Illustration 51: interfaccia di gestione dei permessi una volta effettuato il login come admin
Illustration 52: assegnazione dei permessi per utente
Illustration 53: gestione dei permessi per ruolo
moduli istallati (come cck), trasformando anche il profilo utente in un nodo.
La gestione dei servizi I servizi disponibili, non definiti già all'interno della sezione dei contenuti
(newsletter, forum, immagini, news ed eventi) sono: chat, ftp/files repository,
musica e messaggeria istantanea.
La gestione di questi servizi, tolta la messaggeria istantanea che è gestita
attraverso Jabber, rimane all'interno di Drupal ed è possibile così permettere
agli utenti di sfruttare i vantaggi di un sistema integrato, tra cui la semplicità
della gestione degli accessi e permettere agli amministratori di monitorare l'uso
dei servizi da parte degli utenti.
Per istallare Openfire si utilizza un server dedicato, su cui vengono poi
condivise le risorse per accedere alla sezione multimedia che si vuole creare
(per visualizzare immagini e audio inizialmente). Una volta loggati all'interno di
Ubuntu occorre:
1. Fare un update del server • apt-get update • apt-get dist-upgrade
2. Istallare le componenti software necessarie per Openfire. • apt-get install apache2 php5 libapache2-mod-php5 mysql-server-
5.0 sun-java6-bin 3. Prima di scaricare Openfire è necessario aggiungere un user e un
database per Openfire. • mysql -u root -p • creare il database openfire; • attribuire tutti i permessi a openfire.* to openfire@localhost
IDENTIFIED BY "password"; • exit
4. Cambiare la directory in /opt • wget
http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3_6_4.tar.gz
• tar -xzvf openfire_3_6_4.tar.gz • cd openfire/bin • ./openfire start
5. Openfire potrebbe metterci un minuto prima di aprirsi, ma una volta pronto dovrebbe essere accessibile attraverso l'interfaccia web
• http://server_ip:9090 6. A questo punto si passa attraverso diversi step di configurazione guidata
Gli scopi che si è deciso di attribuire ai diversi servizi sono inizialmente e
volutamente arbitrari, visto la poca famigliarità degli utenti con gli strumenti
informatici, ma si vuole in questo modo solo direzionare l'utilizzo verso possibili
direzioni, lasciando libera interpretazione e possibilità di fare altro da parte degli
utenti. Per questo sono proposti servizi che possono sembrare ripetitivi, come la
messaggeria istantanea, la chat o il forum, dove si propone assistenza
informatica, per valutare quali sono gli strumenti preferiti dagli utenti e le
modalità migliori attraverso cui interfacciarsi con altri utenti e con il sistema.
La chat è un elemento che inizialmente ha trovato forte opposizione all'interno
dell'università, per le grandi potenzialità ludiche che le si accompagnano. Il
regolamento informatico vieta infatti l'uso dei computer per visionare video o
ascoltare musica, allo scopo di evitare un abuso dei limitati strumenti e l'usura,
anche se sotto altri punti di vista, come quello del piano di informatizzazione, si
auspica ad un aumento dell'utilizzo delle risorse informatiche.
Nello sviluppare servizi come la chat o un sistema di webradio/gestione della
musica, si crede che i servizi possano essere utilizzati ragionevolmente dagli
utenti, che al primo accesso al sistema sottoscrivono il regolamento informatico.
Per fare questo esiste un modulo ad hoc: legal135, che visualizza all'interno del
form di registrazione i termini e le condizioni, o che le visualizza al primo
accesso se l'utente è stato creato da un amministratore o, come nel caso
dell'università di Sancti Spiritus, si identifica attraverso un altro sistema di
autenticazione. In ogni caso si tratta di un semplice checkbox in fondo ai termini
e alle condizioni.
La gestione della chat è affidata ad un plugin, chatroom136, che permette di
creare chat e chatroom come nodi, permettendo così una facile integrazione
all'interno di Drupal. Le chat sono utilizzate come strumento per richiedere
assistenza, all'interno della pagina dei servizi informatici e all'interno del profilo
di ogni utente, per mettersi in contatto con lui. Come sarà più chiaro nel capitolo
4.5 sulla rete sociale all'interno della intranet, la chat è l'unico modo per rendere
sociale il e direttamente interattivo il profilo degli utenti, dal momento che non è
possibile per politiche interne all'università condividere informazioni
pubblicamente senza autorizzazione. La chat in qualche modo permette la
creazione di canali privati all'interno dei quali le comunicazioni che si tengono
sono diretta responsabilità degli utenti coinvolti nell'interazione.
Il servizio di messaggeria istantanea, gestito con openfire, può essere integrato
all'interno di Drupal per un'ottimale coesistenza dei diversi sistemi utilizzati per
la comunicazione.
Per integrare openfire all'interno di Drupal è necessario avvalersi di due moduli:
• xmppframework137
• webserver authenticaion138
Una volta istallato e attivato il modulo per l'autenticazione sul server, nel
pannello di amministraione, nel campo “Email domain” è necessario inserire lo
stesso nome impostato in locale sul server, mentre è importante disattivare
entrambe le opzioni all'interno di impostazioni avanzate. Non è necessario
invece riempire i campi relativi a user account modification.
135 http://drupal.org/project/legal 136 http://drupal.org/project/chatroom 137 http://drupal.org/project/xmppframework 138 http://drupal.org/project/webserver_auth
Per configurare invece xmppframework è necessario modificare su Apache alcune informazioni:
1. includere al file principale: • AuthzLDAPAuthoritative on • AuthBasicProvider ldap • AuthType Basic • AuthName "Company Name" • AuthLDAPURL
"ldap://LDAPHOST:389/OU=your_ou,DC=your_domain,DC=com?sAMAccountName?sub?(objectClass=*)"
• AuthLDAPBindDN "CN=binder_account,OU=your_ou,DC=your_domain,DC=com"
• AuthLDAPBindPassword password_for_binder • Require valid-user
2. Dal momento che Drupal e openfire si trovano su due server distinti è necessario impostare un proxy per la comunicazione da Drupal al server remoto. Per fare questo si usa HTTP-Bind per la connessione a cui si aggiunge la seguente configurazione Apache:
• RewriteEngine on • RewriteRule ^/http-bind/ http://192.168.47.142:7070/http-bind/ [P]
3. Salvate le configurazioni bisogna aspettare prima di riavviare. È necessario infatti attivare alcuni moduli, altrimenti nessuno di quelli impostati funzionaerà:
• rewrite • proxy • proxy_http • authnz_ldap
4. Istallati questi moduli riavviare Aparche • /etc/init.d/apache2 force-reload
5. L'ultima cosa da controllare prima di tornare alle impostazioni del modulo su Drupal è che il proxy permetta richiesta fuori dal server openfire.
• cd /etc/apache2/mods-available/proxy.conf • assicurarsi che le configurazioni corrispondano alle seguenti:
• ProxyRequests Off • Order deny,allow • Allow from all • Allow from localhost • ProxyVia On
6. Riavviare Apache di nuovo e testare che tutto funzioni attraverso: • http://your_drupal_server/http-bind/
7. Si dovrebbe ottenere un errore HTTP 400 error che comunica che è stata inviata una Bad_Request.
8. Su Drupal ci sono 3 opzioni principali all'interno di xmppframework: Client, User e XMPP API:
• Client (Launch Settings) • HTTP Bind • SASL • conference.your_domain.com • vjud.your_domain.com • Spanish
• User • impostare l'autenticazione con credenziali WS (è disponibile
Illustration 63: gestione del modulo xmppframework
Illustration 64: configurazione del Client
una patch per il plugin a riguardo139) • impostare in provisioning settings your_domain.com • Flaggare Provision XMPP for Drupal Users
• XMPP API Settings • server ip/hostname • 7070 • admin user • admin password • your_domain.com
9. Il modulo è pronto per essere utilizzato ora, bisogna solo impostare il blocco XMPP_CLIENT e la sua visbilità all'interno di qualche pagina.
139 http://drupal.org/node/593466
Illustration 65: impostazioni utente per xmppframework
Illustration 66: API settings per xmppframework
10. L'ultima cosa da fare è riempire il campo JID per gli utenti, attraverso il profilo utente.
Un'ulteriore estensione di questa integrazione si può ottenere segnalando la presenza on line dell'utente. Openfire permette di rilevare la presenza on line di utente con il seguente formato: http://example.com:9090/plugins/presence/status?jid=jsmith@example.com Questo link si aggiorna automaticamente e cambia in base appunto se un utente sia o meno loggato. Di default viene assegnata un'immagine con un omino 16x16 px di un colore corrispondente allo status (verde se on line, giallo se lontano dal pc …), ma è possibile customizzare le immagini aggiungendo al link una variabile per immagini diverse (http://www.igniterealtime.org/projects/openfire/plugins/presence/readme.html). Per visualizzare l'immagine all'interno di Drupal però, è necessario modificare una funzione del core (includes/theme.inc), dove è definito phptemplate_username($object)140. Per evolvere il sistema di gestione files e download, inizialmente gestito
attraverso un server FTP si è deciso di utilizzare un modulo specifico:
filedepot141. Filedepot è un gestore di documenti che si integra bene all'interno
di Drupal e i ruoli utente. I documenti possono inoltre risiedere all'infuori di 140 http://drupalsn.com/learn-drupal/drupal-tutorials/drupal-theme-function-overriding 141 http://drupal.org/project/filedepot
Drupal, come nel caso dell'università di Sancti Spiritus e non ultimo, è
disponibile un client142 (anche se solo per windows per ora), per l'upload di files.
Per configurare filedepot bisogna indicare le preferenze dal pannello di
controllo, soprattutto per quanto riguarda le estensioni dei files eleggibili per il
caricamento e per la gestione dell'accesso e dei ruoli utente. I motivi principali
che hanno fatto decidere di adottare questo sistema per la gestione dei files è
per l'evidente miglioramento rispetto ad un sistema senza alcun tipo di ricerca e
catalogazione. Filedepot permette infatti di taggare i files, commentare le
versioni e ricevere aggiornamenti quando un file a cui ci si è abbonati viene
modificato. Gli utenti possono poi inserire files tra i propri preferiti per avere una
consultazione migliore degli archivi presenti. È insomma un chiaro segno di
come in questo modo la intranet stia diventando sempre di più web 2.0.
La musica è gestita attraverso kplaylist, un software in PHP che permette di
ascoltare musica in streaming, leggendo i files da directory. Il sistema è un po'
datato e non comprende molte dinamiche sociali come il rating o il tagging, né
l'upload di musica da parte degli utenti, ma è stato deciso di adottare
volutamente un sistema senza queste caratteristiche in modo da non costituire
ulteriori violazioni al regolamento dell'università, che non permetterebbe
nemmeno l'ascolto di musica. Tutto questo però è possibile non ufficializzando
l'utilizzo dello strumento, che rimane in qualche modo svincolata dal resto del
sistema, sebbene sia utilizzato da tutti all'interno delle facoltà. Crediamo inoltre,
anche perché i dati di analytics lo confermano, che questo servizio possa
fungere da input per un maggior uso della rete, il cui aumento si auspica possa
significare anche un aumento degli obbiettivi prefissati dal piano di
informatizzazione.
142 http://www.nextide.ca/solutions/filedepotclient
Drupal e Moodle
Si è scelto di mantenere separati Drupal e Moodle, nonostante il primo abbia le
potenzialità per replicare le funzioni del secondo, per diversi motivi. Il primo di
ordine pratico, per una questione di tempistiche ristrette sulla durata del
progetto. Il secondo invece è per facilitare l'uso e la diffusione dello strumento,
dal momento che numerosi docenti utilizzano già Moodle e non conoscono
invece Drupal, così come altre università utilizzano questo sistema ed è quindi
facile per studenti e professori che si inoltrano all'interno di sistemi di altre
università avere famigliarità con lo strumento.
Come descritto nel capitolo 4.2 un livello di integrazione è possibile attraverso
l'impiego del medesimo sistema di autenticazione (LDAP). Le modalità adottate
per avvicinare i due sistemi sono sia di natura progettuale (design) che tecnica
(database).
Dal punto di vista del design si è trattato di adattare il tema a quello utilizzato su
Drupal, mentre dal punto di vista tecnico le cose sono un po' più complesse. Per
facilitare query tra i due sistemi si è deciso di integrare i due database, anche
se esistono diversi moduli che permettono piccole integrazioni tra i due sistemi:
moodle143 e moodlesso144 che permettono parziali integrazioni, solo per
visualizzare ad esempio i corsi che un utente frequenza all'interno di un blocco.
Il mantainer145 di questi moduli propone un approccio diverso nelle ultime
versioni. Inizialmente l'integrazione tra i due sistemi era possibile attraverso
SSO146 (single sign on): Moodle si autenticava al database usando richieste
GET HTTP con user e password caricati nei parametri delle richieste facendo
login da un iframe, ottenendo così accesso alla tabella utenti di Drupal,
all'interno del suo database. Questo metodo però non è molto sicuro e in
qualche modo più che una soluzione si poteva considerare un hack, poco
143 http://drupal.org/project/moodle 144 http://drupal.org/project/moodlesso (solo per drupal 5.x) 145 http://www.openbandlabs.com/blog/2009/05/drupal-moodle-integration-modules 146 http://drupal.org/project/sso
sostenibile con le evoluzioni dei sistemi. La soluzione migliore al momento,
sembra quella di accedere da Drupal a Moodle attraverso RESTful services147,
disponibili su google code come quick API148. Per questioni di tempistiche però
non è stato possibile approfondire l'integrazione con quick API e persistono dei
problemi di sincronizzazione delle sessioni: se al login in un sistema si
mantiene attiva la sessione, cambiando da Drupal a Moodle e viceversa, al
logout la sessione non si chiude automaticamente nei due sistemi. Questo
problema se potrebbe essere considerato un bug minore nel contesto
particolare dell'università di Sancti Spiritus è molto rilevante, dal momento che
gli utenti accedono da postazioni condivise come i laboratori.
147 http://www.oracle.com/technetwork/articles/javase/index-137171.html 148 http://code.google.com/p/qapi/
Drupal social network
L'elemento fondamentale perché una rete sia sociale è che esistano delle
relazioni tra gli utenti, che si chiamino amicizie (come su facebook), connessioni
(come su linkeding) o più generalmente contatti. Le caratteristiche che abbiamo
definito sociali finora lo sono solo considerando il contesto particolare
dell'università di Sancti Spiritus. Vedere quali altri utenti partecipano ad un
evento, di per sé non è sociale, ma lo diventa se si considera che la maggior
parte delle persone all'interno dell'università si conoscono l'un l'altro (professori
con professori e studenti con altri studenti principalmente) e pertanto è come
vedere che i propri amici partecipano all'evento in questione.
Si è deciso di portare avanti un discorso di rete sociale anche se sia il
regolamento informatico che la mentalità dominante emersa duranti diversi
taller149 con i responsabili informatici perché si crede che una rete sociale possa
contribuire a l raggiungimento degli obbiettivi che nello stesso taller sono stati
prefissati. I vincoli sono un po' pesanti però, dal momento che non è possibile
permettere la pubblicazione incensurata (per motivi politici) di contenuti
all'interno della intranet.
La strada verso una rete sociale funzionale è lunga sia dal punto di vista del
processo culturale che comporta, sia per questioni tecniche, per quanto
riguarda le tempistiche a disposizione del progetto. Sono stati in ogni modo
definiti gli step per l'evoluzione del sistema.
Inizialmente gli utenti possono, una volta identificati, partecipare ai servizi
disponibili:
• rispondere ai sondaggi
• iscriversi alla newsletter
• scrivere nel forum
• scaricare files dal files manager
• ascoltare musica in streaming
149 Trad. tavole rotonde
A queste funzioni nella prima fase è reso disponibile la visualizzazione dei
compleanni degli utenti, in modo da invogliare la visualizzazione dei profili
compilabili dagli utenti. Utilizzando il modulo content profile150 che trasforma il
profilo utente in un nodo è possibile per gli utenti personalizzare il proprio
profilo. Come illustrato nel capitolo 4.3 è inoltre possibile contattare gli utenti
attraverso jabber. Alla possibilità della chat istantanea è stata associata la
possibilità di inviare messaggi privati con un modulo specifico, privatemsg151.
La sezione delle immagini è quella che tra i contenuti si presta meglio a
diventare sociale, dando la possibilità agli utenti di taggare nelle foto altre
persone, anche se ci sono degli aspetti che vanno chiariti prima di procedere
con l'implementazione di questo aspetto. A Cuba infatti i problemi di privacy non
sono mai stati affrontati, pertanto non esiste una legislazione chiara a riguardo.
Per gli stessi giornali cartacei non esiste una legislazione che indichi se
fotografie ritraenti persone possano essere pubblicate senza previa
approvazione da parte dei soggetti ritratti. In Italia per esempio esistono diversi
riferimenti normativi, come la legge n 675/96, ora sostituita con il dlgs 30 giugno
2003, n 196 che regolamentano il trattamento dei dati e la loro approvazione.
Pur non esistendo una normativa, a Cuba, si è deciso di testare il
funzionamento di soluzioni che permettano di associare utenti a foto, come il
tag su facebook. Con Drupal è possibile utilizzare il modulo image annotate152,
che estende imagefield e cck. Il modulo si basa su jQuery UI 1.6 ed è
necessario scaricarlo a parte perchè non incluso nel download del modulo. Per
gestire le annotazioni bisogna aggiungere al content type a cui si vuole
permettere il tag la possibilità di commentare (comment settings) dal pannello di
gestione del content type particolare (es. admin/content/node-type/image). Da
display fileds si aggiunge poi un display per il body, selezionando image with
annotations. Visualizzando così un contenuto di tipo image, apparirà un link
“Add a note” che permette di aggiungere i commenti sulla foto.
Gli elementi fin qua descritti però sono solo piccoli aspetti sociali all'interno di un 150 http://drupal.org/project/content_profile 151 http://drupal.org/project/privatemsg 152 http://drupal.org/project/image_annotate
sistema che non è ancora caratterizzato da un'intensiva interazione tra gli
utenti, che renderebbe la rete davvero sociale. Davide Casali153 e Gianandrea
Giacoma154 hanno pubblicato la social usability list, uno strumento di verifica di
elementi che rendono davvero sociale un sistema. Le indicazioni presenti su
questa lista sono semplicemente delle indicazioni pratiche per la progettazione,
manca infatti un peso ai diversi elementi che permetta di definire una scala di
sociabilità di un sistema. Le indicazioni si dividono in quattro diverse categorie:
relazioni, identità, comunicazione e gruppi. Ogni categoria si divide
ulteriormente in domande di controllo.
153 Http://www.intenseminimalism.com 154 Http://www.ibridazioni.com
Queste categorie sono in stretto rapporto tra di loro: le relazioni infatti possono
esistere solo se esistono delle identità, degli utenti. A partire da questa prima
considerazione è facile capire come il livello di socializzazione della intranet
iniziale fosse pari a zero. Il livello raggiunto nello sviluppo finora descritto invece
è sicuramente più avanzato, anche se ci sono ancora dei limiti, che seppur con
le limitazioni particolari del contesto universitario cubano, possono essere
superati. Se è vero da un lato che gli utenti non possono pubblicare senza
approvazione contenuti all'interno di sezioni che non siano il forum, che è
rigidamente regolato e moderato, è vero anche che si può dare la possibilità agli
utenti di pubblicare il proprio mood. Questo è possibile attraverso diversi moduli
su Drupal: Facebook-style Statuses155 che permette di avere una gestione degli
status come su facebook, con la condivisione di immagini, link, foto e video, o
155 http://drupal.org/project/facebook_status
attraverso un modulo più limitato che permette solo la condivisione di smiles
con l'intento di comunicare il mood dell'utente (si tratta in realtà di una patch156
del modulo smileys157). Nonostante la limitatezza del secondo modulo è la
strada che si intende seguire per dare la possibilità agli utenti di aggiornare il
proprio mood. L'idea generale dietro ad un meccanismo così semplice è un po'
più profonda. Come per altri strumenti tecnicamente semplici (es. i sondaggi), lo
scopo è quello di raccogliere dati dagli utenti e monitorare il clima generale. Con
un uso massiccio di questo modulo per il mood si può analizzare ad esempio
come in corrispondenza di certi eventi reagiscono gli utenti, o come sia il mood
generale all'interno di un periodo di tempo limitato. Questi metodi di
monitoraggio sono ulteriormente descritti nel capitolo 4.10.
Per quanto riguarda la propria identità all'interno del sistema, gli utenti possono
inoltre modificare il proprio avatar e consideriamo questa come l'unica posibilità
di personalizzazione del proprio profilo, oltre al testo che descrive i propri
interessi, la propria anagrafica (attraverso i moduli content profile e cck) e i corsi
frequentati (con il modulo moodle courselist158). Restano fuori dalla
progettazione altri elementi presenti sulla social usability list come la possibilità
di personalizzare la propria pagina e di distinguersi in qualche modo, se non
attraverso il proprio avatar e l'attività all'interno del forum. In questa fase inoltre
è esclusa la gestione di gruppi, pertanto l'appartenenza a diversi gruppi, così
come tutte le caratteristiche della checklist a proposito dei gruppi sono da non
considerare.
Le relazioni sono gestite ad un livello base: gli utenti possono solo richiedere
l'amicizia ad altri utenti, senza però la possibilità di organizzare gli amici in
gruppi di contatti, né gestire i livelli di vicinanza (proximity, time e themes). È
prevista una semplice gestione della privacy, anche se non è mai stata
richiesta esplicitamente, ma si crede che per buon senso, anche gli utenti
possano avere delle cose private, viste se non altro le svolte politiche in corso
156 http://drupal.org/node/504266 157 http://drupal.org/project/smileys 158 http://drupal.org/project/moodle_courselist
nel paese, che potrebbero coinvolgere presto anche l'università. L'intento da
parte del rettore e dei decani è quello di poter supervisionare lo stesso i
contenuti che gli utenti vorrebbero in qualche modo tenere privati perché vige la
mentalità del controllo sopra tutto e manca totalmente la visione di elementi
privati all'interno della vita cubana. Per questo motivo, determinati utenti
avranno permessi da super user e avranno accesso non ristretto ad ogni
sezione del sito, compresi i profili degli utenti. Gli utenti permettono quindi agli
utenti che sono considerati amici di vedere il proprio mood, le proprie attività e
informazioni di contatto avanzate (jabber), mentre gli altri utenti non amici
possono solo vedere il profilo con le informazioni generali e la possibilità di
mandare messaggi privati. Come detto, i super user possono visualizzare le
informazioni anche senza essere amici degli utenti. Le relazioni così descritte
possono essere gestite attraverso due moduli principali, user relationships159 e
flag friends160.161 User relationships (UR) è una soluzione comprensiva di
moduli che risolvono in sé una quantità di problemi e offrono diverse soluzioni.
Flag friend (FF) è più leggero, ma, allo stesso tempo, molto completo. La
differenza principale è che UR permette relazioni a doppia direzione, mentre FF
solo a una (anche se è un limite solo per le release 1.x rimossa nelle 2.x ora in
developing release). Le differenze si trovano poi nell'accesso ai nodi. Inoltre la
documentazione di UR è leggermente migliore, anche se la issue queue 162è
significativamente più pulita in FF. La scelta tra id due è caduta su FF per la
facilità di implementazione e per la migliore integrazione con i moduli selezionati
finora, in particolare per quanto riguarda la gestione dei permessi per l'accesso
ai nodi (node access). FF si basa su flag163, un flessibile sistema di flagging, e
convive bene con views. Per gestire il flusso di attività degli utenti all'interno del
sito, con lo scopo dare visibilità agli utenti e ai servizi offerti, facendo vedere chi
ne sta usufruendo, nel momento in cui lo sta facendo, esistono diversi moduli:
159 http://drupal.org/project/user_relationships 160 http://drupal.org/project/flag_friend 161 http://www.mediacurrent.com/blogs/comparison-friend-modules-drupal-6 162 Lista di bug e segnalazioni aperte dagli utenti. Il livello di mantenimento di un modulo si nota
anche dalla velocità e dalle risposte dei programmatori assegnati allo sviluppo del modulo. 163 http://drupal.org/project/flag
activity164 e heartbeat165 (che viene preferito al primo perché meglio si integra
con gli altri moduli).
Per quanto riguarda i gruppi, esiste un modulo, organic groups166, ancora non
implementato all'interno del prototipo, che comprende le funzionalità necessarie
per una gestione di gruppi all'interno della rete. Gli utenti, con questo modulo,
possono creare e gestire i propri gruppi. Ogni gruppo può avere poi subscribers,
e ha una pagina dedicata dove gli utenti possono interagire, come all'interno di
un forum. Gli utenti di un gruppo possono infatti scrivere articoli, pubblicare foto
e commenti, indicando semplicemente uno dei gruppi di appartenenza, allo
stesso modo in cui si attribuiscono tassonomie ai contenuti. L'applicazione
che è possibile vedere all'interno di questo modulo è quella di gestire classi,
proprio come viene fatto al momento da Moodle, o proporre l'aggregazione
spontanea all'interno dell'università. Si crede però prematuro introdurre un
sistema di questo tipo dal momento che il livello di alfabetizzazione informatica
da parte degli utenti non è ancora tale da permettere un'auto organizzazione dei
contenuti. È sicuramente però un elemento da considerare per l'evoluzione
della piattaforma.
164 http://drupal.org/project/activity 165 http://drupal.org/project/heartbeat 166 http://drupal.org/project/og
Theming, replica del modello e ottimizzazione
La temizzazione167 di un layout su drupal è generalmente il processo finale a cui
si arriva dopo una lunga ed attenta fase di progettazione e gestione astratta168
dei contenuti, a livello di moduli.
Come la maggior parte dei processi di riduzione da layout a codice, è utile
creare una prima versione del sistema in html e css solo, per poi importare le
porzioni di codice all'interno dei diversi file responsabili poi della resa del tema
all'interno di Drupal.
A livello di supporto crossbrowser è stata indicata una soluzione ardita da parte
del comitato informatico dell'università di Sancti Spiritus. Si tratta della decisione
di non supportare più Internet Explorer, ma di visualizzare in questi casi un
messaggio nel quale si notifica che il sistema in uso sul computer utilizzato non
è sicuro ed è necessario l'intervento di un tecnico, con i riferimenti per il
contatto. Questo è dovuto come conseguenza di una strategia aggressiva verso
la migrazione a Linux e come necessità visto il dilagare di virus informatici su
computer e pen drive.
Questo significa molto anche a livello di sviluppo di html e css dal momento che
non è necessario includere (e quindi appesantire) files specifici per internet
explorer (in particolare per la version 6) con evidenti guadagni sia a livello di
mantenimento che di sviluppo, dal momento che il testing è fatto solo per
Firefox e Chrome.
Per fare questo è possibile semplicemente adottare un semplice css per un div
con id ie-message da posizionare in alto alla pagina. Nel css:
#ie-message { background:#C00; 167 Processo di trasformazione di un layout generalmente in formato .psd in html, css e php,
integrato all'interno del sistema di Drupal. Un termine col medesimo significato spesso utilizzato, sebbene non esistano nel dizionario italiano tali parole, è drupalizzazione, dalle evidenti influnze inglesi theming e drupalizing.
168 Si intende il metalivello in cui i contenuti ancora non ci sono, ma li si definisce a livello di content type.
text-align:center;
border-bottom:1px solid #900;
color: #fff;
padding:5px;
width:100%;
}
#ie-message a {
color: #fff;
font-weight:bold;
}
Mentre all'interno della pagina, per indicare il codice solo per Internet Explorer:
<!--[if IE]>
<div id="ie-message">
El sistema que utilizas estâ en riesgo. Póngase en contacto con un
técnico para actualizarlo. <a href="mailto:bernardo@suss.co.cu">Haga click aqui y
escribe tu nombre, apellido y oficina donde eres ahora</a>.
</div>
<![endif]-->
La struttura principale del codice html è abbastanza semplice, anche visto il
layout su due sole colonne.
Illustration 68: messaggio di avviso per gli utenti che utilizzano Internet Explorer
Per ottenere l'effetto box arrotondato ricreato all'interno di tutto il sito si usa
sempre la stessa struttura di classi, modificando semplicemente la larghezza
dei box contenitori: un div con classe rounded, responsabile degli angoli
arrotondati e dello sfondo grigio e una classe white, che gestisce lo sfondo
bianco e il contenuto invece.
La conseguenza della scelta di non supportare Internet Explorer porta a degli
evidenti risparmi di codice, anche per l'effetto degli angoli arrotondati, che non è
necessario ottenere con jquery corner ui, ma può essere ottenuto con i soli css.
Questo effetto degrada graziosamente169 sui browser più vecchi che non
supportano questa proprietà di css3.
169 http://www.css3.info/graceful-degradation/
Illustration 69: griglia base del sito
.rounded {
background:#d2d2d2;
padding:10px;
margin-bottom:10px;
float:left;
width:100%;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px; /* future proofing */
-khtml-border-radius: 10px; /* for old Konqueror browsers */
}
.white {
background:#fff;
padding:10px;
}
Una volta ottenuto l'html si passa alla definizione del tema per Drupal. Ogni
tema all'interno del CMS è definto da un file .info. Nel nostro caso uniss.info
(uniss è il nome attribuito al tema, dal nome dell'università di Sancti Spiritus). I
file .info hanno una struttura abbastanza semplice:
name = Uniss
description = Uniss: tema realizado por Davide Berardino en el 2010. Por info
contactalo por correo davide.berardino@bryan.it
base theme = openpublish_theme
version = VERSION
core = 6.x
engine = phptemplate
; SubTheme-Specific CSS
stylesheets[all][] = css/estilo.css
; superfish menu
stylesheets[all][] = css/superfish.css
; overwriting basics
stylesheets[all][] = css/basics.css
; overwriting components
stylesheets[all][] = css/components.css
; overwriting editor
stylesheets[all][] = css/editor.css
; overwriting html-entities
stylesheets[all][] = css/html-entities.css
; overwriting layout
stylesheets[all][] = css/layout.css
; overwriting fix-ie
stylesheets[all][] = css/fix-ie.css
regions[right] = Right Sidebar
regions[first_row] = first row of elements
regions[second_row] = second row of elements
regions[third_row] = third row of elements
regions[header] = Header
regions[footer] = Footer
All'inizio del documento vengono dichiarate le informazioni base del tema,
mentre seguono poi i files .css utilizzati (stylesheets[all][] = path/to/file.css) e la
definizione delle regioni che verranno inclusi nell'header delle pagine con <?php
print $styles ?>, così come gli script (scripts[] = path/to/file.js) e <?php print
$scripts ?>. Per facilità di gestione si è deciso di creare un header.tpl.php
(sites/all/themes/openpublish_theme/uniss/page/).
Si è scelto di adottare openpublish, oltre per una facilità di apprendimento, per
una serie di funzionalità aggiuntive a livello di template. Infatti questo profilo170,
oltre ad inserire ordine nel tema a livello di cartelle e struttura, inserisce una
serie di classi css agli elementi all'interno delle pagine che permette una facile
gestione del template, simile a quella di Wordpress.
Per una maggiore facilità di apprendimento anche da parte dei mantainers si è
pensato di adottare un sistema di gestione a blocchi ed aree, senza introdurre
un uso massiccio di panels all'interno del sito. Panels infatti anche se è uno
strumento molto potente per la gestione di layout complessi, ha per contro, una
difficoltà di apprendimento elevata. Per questo motivo sono state introdotte tre
regioni che trovano riscontro all'interno del tema solo nella home page, al posto
di un panel specifico: first row, second row e third row. Le regioni, si ricorda,
sono delle aree all'interno delle quali si possono assegnare dei blocchi di
contenuto.
Per definire il modulo all'interno di una pagina .tpl.php è sufficiente utilizzare la
variabile <?php print $first_row; ?> dove $first_row è il nome della regione
definita all'interno del file .info.
Per poter assegnare più volte uno stesso blocco all'interno di regioni diverse,
non possibile di default, è necessario utilizzare un modulo apposta:
multiblock171.
Un elemento problematico da gestire con Drupal riguarda il menu. Dalla
progettazione infatti si definisce l'uso di un menu a tendina (o drop down menu)
che però non è supportato nativamente da Drupal. Gestendo la navigazione
primaria (primary navigation) e aggiungendo dei sottolivelli alla navigazione
principale ci si accorge infatti che non vengono gestiti i livelli oltre il secondo.
Per ovviare a questo problema esiste un modulo, nice menus172, che offre la
possibilità di gestire menu di questo tipo, con il supporto di uno script basato su
170 Tecnicamente openpublish è un profilo di Drupal. Altri profili sono elencati
http://drupal.org/project/installation%2Bprofiles 171 http://drupal.org/project/multiblock 172 http://drupal.org/project/nice_menus
jquery173: superfish174. Questo modulo anche se permette un buon supporto
crossbrowser, è un po' complesso a livello di css e necessita una conoscenza
avanzata per un'accurata personalizzazione. Dall'interfaccia di gestione dei
menu di Drupal è necessario poi flaggare come expanded un elemento che ha
delle voci di secondo o terzo livello, perchè vengano poi visualizzate lato
template.
<?php if (menu_tree('menu-top-menu')): ?>
<?php print menu_tree('menu-top-menu'); ?>
<?php endif; ?>
Sul sito sono attivi altri due menu: top menu e footer secondary menu. Nel
primo sono state elencate delle informazioni di servizio/accessibilità, come il link
alla pagina di accessibilità, il link alla mappa del sito e quello alle categorie di
RSS presenti all'interno del sito. Nel secondo invece si trovano dei riferimenti e
dei credits rispetto alle tecnologie adottate: i validatori HTML175, CSS176, i
173 http://jquery.com/ 174 http://users.tpg.com.au/j_birch/plugins/superfish/ 175 http://validator.w3.org/ 176 http://jigsaw.w3.org/css-validator/
Illustration 70: gestione dei menu
riferimenti al WAI177 e a drupal.org.
Si è scelto inoltre di basare le parti più dinamiche del sistema su jquery, una
libreria javascript che facilita lo sviluppo e la gestione di componenti di user
interface178. Questa libreria è utilizzata da diversi moduli, oltre che da quello
appena descritto per la gestione del menu.
Uno dei limiti di Drupal, quando si lavora con blocchi e views, sono massicce
porzioni di codice aggiuntivo che vengono inserite all'interno delle pagine, che
spesso entrano in conflitto con l'html precedentemente realizzato. Per questo
motivo si consiglia di realizzare solo la griglia di layout principale a livello di
header, content, sidebar e footer e lavorare poi sugli stili degli elementi che
Drupal ha creato.
Un altro problema da gestire, soprattutto quando si lavora con tanti moduli, è la
compatibilità dei diversi css con quello in produzione. Capita spesso che campi
di input o altri elementi abbiano già uno stile definito all'interno del modulo
(generalmente con dei selettori abbastanza specifici) che spesso sovrascrivono
regole più generiche dichiarate nel file di stile principale. Per ovviare a questo
problema di può adottare un sistema di selettori specifico, anche se poi si crea
una sovrabbondanza di regole per degli stessi elementi, o adottare !important,
un elemento da inserire nel css principale accanto alla regola che deve
acquisire priorità sulle altre.
Per esempio se in style.css (il css principale) si dichiara input { border:1px solid
#000; } e in un altro css (system.css) viene dichiarato #block input { border: ... }
è prioritario il secondo, a meno che nel primo non si specifichi { border: 1px
solid #000 !important; }.
Una volta completata la fase di temizzazione è importante configurare
impostazioni per le performance del sito. Di default infatti, come evidenziato,
Drupal include una quantità di files ereditati dai moduli utilizzati, che occorre
compattare (attraverso gzip) per ottimizzare le HTTP Request che ogni pagina
fa al server. Per fare questo è possibile innanzitutto impostare le configurazioni
177 http://www.w3.org/WAI/ 178 http://jqueryui.com/
per un sito in produzione su drupal (admin/settings/performance) come da
illustration 3.
Esistono ulteriori accorgimenti da adottare una volta finita la fase di sviluppo,
come css gzip179 e js aggregator180 che si occupano della riduzione delle
dimensione dei files .css e .js utilizzati. È possibile inoltre, anche se non è stato
adottato per l'università di Sancti Spiritus e in realtà non facilmente gestibile per
intranet o con banda verso l'esterno limitata, fare in modo che i files inclusi
siano gestiti attraverso CDN181 (Content Delivery Network182), che rende molto
più rapido il caricamento delle pagine, attraverso moduli specifici che vanno
però a modificare il core di Drupal per quanto riguarda lo storage dei files.
Sempre con l'intento di ridurre le chiamate, http è possibile includere tutte le
immagini utilizzate all'interno della pagina in un solo sprite183 e gestirle poi
attraverso css, anche se per la difficoltà di gestione184 di questa modalità di
sviluppo si è deciso di adottare un utilizzo standard delle immagini.
179 http://drupal.org/project/css_gzip 180 http://drupal.org/project/javascript_aggregator 181 http://drupal.org/project/cdn 182 http://en.wikipedia.org/wiki/Content_delivery_network 183 http://www.alistapart.com/articles/sprites 184 Sono necessarie competenze avanzate di css e conoscenze dell'uso di un programma di editing
per le immagini, come photoshop per l'inserimento di nuove immagini.
Per poter aggiungere il supporto del modulo colori ad un tema è necessario
aggiungere il supporto al modulo colore185. È importante sapere prima di
cominciare questo processo che non tutti i temi possono supportare variabili di 185 http://drupal.org/node/108459
Illustration 71: admin/settings/performance
colore, ma devono essere pensati apposta. Il tema per l'università di Sancti
Spiritus è pensato per poter essere replicato all'interno delle altre facoltà,
diverse da quella di ingegneria, che ha ospitato la prima release del prototipo.
Lo schema di colori neutri basati su bianco, nero e scala di grigi permette
l'introduzione di qualsiasi colore, come uno di quelli adottati all'interno delle altre
facoltà, con la sostituzione del colore tematico nei link e nel logo.
Con il supporto al modulo colore attivo Drupal infatti permette di gestire logo e
colori del sito attraverso l'interfaccia di amministrazione
(admin/build/themes/settings/). Vista però che il cambiamento del colore
impatta solo su di un elemento (i links), si è deciso di permettere la gestione del
logo da admin, mentre per il cambiamento del colore è sufficiente cambiare una
riga di codice all'interno del file css principale.
Riepilogo temi utilizzati
0. Admin menu (http://drupal.org/project/admin_menu ):
1. Advanced Forum (http://drupal.org/project/advanced_forum)
2. Advanced Profile kit (http://drupal.org/project/advanced_profile)
3. Better perms (http://drupal.org/project/better_perms)
4. Birthdays (http://drupal.org/project/birthdays)
5. CCK (http://drupal.org/project/cck)
6. Chatroom (http://drupal.org/project/chatroom)
7. CKEditor (http://drupal.org/project/ckeditor )
8. Content profile (http://drupal.org/project/content_profile)
9. CSS gzip (http://drupal.org/project/css_gzip)
10. Custom breadcrumbs (http://drupal.org/project/custom_breadcrumbs)
11. Devel (http://drupal.org/project/devel )
12. Event (http://drupal.org/project/event)
13. Event views (http://drupal.org/project/event_views)
14. Feeds (http://drupal.org/project/feeds)
15. Filedepot (http://drupal.org/project/filedepot)
16. FileField (http://drupal.org/project/filefield)
17. Flag (http://drupal.org/project/flag)
18. Flag Friends (http://drupal.org/project/flag_friend)
19. Heartbeat (http://drupal.org/project/heartbeat)
20. Image annotate (http://drupal.org/project/image_annotate)
21. ImageAPI (http://drupal.org/project/imageapi )
22. ImageCache (http://drupal.org/project/imagecache)
23. IMCE (http://drupal.org/project/imce )
24. js Aggregator (http://drupal.org/project/javascript_aggregator)
25. LDAP integration (http://drupal.org/project/ldap_integration)
26. Legal (http://drupal.org/project/legal)
27. Moodle courselist (http://drupal.org/project/moodle_courselist)
28. Multiblock (http://drupal.org/project/multiblock)
29. Nice Menus (http://drupal.org/project/nice_menus)
30. Nodeaccess (http://drupal.org/project/nodeaccess)
31. Panels (http://drupal.org/project/panels )
32. Privatemsg (http://drupal.org/project/privatemsg)
33. Rubik (http://drupal.org/project/rubik)
34. Send (http://drupal.org/project/send)
35. Signup (http://drupal.org/project/signup)
36. Simplenews (http://drupal.org/project/simplenews)
37. Smiley (http://drupal.org/project/smileys + patch
http://drupal.org/node/504266)
38. Update Status Proxy (http://drupal.org/project/update_status_proxy)
39. User Relationships (http://drupal.org/project/user_relationships)
40. Vertical Tab (http://drupal.org/project/vertical_tabs )
41. Views (http://drupal.org/project/views)
42. Weblinks (http://drupal.org/project/weblinks)
43. Webserver authentication (http://drupal.org/project/webserver_auth)
44. XMPPframework (http://drupal.org/project/xmppframework )
SVILUPPI FUTURI
Piano di informatizzazione
Come illustrato nel capitolo 1.2 all'interno dell'università di Sancti Spiritus c'è del
fermento per il cambiamento e per l'innovazione.
Negli incontri con i responsabili dei servizi informatici e informativi dell'università
si sono identificato diversi processi per l'infomatizzazione dell'università e tra
questi rientra il progetto presentato di redesign della intranet che ha racchiuso
in sè altri punti importanti per la semplificazione degli strumenti informatici.
Il progetto, arrivato ora alla conclusione della sua prototipazione, deve passare
attraverso un processo di adozione da parte delle diverse facoltà e per facilitare
questo, il 20 gennaio 2011 è stato fondato il Grupo Cientifico-Estudiantil
Desarrollo de la Red en la UNISS186, un gruppo costituito da docenti e studenti
dell'università (definiti precedentemente come mantainers).
L'obbiettivo generale del gruppo è contribuire allo sviluppo della LAN della
UNISS, con particolari attenzioni ai sistemi web, ampliando l'offerta di servizi
necessari per creare una comunità virtuale locale.
Gli obiettivi specifici sono invece:
• Portare in produzione i sistemi prototipati
• Unificare la gestione degli utenti
• Informatizzare la maggior quantità di servizi della UNISS
• Integrare tutti i sistemi all'interno di Drupal
• Avvicinare tecnologicamente gli edifici
• Creare una comunità virtuale
• Promuovere e divulgare l'uso di strumenti e servizi web disponibili
Il problema dei gruppi di lavoro senza identità specifiche evidenziato nella 186 Vedi allegato: Costitucion Grupo de trabajo.
descrizione dell'università, viene qua risolto con l'attribuzione di compiti specifici
e di responsabilità ai diversi membri che ne fanno parte:
• Professor Bernardo Yaser Leon Avila, responsabile del progetto e
webmaster
• Professor Alain Pereira Toledo, responsabile della parte sistemistica
• Professoressa Zenia Padilla, responsabile dei corsi di sviluppo web per
studenti
e gli studenti a cui sono affidate la gestione dei laboratori e la gestione degli
edifici diversi da quello di ingenieria:
• Orelvis Bernal Fiallo
• Yanet Casas Ortega
• Orlando Manuel Valle Martínez
• Yasmani Ramírez Pérez
• Ernesto Antonio Triana Cabrera.
Il piano di informatizzazione è stato diviso inoltre in diversi step:
1. revisione con gli studenti del lavoro realizzato e sviluppo del sistema
descritto e prototipato per un'effettiva presa di coscienza degli strumenti
e una migliore gestione della conoscenza
2. implementazione dei servizi con i mezzi a disposizione e descrizione
delle componenti hardware necessarie per il prosieguo del progetto
3. mantenimento (attraverso anche il supporto tecnico), promozione e
verifica dei servizi (in collaborazione con la facoltà di sociologia e
mediante l'uso di sondaggi e questionari).
Il prototipo realizzato si propone come strumento per la comunicazione
all'interno delle diverse facoltà e all'interno della residenza studentesca. Gli
obbiettivi che si raggiungono sono quelli relativi all'informazione, alla formazione
e alla comunicazione.
Rimane ancora da progettare la parte relativa all'informatizzazione dei servizi
offerti dalla biblioteca. A parte la ricerca delle collocazioni che è stata introdotta
da qualche anno, anche se con un sistema poco efficiente e non più supportato
dallo sviluppatore che lo aveva implementato, la biblioteca non ha
informatizzato i propri servizi. Se da un lato i gestori del sistema bibliotecario
trovano comunque funzionale l'utilizzo manuale degli archivi, dall'altro però non
si riesce a dare risposte al Ministero dell'Educazione (MES) quando richiede il
numero di ricerche annuali all'interno della biblioteca o delle statistiche
sull'andamento dei prestiti.
Ci si auspica che dei futuri studenti universitari possano contribuire allo sviluppo
di questa parte del progetto, integrando anche questi servizi all'interno di
Drupal. Sono state selezionate a riguardo diverse componenti che andranno
testate e implementate all'interno del sistema (come Millennium OPAC
integration187 o SOPAC188).
187 http://drupal.org/project/millennium 188 http://drupal.org/project/sopac
CONCLUSIONI
L'obbiettivo di realizzare un prototipo funzionante per la intranet dell'università di
Sancti Spiritus è stato raggiunto. Il risultato costituisce un punto di partenza per
applicazioni web 2.0 sostenibili all'interno di ambienti educativi, attraverso
l'utilizzo di tecnologie opensource. Il tema e l'infrastruttura sono state condivise
on line (con licenza GPL) all'interno del sito www.davideberardino.it e sono
utilizzabili gratuitamente con il supporto della documentazione prodotta con
questa tesi.
I diversi step definiti per l'evoluzione di una social network all'interno di un
ambito locale estraneo alle dinamiche della rete possono essere replicate
efficacemente all'interno di altri contesti diversi da quello cubano.
La particolare struttura della intranet si presta a poter essere adottata anche
all'interno di aziende che possono favorire dinamiche sociali al proprio interno
attraverso strumenti informatici con la funzione di informare, coinvolgere, ma
anche supervisionare gli utenti.
Per quanto riguarda la realtà dell'università cubana, il progetto si è dimostrato
un' interessante possibilità di confronto e con la collaborazione si è riusciti
soprattutto nell'arduo compito di creare qualcosa di sostenibile, nell'accezione
che possa gettare le basi per un futuro anche a prescindere dalle persone
inizialmente coinvolte che hanno avviato il progetto.
Il prototipo realizzato servirà da modello per l'implementazione finale della
intranet e il materiale prodotto in questa tesi costituisce la prima parte di un
processo di passaggio della conoscenza tra chi ha iniziato il progetto e chi
dovrà continuarlo. I professori e tutor dell'Università cubana infatti hanno
costituito un gruppo di lavoro per portare avanti il progetto e per insegnare agli
studenti ad utilizzare gli strumenti impiegati.
L'esito positivo dell'esperienza e del progetto fanno ben sperare per il prosieguo
di questa collaborazione internazionale, che può essere arricchita dalla
partecipazione di altri studenti dell'università di Milano Bicocca al progetto.
Tra gli aspetti che possono essere presi in considerazione ci sono gli elementi
che ancora mancano da essere progettati e sviluppati, soprattutto per quanto
riguarda l'informatizzazione del sistema bibliotecario. Da un punto di vista più
sistemistico invece ci sarebbero molti aspetti che potrebbero essere
approfonditi e sperimentati, soprattutto per quanto riguarda il cloud computing.
L'utilizzo di Drupal che è stato descritto nella tesi poi, può essere aggiornato e
migliorato quando il supporto alla versione 7 del CMS sarà più completa e sarà
così possibile evolvere il sistema.
BIBLIOGRAFIA
• A list Apart, http://www.alistapart.com
• Alexa, the web information company, http://www.alexa.com
• Amaury E. del Valle (2006, novembre). "Estados Unidos bloquea Internet en
Cuba", Juventud Rebelde, http://www.juventudrebelde.cu/cuba/2006-11-
02/estados-unidos-bloquea-internet-en-cuba-l
• Andrea R. Mihailescu (2005, giugno). “Recurring blackouts plague Cuba”,
Havana Journal
• BBC News (2003, aprile). “Well-known Cuban dissident jailed”, BBC News,
http://news.bbc.co.uk/2/hi/americas/2938041.stm
• BBC News (2004, gennaio). “Cuba cracks down on internet use ”, BBC News,
http://news.bbc.co.uk/2/hi/americas/3386413.stm
• Chris Anderson (2009). “The future of a radical price”
• Código Civil de la República de Cuba. Decreto Legge 209, giugno 1996
• Commissione mondiale sull'ambiente e lo sviluppo (WCED) (1987). “Rapporto
Brundtland”
• Corrales and Westhoff (2006). “Information Technology Adoption and Political
Regimes”. p. 925
• Davide Casali, Gianandrea Giacoma (2008, novembre). “Design Motivazionale:
Usabilità Sociale e Group Centered Design”,
http://ibridazioni.com/2008/11/01/design-motivazionale-usabilita-sociale-e-
group-centered-design/
• Drupal, Open Source CMS, http://www.drupal.org
• Frank Westhoff (2006). “Information Technology Adoption and Political
Regimes. International Studies Quarterly”. p.926
• Geoffry L. Taubman (2002, settembre). “Keeping Out the Internet? Non-
Democratic Legitimacy and Access to the Web”, First Monday, Volume 27
• Greta Liguori (2010).“Uso di strumenti Web 2.0 per la realizzazione di
applicazioni sostenibili in ambienti educativi: il caso di Sancti Spiritus a Cuba”
• Jacob Gube (2008, agosto). “10 Tools for Evaluating Web Design
Accessibility”, http://sixrevisions.com/web-standards/accessibility_testtools/
• Jakob Nielsen (2005, settembre). “The Power of Defaults”, Alert Box,
http://www.useit.com/alertbox/defaults.html
• Jakob Nielsen (2006, ottobre). "Participation Inequality: Encouraging More
Users to Contribute", Alert Box,
http://www.useit.com/alertbox/participation_inequality.html
• José Antonio Torres (2010, novembre). “Desafío en favor de la integración”,
Granma, http://www.granma.cu/espanol/cuba/3noviem-desafio.html
• Khoi Vinh (2010). “Ordering Disorder: Grid Principles for Web Design”, New
Readers
• Leslie Marable (2003, giugno). “False Oracles: Consumer Reaction to Learning
the Truth About How Search Engines Work”, Consumer Reports WebWatch,
http://www.consumerwebwatch.org/dynamic/search-report-false-oracles-
abstract.cfm
• Maeda John (2006). “Le leggi della semplicità”, MIT Press
• Marie Coles (2010). “What Is Sustainable Web Design?”,
http://ezinearticles.com
• Michele D. Dickey (2005). “Engaging by design: How engagement strategies in
popular computer and video games can inform instructional design”,
Educational Technology Research & Development, Vol. 53, No. 2
• Mohr, LaKindra (2007). “Of Note: State Control of the Internet Reins in Cuba's
Future”, First Monday, Volume 27
• OpenLDAP, http://www.openldap.org/
• Patrick Symmes (1998, febbraio). “Che is dead”, Wired,
http://www.wired.com/wired/archive/6.02/cuba.html
• PHP, Hypertext Processor, http://www.php.net
• Republica de Cuba (2010, novembre). “Proyecto de Lineamientos de la política
económica y social”
• Richard Rutter, Patrick H. Lauke, Cynthia Waddell, Jim Thatcher Jim Thatcher
(2006). “Web Accessibility: Web Standards and Regulatory Compliance”
• Roberto Polillo (2006, settembre). “Plasmare il web”, Apogeo
• Roberto Polillo (2010, giugno). “Facile da usare”, Apogeo
• Ronald J. Deibert, John G. Palfrey, Rafal Rohozinski and Jonathan Zittrain
(2008, febbraio). "Access Denied, The Practice and Policy of Global Internet
Filtering"
• Ronald J. Deibert, John G. Palfrey, Rafal Rohozinski and Jonathan Zittrain
(2010, aprile). "Access Controlled, The Shaping of Power, Rights, and Rule in
Cyberspace"
• RSF (2007, febbraio). “Minister blames US embargo for low number of Cubans
online”, RSF, http://en.rsf.org/cuba-minister-blames-us-embargo-for-low-13-02-
2007,20999.html
• RSF (2007, marzo). “Going online in Cuba - Internet under surveillance”, RSF,
http://en.rsf.org/cuba-going-online-in-cuba-internet-19-10-2006,19335.html
• Rupert Wingfield Hayes (2006, maggio) “Web censorship: Correspondent
reports ”, BBC News, http://news.bbc.co.uk/2/hi/technology/5024874.stm
• Shanthi Kalathil, Taylor Boas (2000). “Open Networks, Closed Regimes: The
Impact of the Internet on Authoritarian Rule”
• Shanthi Kalathil, Taylor C. Boas (2001, agosto). “The Internet and state control
in authoritarian regimes: China, Cuba and the counterrevolution”
• Stephanie Birdsall, William Birdall (2005, ottobre). “Geography matters:
Mapping human development and digital access”
• Stephen Gibbs (2004, gennaio). “Cuba law tightens internet access”, BBC
News, http://news.bbc.co.uk/2/hi/americas/3425425.stm
top related