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:                            Relazione della prova finale di:
Prof. Roberto Polillo
Controrelatore:           Davide Berardino
Prof. Schiavo Campo       Matr. 725030




              Anno Accademico 2009/2010
Indice
INTRODUZIONE .............................................................................................................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
Illustration 1: gapminder




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
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 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
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/
Illustration 5: rete dll'università


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
riconducibili sempre alla mancanza di referenti per l'assistenza, lo sviluppo e la
manutenzione.




                                                                      Illu
        stration 6: intranet iniziale
Illustration 7: campus on line (Moodle)
                                                Illustration 8: interfaccia di accesso alla webmail


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 9: configurazione del proxy




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
contenuti.




    Illustration 10: sito dell'università prima di settembre 2010




    Illustration 11: sito dell'università a settembre 2010

Il problema emerso però con il rinnovamento del sito internet è che sebbene gli
strumenti siano stati rinnovati e siano funzionanti, continua a mancare
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
Illustration 12: interfaccia di piwik sull'andamento delle visite all'interno della intranet
di ingenieria



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.




                  Illustration 13: utilizzo dei servizi da parte degli utenti

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”
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
Illustration 15: intranet dell'università di Santa Clara


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
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.




 Illustration 16:                          Illustration 17:




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
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 Nativa ma               non Nativa e altamente
                      customizzabile.    granulare               configurabile.
                      Plugin:       Role                         Moduli:        node
                      scoper,                                    acces
                      adminimize
Solidità              bassa                 media                 elevata
Sicurezza             bassa                 media                 alta
Complessità           bassa                 Media                 elevata
Potenzialità          limitate              Medio alte            alte
Performance           Caching      non Caching           system Caching        system
                      nativo        ma nativo                   nativo
                      possibile    con
                      plugin (wp-super-
                      cache)


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
Illustration 22: grafico riferito ad esperienze personali,
               anche se generalmente condivise
               (http://drupal.org/node/84221)



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 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
Illustration 24: interfaccia 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 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
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
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.




Illustration 28: definizione della proprità rdf



   •   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 29: pagina di gestione blocchi




Illustration 30: gestione della visibilità di un blocco

    •   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
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 Illustration 31: gestione delle regioni dal file *.info all'interno
       set della cartella del tema
       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.




Illustration 32: interfaccia di gestione dei ruoli (admin/user/roles)


   •   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,
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.




   Illustration 33: pagina di gestione dei content type (admin/content/types)


    •   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
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.




                                                   Illustration 35: esempio di moduo
                                                   abbandonato a una vecchia versione di
                                                   Drupal, di cui si sconsiglia l'utilizzo


Illustration 34: esempio di modulo
attivamente mantenuto. In verde le
versioni consigliate




89 http://en.wikipedia.org/wiki/Software_release_life_cycle
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




    •   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
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.




Illustration 38: pagina di gestione dei content type e dei loro campi




Illustration 39: dettaglio della gestione dei campi




   •   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
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




Illustration 40: definizione del nome e del view type
            “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 41: pagina di gestione view




 Illustration 42:
 gestione del
 display della
 view
        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 43: views, page settings, impostazione della voce a menu
        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.




             Illustration 44: views, gestione dei campi
      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,
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




Illustration 45: views, filtri per la visualizzazione


       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 46: views, impostazione del tipo di contenuto

       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 47: drupal data flow
 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
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
      Illustration 48: processo di setup di openfire                                     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
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
Illustration 50: Interfaccia di configurazione LDAP su Moodle


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
•   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
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



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
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:
Illustration 63: gestione del modulo xmppframework


           • Client (Launch Settings)
                 • HTTP Bind
                 • SASL
                 • conference.your_domain.com
                 • vjud.your_domain.com
                 • Spanish




Illustration 64: configurazione del Client



           • User
                • impostare l'autenticazione con credenziali WS (è disponibile
una patch per il plugin a riguardo139)
                     • impostare in provisioning settings your_domain.com
                     • Flaggare Provision XMPP for Drupal Users




Illustration 65: impostazioni utente per xmppframework



             • XMPP API Settings
                 • server ip/hostname
                 • 7070
                 • admin user
                 • admin password
                 • your_domain.com




Illustration 66: API settings per xmppframework


      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
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
                                                                                                      162
documentazione di UR è leggermente migliore, anche se la issue queue                                        è
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&acirc; en riesgo. P&oacute;ngase en contacto con un
t&eacute;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]-->




Illustration 68: messaggio di avviso per gli utenti che utilizzano Internet Explorer


La struttura principale del codice html è abbastanza semplice, anche visto il
layout su due sole colonne.
Illustration 69: griglia base del sito


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/
.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; ?>




Illustration 70: gestione dei menu

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/
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.
Illustration 71: admin/settings/performance


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
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

Progettazione di strumenti di comunicazione sostenibili per l'educazione: il caso dell'Università di S.Spiritus a Cuba

  • 1.
    Università degli Studidi 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: Relazione della prova finale di: Prof. Roberto Polillo
  • 2.
    Controrelatore: Davide Berardino Prof. Schiavo Campo Matr. 725030 Anno Accademico 2009/2010
  • 3.
    Indice INTRODUZIONE .............................................................................................................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
  • 4.
    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
  • 5.
    le realtà acui 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
  • 6.
    alla parte socialedella 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à.
  • 7.
    CONTESTO, OBBIETTIVI ECONFINI 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
  • 8.
    Uganda e SriLanka9. 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
  • 9.
    Illustration 1: gapminder L'utilizzodi 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
  • 10.
    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
  • 11.
    condivisione24 è effettuatacon 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
  • 12.
    per il benesseree 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
  • 13.
    vieta a giornalistinon 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
  • 14.
    governo cubano, conil 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)
  • 16.
    Il sistema informativodell'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.
  • 18.
    Illustration 3: Nodoprincipale della rete
  • 19.
    La banda adisposizione 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
  • 20.
    necessariamente replicare lastruttura 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/
  • 21.
    Illustration 5: retedll'università 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
  • 22.
    riconducibili sempre allamancanza di referenti per l'assistenza, lo sviluppo e la manutenzione. Illu stration 6: intranet iniziale
  • 23.
    Illustration 7: campuson line (Moodle) Illustration 8: interfaccia di accesso alla webmail 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
  • 24.
    Illustration 9: configurazionedel proxy 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
  • 25.
    contenuti. Illustration 10: sito dell'università prima di settembre 2010 Illustration 11: sito dell'università a settembre 2010 Il problema emerso però con il rinnovamento del sito internet è che sebbene gli strumenti siano stati rinnovati e siano funzionanti, continua a mancare
  • 26.
    un'organizzazione che invoglio 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
  • 27.
    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
  • 28.
    adozione potesse essereorganizzato 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
  • 29.
    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
  • 30.
    automatizzato, esistono diconverso 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.
  • 31.
    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.
  • 32.
    la possibilità dellefuture 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
  • 33.
    la tecnologia rimanecosì 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
  • 34.
    maggioranza degli utentinon 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
  • 35.
    Illustration 12: interfacciadi piwik sull'andamento delle visite all'interno della intranet di ingenieria 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. Illustration 13: utilizzo dei servizi da parte degli utenti 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”
  • 36.
    definizione di 5obiettivi 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
  • 37.
    professori, perché sicrede 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/
  • 38.
    aggiornamenti degli antivirus). Iservizi 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.
  • 39.
    La soluzione proposta Perarrivare 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
  • 40.
    Illustration 15: intranetdell'università di Santa Clara 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
  • 41.
    informazioni sull'università. L'obiettivo dellanavigazione 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. Illustration 16: Illustration 17: 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
  • 42.
    poteva adattare alcambiamento: 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
  • 43.
    Illustration 19: soluzioneproposta, homepage
  • 44.
    Illustration 20: soluzioneproposta, eventi Illustration 21: soluzione proposta, pagina news
  • 45.
    Per quanto riguardainvece 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.
  • 46.
    DRUPAL COME FRAMEWORKPER 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
  • 47.
    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.
  • 48.
    Includiamo nel concettodi 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 Nativa ma non Nativa e altamente customizzabile. granulare configurabile. Plugin: Role Moduli: node scoper, acces adminimize Solidità bassa media elevata Sicurezza bassa media alta Complessità bassa Media elevata Potenzialità limitate Medio alte alte Performance Caching non Caching system Caching system nativo ma nativo nativo possibile con plugin (wp-super- cache) 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
  • 49.
    per la suasolidità, 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
  • 50.
    Illustration 22: graficoriferito ad esperienze personali, anche se generalmente condivise (http://drupal.org/node/84221) 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
  • 51.
    Illustration 23: pannellodi amministrazione dopo gli interventi per migliorarne l'usabilità
  • 52.
    Drupal, architettura, logicae 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
  • 53.
    Illustration 24: interfacciadi 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.
  • 54.
    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 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
  • 55.
    modello di gestionedi 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. Illustration 28: definizione della proprità rdf • 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.
  • 56.
    Illustration 29: paginadi gestione blocchi Illustration 30: gestione della visibilità di un blocco • 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
  • 57.
    template. Per farequesto è 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 Illustration 31: gestione delle regioni dal file *.info all'interno set della cartella del tema 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. Illustration 32: interfaccia di gestione dei ruoli (admin/user/roles) • 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,
  • 58.
    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. Illustration 33: pagina di gestione dei content type (admin/content/types) • 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
  • 59.
    moduli ancora inalpha 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. Illustration 35: esempio di moduo abbandonato a una vecchia versione di Drupal, di cui si sconsiglia l'utilizzo Illustration 34: esempio di modulo attivamente mantenuto. In verde le versioni consigliate 89 http://en.wikipedia.org/wiki/Software_release_life_cycle
  • 60.
    Illustration 36: paginadi gestione dei moduli, da qui si possono attivare o disattire i moduli attivi sul sito Illustration 37: pagina di configurazione dei moduli istallati • 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
  • 61.
    associata, come lenews. 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. Illustration 38: pagina di gestione dei content type e dei loro campi Illustration 39: dettaglio della gestione dei campi • 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
  • 62.
    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 Illustration 40: definizione del nome e del view type “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
  • 63.
    Illustration 41: paginadi gestione view Illustration 42: gestione del display della view 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.
  • 64.
    Illustration 43: views,page settings, impostazione della voce a menu 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. Illustration 44: views, gestione dei campi 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,
  • 65.
    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 Illustration 45: views, filtri per la visualizzazione 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.
  • 66.
    Illustration 46: views,impostazione del tipo di contenuto 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:
  • 67.
    Illustration 47: drupaldata flow 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
  • 68.
    devono essere posizionatie 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.
  • 69.
    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
  • 70.
    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
  • 71.
    un'ottimale gestione deicontenuti 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
  • 72.
    forum disponibili (comeper 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
  • 73.
    sistema opera dietroun 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
  • 74.
    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
  • 75.
    Sistema di autenticazionee 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/
  • 76.
    il piano diinformatizzazione 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,
  • 77.
    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 Illustration 48: processo di setup di openfire 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
  • 78.
    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.
  • 79.
    Illustration 49: interfacciadi configurazione LDAP su Drupal
  • 80.
    Illustration 50: Interfacciadi configurazione LDAP su Moodle 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
  • 81.
    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
  • 82.
    Illustration 51: interfacciadi gestione dei permessi una volta effettuato il login come admin Illustration 52: assegnazione dei permessi per utente Illustration 53: gestione dei permessi per ruolo 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
  • 83.
    moduli istallati (comecck), trasformando anche il profilo utente in un nodo.
  • 84.
    La gestione deiservizi 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
  • 89.
    Gli scopi chesi è 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.
  • 90.
    Per fare questoesiste 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
  • 91.
    Per configurare invecexmppframework è 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:
  • 92.
    Illustration 63: gestionedel modulo xmppframework • Client (Launch Settings) • HTTP Bind • SASL • conference.your_domain.com • vjud.your_domain.com • Spanish Illustration 64: configurazione del Client • User • impostare l'autenticazione con credenziali WS (è disponibile
  • 93.
    una patch peril plugin a riguardo139) • impostare in provisioning settings your_domain.com • Flaggare Provision XMPP for Drupal Users Illustration 65: impostazioni utente per xmppframework • XMPP API Settings • server ip/hostname • 7070 • admin user • admin password • your_domain.com Illustration 66: API settings per xmppframework 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
  • 94.
    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
  • 95.
    Drupal, come nelcaso 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
  • 96.
    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
  • 97.
    sostenibile con leevoluzioni 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/
  • 98.
    Drupal social network L'elementofondamentale 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
  • 99.
    A queste funzioninella 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
  • 100.
    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
  • 101.
    Queste categorie sonoin 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
  • 102.
    attraverso un modulopiù 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
  • 103.
    nel paese, chepotrebbero 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 162 documentazione di UR è leggermente migliore, anche se la issue queue è 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
  • 104.
    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
  • 105.
    Theming, replica delmodello 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.
  • 106.
    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&acirc; en riesgo. P&oacute;ngase en contacto con un t&eacute;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]--> Illustration 68: messaggio di avviso per gli utenti che utilizzano Internet Explorer La struttura principale del codice html è abbastanza semplice, anche visto il layout su due sole colonne.
  • 107.
    Illustration 69: grigliabase del sito 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/
  • 108.
    .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
  • 109.
    ; 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/).
  • 110.
    Si è sceltodi 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
  • 111.
    jquery173: superfish174. Questomodulo 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; ?> Illustration 70: gestione dei menu 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/
  • 112.
    riferimenti al WAI177e 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/
  • 113.
    per un sitoin 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.
  • 114.
    Illustration 71: admin/settings/performance Perpoter 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
  • 115.
    colore, ma devonoessere 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.
  • 116.
    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)
  • 117.
    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 )
  • 118.
    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.
  • 119.
    descrizione dell'università, vienequa 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).
  • 120.
    Il prototipo realizzatosi 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
  • 121.
    CONCLUSIONI L'obbiettivo di realizzareun 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.
  • 122.
    Tra gli aspettiche 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.
  • 123.
    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”
  • 124.
    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
  • 125.
    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