Il Web 2.0

II parte: Wikidi

Uno degli strumenti che maggiormente hanno contribuito alla diffusione di Web 2.0 è il Wiki. In questo articolo vedremo quali caratteristiche sono tipicamente offerte da tali strumenti attraverso un esempio pratico di utilizzo.

Introduzione

Nel precedente articolo [MOKAWEB2_I] si è introdotto il Web 2.0, parlando degli aspetti tecnologici e sociali che ne consentono la definizione e fornendo una visione introduttiva sui principi delle tecnologie relative al nuovo modo di intendere il web. Ci teniamo a sottolineare come si possa parlare di Web 2.0 proprio per la concomitanza di più componenti "culturali" ("reti sociali", tagging, "folksonomy"...) e tecnologiche: può risultare quindi quasi artificioso analizzare i diversi aspetti, dedicando i vari articoli di questa serie specificamente a uno "strumento" o a un gruppo di "principi". Tenendo sempre presente questa natura "composita" del Web 2.0, riteniamo però che affrontare diffusamente determinati aspetti in ciascun articolo sia comunque un approccio adeguato, proprio per fare chiarezza e seguire un percorso che, attraverso le varie tappe della serie, ci porti a una comprensione più approfondita di quel fenomeno composito e multiforme che chiamiamo Web 2.0.
Per non rimanere nel vago, ci interessa anche che i nostri lettori apprendano, al di là  delle fondamentali importantissime considerazioni culturali, anche l‘utilizzo operativo di strumenti e tecnologie Web 2.0.La tipologia di strumento che maggiormente ha contribuito alla diffusione di Web 2.0 è il Wiki. In questo articolo vedremo quali caratteristiche sono tipicamente offerte da tali strumenti attraverso un esempio pratico di utilizzo.

Che cosa è un WIKI?

Il Wiki è uno strumento con il quale è possibile inserire sul Web una serie di informazioni, in modo semplice, senza bisogno di assistenza (tecnica, ma non solo...) esterna, facilitando di conseguenza l‘interazione con clienti, partner, colleghi, collaboratori e... amici. Il nome deriva dall‘espressione hawaiana "wiki wiki" che significa "rapido", "molto veloce", sebbene per molti WIKI sia anche l‘acronimo di "What I Know Is", a rimarcarne il significato collaborativo e di costruzione continua: il Wiki diventa lo strumento grazie al quale e il "luogo" in cui "ciò che io so" su un determinato argomento viene depositato, modificato, condiviso, accresciuto in collaborazione con altri.
Un Wiki è quindi sia un sistema di gestione dei contenuti (Content Management System, CMS) che un repository web di documenti ipertestuali che permette, ad ogni utilizzatore, di aggiungere propri contenuti e di modificare quelli già  esistenti inseriti da altri.

Il principio guida è quello accrescere la base di conoscenza collettiva mediante la collaborazione tra gli utenti (modello partecipativo). Le sue funzionalità  tipiche sono di inserimento di testo strutturato (nelle pagine già  esistenti o in nuove strutture create dall‘utente) e di attach di file (p.e., documenti, immagini, ...).

Una caratteristica distintiva della tecnologia Wiki è la facilità  con cui le pagine possono essere create e aggiornate prevedendo la possibilità  di allegare documenti, immagini, collaborazione di testo, condivisione di informazioni. Un Wiki permette di "scrivere collettivamente" dei documenti senza necessità  di particolari di conoscenze tecniche ma utilizzando un semplice linguaggio di markup (script) o text processor mediante il browser web.
Il risultato sarà  comunque una normale pagina Web, fruibile da un comune Browser; la caratteristica distintiva della tecnologia Wiki è quindi la facilità  con cui le pagine possono essere create e aggiornate.

Alla base di un Wiki ci sono tecnologie Web note (p.e. Javascript, Php, MySql, Apache, ...) che però consentono una fruizione dei contenuti differente rispetto ai tradizionali siti Web e soprattutto spingono gli utenti ad assumere un ruolo "attivo" nella definizione di nuovi contenuti (è questa la vera innovazione del Wiki!).

L‘esempio più significativo di Wiki è Wikipedia [WIKIPEDIA]: se si pensa all‘utilizzo estensivo che ne viene fatto dagli utenti finali delle tipologie più disparate, magari completamente digiuni dei principi tecnologici che ne determinano il funzionamento, si comprende l‘impatto sicuramente pervasivo che lo strumento Wiki è stato in grado di ottenere in tempi brevissimi su milioni di utilizzatori. Al di là  delle critiche che in più casi sono state portate al valore culturale dei contenuti di Wikipedia, specie in certi ambiti del sapere, essa rimane una risorsa accessibile, aggiornata, immediata, in grado di risolvere all‘istante dubbi e interrogativi degli utenti.

Figura 1 - Wikipedia: Voce, Discussione, Modifica e Cronologia

Il grande fermento legato all‘espansione "del modello Web 2.0" ha ovviamente spinto una rapida diffusione di un gran numero di strumenti differenti a vari gradi di complessità .

Possiamo già  parlare di almeno due "generazioni" di Wiki.
Volendo semplificare, i Wiki di prima generazione mettono semplicemente a disposizione degli utenti strumenti per la gestione dei contenuti in modo collaborativo.
I Wiki di seconda generazione si spingono oltre e permettono di creare applicazioni web ritagliate per le proprie specifiche esigenze mediante lo sviluppo di plugin personalizzati per le proprie esigenze come ad esempio blog, applicazioni di Mashups e RSS Feed Aggregator.

Di prodotti per creare un Wiki ce ne sono molti e basati su diverse tecnologie come Java (p.e.: xWiki, JSPWiki e VeryQuick Wiki), ASP (p.e.: WikiPot), PHP (p.e.: PhpWiki) e Perl; molti di questi prodotti sono open source [WIKIPEDIA] [XWIKI]. Nei nostri esempi utilizzeremo xWiki (vedere [XWIKI]).

Vediamo in cosa consiste e come è possibile installarlo, configurarlo e usarlo in maniera semplice.

xWiki: un Wiki (open source) Java

XWiki è un Wiki che basa la sua architettura su prodotti prettamente open-source. Nello specifico la sua architettura si basa su:

  • Hibernate: per l‘accesso al database e per la memorizzazione di documenti, meta dati, immagini...
  • DBCP: per gestire il pooling delle connessioni al DB
  • JRCS: per il versioning degli attachment 
  • Struts: per gestire gli URL scheme
  • Velocity: per la gestione delle viste
  • Radeox: come motore di rendering
  • OSCache: gestione della cache dei documenti
  • OSUser e Security Filter: per la gestione di autenticazione e autorizzazione

Figura 2 - L‘architettura xWiki

Installazione di xWiki

xWiki si installa come una normale Web App. Per il deploy su Tomcat è sufficiente scompattare il file WAR sotto <>/webapps (p.e.: C:installed omcat-5.5.15webappsxwiki).
xWiki ha bisogno di un DataBase per memorizzare il suo contenuto (allegati, pagine e cosଠvia) e può funzionare con svariati DB mediante JDBC (funziona, per esempio, con MySQL, HSQL, SQL Server, Oracle). In particolare, la configurazione di HSQL è piuttosto semplice: basta indicare nel file hibernate.cfg.xml (p.e.: C:installed omcat-5.5.15webappsxwikiWEB-INFhibernate.cfg.xml) la locazione in cui verrà  creato il file di repository.


 jdbc:hsqldb:file:/C:/installed/tomcat-5.5.15/webapps/xwiki/myxwiki_db;shutdown=true

sa

org.hsqldb.jdbcDriver
org.hibernate.dialect.HSQLDialect

Avviando Tomcat (<>instartup.bat) e collegandosi all‘URL

http://localhost:8080/xwiki

si ottiene la pagina iniziale del Wiki.

Figura 3 -  xWiki: pagina iniziale

Selezionando il link "XWiki Home Page" si può iniziare a modificare la prima pagina del Wiki mediante "edit this page".

Figura 4 - La pagina di modifica di xWiki

Come si vede è possibile modificare la pagina, aggiungere file in allegato (come immagini, documenti, risorse) e aggiungere commenti alla pagina con estrema facilità .

Nei Wiki tradizionali, ci sono tre rappresentazioni per ogni pagina:

  • il codice HTML
  • la pagina "renderizzata" (ciò che risulta dalla visione di quel codice con un browser web)
  • il codice sorgente modificabile dagli utenti (a partire dal quale il server produce l‘HTML)

Per creare una pagina, i Wiki tipicamente forniscono due modalità  di editing: la prima mediante l‘uso diretto del linguaggio "wikitext", la seconda mediante editing grafico in modalità  WYSIWYG (What You See Is What You Get).

"wikitext" è di fatto un linguaggio di markup semplificato il cui stile e la cui sintassi variano tra i vari strumenti. Anche un utente che non conosca HTML, Javascript e CSS potrà  produrre semplicemente contenuti ottenendo dei buoni risultati grafici.

La sintassi base dei wikitext è facile ed immediata; di seguito si riporta un semplice esempio:

1 Titolo: Esempio di pagina WIKI
1.1 Sotto titolo
Testo: *testo in bold*
* Item 1
* Item 2
Image Attachment: {image:filename.gif}
Document Attachment:{attach:filename.doc}
~~Fine esempio pagina~~

Il risultato prodotto dal server xWiki è una pagina HTML:



<br>Wiki - Sample Site<br>

. . .

 

  

   

    

    
     

name="Titolo%3A+Esempio+di+pagina+WIKI">Titolo: Esempio di pagina WIKI


Sotto titolo



Testo: testo in bold


  • Item 1

  • Item 2

Image Attachment: filename.gif


Document Attachment:filename.doc

Fine esempio pagina
. . .



Figura 5 -  xWiki text

Gli strumenti più recenti forniscono anche tool integrati  di editing visuale (WYSIWYG) che permettono agli utenti di creare pagine senza conoscere neppure Wiki scripting. Tipicamente queste funzionalità  visuali sono fornite grazie a controlli ActiveX o "editor Ajax" che traducono i comandi di formattazione inseriti graficamente (come "grassetto","corsivo", "linea", ...) nei tag HTML corrispondenti.

Le istruzioni di formattazione fornite variano considerevolmente a seconda dello strumento; possono essere semplici (essenzialmente editing di testo) o complesse (supporto per tabelle, immagini, formule, elementi interattivi come sondaggi e giochi).
Data l‘attuale confusione, è in corso un tentativo di definire un linguaggio Wiki Markup Standard (vedere [WMS]).

Figura 6:  xWiki: modalità  wikitext (a sinistra) ed editor WYSIWYG (a destra)

Altro esempio di Wiki Java open source è JSPWiki [JSPW]. Distribuito anch‘esso come Web Application (.war) è facilmente installabile su qualsiasi Servlet Engine. JSPWiki è utilizzato per la pubblicazione della documentazione dei progetti Sun GlassFish.

Figura 7 - JSPWiki, un altro Wiki Java open source


Conclusioni

Dal punto di vista sociale, il Web 2.0 è fatto da individui che propongono, interagiscono e collaborano attivamente nella produzione di contenuti condivisi. Il tal senso, il Wiki, come strumento volto a semplificare la collaborazione e la comunicazione, ha svolto e svolge un ruolo fondamentale nello sviluppo di un "approccio Web 2.0".

In questo articolo abbiamo visto brevemente caratteristiche e ambiti di utilizzo del Wiki, per passare poi alla presentazione di un prodotto Java open source: xWiki. Attraverso poche semplici operazioni, abbiamo visto come sia possibile installarlo e come sia facile utilizzarlo.

Nel prossimo articolo proseguiremo l‘analisi del complesso scenario Web 2.0 continuando a parlare di altre tecnologie.

Riferimenti

[MOKAWEB2_I]
S. Rossini - G. Morello: "Il Web 2.0 - I parte: principi e tecnologie, una visione introduttiva", Mokabyte 117, Aprile 2007

[WIKIPEDIA]
http://www.wikipedia.org/

[WP_WK]
http://it.wikipedia.org/wiki/Wiki

[XWIKI]
http://www.xwiki.org/xwiki/bin/view/Main/WebHome

[XWII] XWiki Installation Instructions
http://www.xwiki.org/xwiki/bin/view/AdminGuide/

[WMS] Wiki Markup Standard
http://www.usemod.com/cgi-bin/mb.pl?WikiMarkupStandard

[JSPW] JSPWiki
http://www.jspwiki.org/Wiki.jsp

[VQW] VeryQuick Wiki
http://www.vqwiki.org

Condividi

Pubblicato nel numero
118 maggio 2007
Stefano Rossini è nato a Giussano (MI) il 29/10/1970 e ha conseguito il diploma universitario in Ingegneria Informatica presso il Politecnico di Torino. Ha maturato più di venti anni di esperienza in diversi progetti Enterprise mission-critical ricoprendo i ruoli di IT Program Manager, Project Manager & Software Architect presso importanti…
Articoli nella stessa serie
Ti potrebbe interessare anche