L'enorme successo di Wikipedia, la nota enciclopedia online, è sotto gli occhi di tutti; cosa meno nota, invece, è la piattaforma con cui è progettata. Si tratta di MediaWiki una della applicazioni in PHP più complete e potenti che siano presenti su internet per la creazione di Wiki.
Un Wiki è un sito che permette la scrittura collaborativa di contenuti. Su un Wiki si può non solo creare liberamente ogni pagina del sito ma si può modificare ogni scritto già pubblicato, indipendentemente dal fatto che si sia o no il primo autore. Su ICTv.it è presente un video di approfondimento che consigliamo a chi volesse saperne di più.
MediaWiki non è dunque utile solamente a Wikipedia ma anche molti altri webmaster che vogliono creare portali per la condivisione del sapere. È un'applicazione gratuita e open source, rilasciata con licenza GPL.
Sul Web si possono trovare decine e decine di siti che, gestiti con MediaWiki, si occupano di formare archivi conoscitivi di vario genere. Si possono creare dizionari sull'informatica, archivi di codici in PHP, guide per il proprio software o script insomma i possibili utilizzi di questo software sono veramente infiniti!
MediaWiki
L'applicazione MediaWiki è disponibile all'indirizzo www.mediawiki.org, il sito è consultabile anche in lingua italiana ed in molte altre lingue: al piè di pagina trovate i link per la consultazione con altre localizzazioni. La sezione download è raggiungibile alla pagina www.mediawiki.org/wiki/Download. Al momento in cui scriviamo l'ultima versione stabile è la 1.12.0 e pesa all'incirca 7 MB.
All'interno del sito potete trovare inoltre molte utility e molte guide e FAQ che vi aiuteranno a gestire l'intero portale.
Installazione
Prima di procedere con l'installazione è giusto verificare le caratteristiche minime che l'applicazione richiede per poter funzionare a dovere:
- WebServer: Apache o IIS;
- PHP 5.0 o superiore;
- Database: MySql 4.0 o superiore, PostgreSQL 8.1 o superiore.
Questi sono i requisiti minimi per poter installare MediaWiki: non è possibile installarlo se non si ha una versione di PHP superiore o uguale alla 5. Questo sia perché vengono utilizzate funzioni native solamente di PHP 5 sia perché oramai la versione 4 non è più quella ufficialmente supportata dal progetto PHP.net. Consigliamo inoltre di procurarvi e di tenere sott'occhio i dati necessari per la connessione al database quali: nome utente connessione database, password e nome database sul quale creare le tabelle di MediaWiki.
Una volta scaricato il pacchetto scompattiamolo e carichiamo tutto il suo contenuto sul nostro web server. L'installazione, come in tutti quasi tutte le applicazioni di questo genere, è automatica: basta semplicemente puntare il web browser all'indirizzo http://www.miosito.it/mediawiki/config/, un controllo verificherà la presenza dei requisiti minimi e il processo di installazione mostrerà il primo passaggio.
La prima cosa che ci viene chiesta di fare per procedere con l'installazione è quella di compilare i campi relativi al database. Purtroppo installazione è in lingua inglese ma comunque molto comprensibile.
Le uniche voci che potrebbero risultare un po' ostiche sono queste:
- Object caching: lasciate l'opzione di default, cioè No caching; questa funzione permette di sfruttare un sistema di cache per aumentare le prestazioni dell'applicazione, ma necessita di installazione e configurazione a parte, consigliato ai professionisti.
- E-mail features (global): permette di attivare l'utilizzo di e-mail per funzioni globali dell'applicazione, quali: invio password dimenticata per mail, mail tra gli utenti … . Consiglio di lasciare su Enabled.
- User-to-user e-mail: possibilità di permettere o meno l'invio tra gli utenti di email, io sono più propenso su evitare questa funzione quindi spunto Disabled.
- E-mail notification about changes: lasciate l'opzione di default (Enabled), permette di inviare email per le modifiche apportate all'utente.
- E-mail address authentication: opzione da impostare assolutamente su Enabled in quanto permette la verifica dell'indirizzo email di ogni utente iscritto per evitare iscrizioni fasulle.
Arriviamo alla sezione Database config, nella quale dobbiamo inserire i dati del nostro database, nel quale vogliamo creare le tabelle di MediaWiki. Come potete vedere dall'immagine la compilazione è semplice, i campi da compilare sono quelli relativi a nome database, utente database, password database; lasciando perdere le voci relative al Superuser account.
Nella categoria MySQL specific options dobbiamo solamente modificare la voce Database table prefix che individua il prefisso da dare alle tabelle: nel caso non avessimo altri MediaWiki installati sul nostro server possiamo benissimo chiamarle "mw_". Le altre opzioni se non siamo esperti lasciamole come sono, dato che si riferiscono a caratteristiche delle tabelle del database. Dopo che abbiamo compilato tutti i campi, clicchiamo su Install MediaWiki!.
Se tutto è andato come doveva ci comparirà la scritta in verde Installation successful! che ci confermerà il successo dell'installazione. La procedura di installazione ha creato un file, chiamato LocalSettings.php, nel quale sono state inserite tutte le opzioni e le voci che abbiamo modificato precedentemente. Questo file va spostato nella root di MediaWiki: se, come è comune, l'avete chiamata /mediawiki spostatelo (e non copiatelo!) dalla cartella /mediawiki/config/ a /mediawiki/.
Ora puntiamo il nostro browser su http://www.miosito.i/mediawiki/index.php e ci si aprirà una pagina molto simili a quella mostrata nell'immagine.
Impostazioni principali
MediaWiki, come già vi ho accennato all'inizio di questa guida, è uno strumento molto ma molto potente; capace di gestire enormi mole di dati e di utenti senza troppi problemi. Purtroppo però questa sue enorme potenzialità non è seguita da altrettanta semplicità nell'utilizzo. Pertanto nei paragrafi successivi vedremo come è possibile utilizzare al meglio MediaWiki e impostare le impostazioni a nostro piacimento. Gli strumenti utilizzati e utilizzabili su MediaWiki sono molteplici, parte dei quali necessitano di impostazioni primarie da effettuare per poter essere operativi.
Nelle pagine successive vedremo come abilitare l'upload dei file, come modificare i permessi e il logo principale dell'applicazione.
Upload di file
Questa funzione è molto utilizzata dagli utenti di MediaWiki (per inserire immagini, documenti …) ma di default è disattivata. Per attivarla dobbiamo prima di tutto assicurarci che all'interno della cartella root di MediaWiki sia presente la cartella /images e che questa abbia i permessi impostati sul valore 777. D'ora in avanti i file caricati verranno inseriti in questa cartella. Andiamo ora ad aprire il file di configurazione (LocalSettings.php) nel quale dovremmo andare a modificare la seguente voce:
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = false;
impostando il valore "false" a "true", in questo modo:
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
Non appena abbiamo salvato la modifica apportata potremo vedere una nuova voce nel menu di sinistra chiamata Carica un file".
Se vogliamo limitare le estensioni caricabili dobbiamo inserire una variabile ($wgFileExtensions) all'interno del file di configurazione - lo stesso che abbiamo appena modificato -. Possiamo inserire tale variabile subito dopo il codice che vi ho mostrato prima, ecco un esempio:
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
$wgFileExtensions = array('png', 'gif', 'jpg', 'jpeg', 'doc', 'xls', 'mpp', 'pdf');
come potete vedere con questo array abbiamo abilitato 8 estensioni di file. Mi preme sottolineare che esiste una blacklist dell'estensioni vietate su MediaWiki, pertanto alcuni tipi di file (come PHP, HTML, EXE…) non verranno mai caricati, anche se viene concesso il permesso tramite la variabile $wgFileExtensions.
Modificare i permessi
MediaWiki, dovendo gestire più utenti, ha dato la possibilità agli amministratori di impostare i permessi secondo le proprie esigenze. Purtroppo non ha creato un'interfaccia grafica che aiuta nella modifica dei permessi e bisogna fare tutto modificando il codice. Il tutto avviene tramite un array bi-dimensionale denominato: $wgGroupPermissions. Non spaventatevi del parolone "array bi-dimensionale" che ho utilizzato prima! Appena vi mostrerò qualche esempio capirete la logica immediatamente.
Queste righe di codice aggiuntive, le quali definiscono i permessi utente, vanno inserite sempre nel file di configurazione LocalSettings.php; potete inserire le righe aggiuntive anche alla fine, prima del TAG di chiusura (?>
), del file senza nessun problema.
Ecco il primo esempio:
$wgGroupPermissions['user']['edit'] = true;
Come potete intuire questa riga di codice permette (true) agli utenti registrati (user) di modificare (edit) le pagine. Ovviamente ci sono un insieme di opzioni che sono utilizzabili: per i gruppi invece di user si usa group, per la creazione delle pagine si usa createpage. Insomma le funzioni sono molte e potete trovarle tutte in una pagina della guida ufficiale, purtroppo solo in lingua inglese.
Vediamo un altro esempio:
$wgGroupPermissions['*']['read'] = false; $wgWhitelistRead = array("Main Page");
La prima riga di codice impedisce (false) a tutti gli utenti non registrati (*), cioè gli anonimi, di leggere le pagine (read). Le pagine negate agli utenti anonimi sono definite nella riga successiva; si tratta sempre di un array al quale vanno inserite le sezioni che volete vietare. Purtroppo però il nome delle pagine vanno inserite in lingua inglese, maggiori informazioni le trovate nella stessa pagina segnalata nel paragrafo precedente.
Infine esiste una pagina speciale di MediaWiki, tramite la quale è possibile cambiare il gruppo di appartenenza ai diversi utenti registrati. Ovviamente questa pagina è visibile solamente ai gruppi di utenti più alti, cioè: amministratori e burocrati. Per raggiungerla si hanno due possibilità: link diretto alla pagina Speciale:PermessiUtente; oppure nel menu di sinistra: Pagine Speciali / Pagine Speciali Riservate / Gestione dei permessi relativi agli utenti.
Tramite l'interfaccia utente, molto intuitiva , MediaWiki permette di effettuare degli spostamenti nei gruppi utente.
Modifica del logo principale
In alto a sinistra si trova com'è normale il logo principale. Attualmente ve ne è uno provvisorio che riporta una scritta che ci invita a modificare la variabile $wgLogo per modificarlo.
I passi per personalizzare il logo di MediaWiki sono assai semplici; apriamo sempre il nostro file di configurazione LocalSettings.php e scorriamo il codice sino all'ultima riga, rappresentata dal TAG di chiusura del PHP (?>
).
Aggiungiamo prima del TAG di chiusura il seguente codice:
# Variabile personalizzazione logo principale
$wgLogo = "/mediawiki/images/logo_principale.png";
La scrittura è molto semplice, la variabile infatti deve contenere come valore l'indirizzo URL dell'immagine. Tale indirizzo può essere assoluto, cioè si riferisce all'URL completo (esempio: http://www.miosito.it/mediawiki/images/logo_principale.png), oppure relativo alla root dell'applicazione, come quella che vedete nel codice sopra.
Le impostazioni predefinite del foglio di stile sono tali da obbligarci ad inserire un'immagine che non superi i 135 x 135 pixel di dimensione.
Per ora ci fermiamo qui: la prossima parte dell'articolo sarà dedicata alla gestione dei contenuti.
Contenuti
Le impostazioni principali, analizzate fino ad ora, ci hanno permesso di personalizzare il nostro MediaWiki ed ora siamo pronti per inserire i contenuti che sono l'anima di quest'applicazione.
Appena la pagina principale della nostra applicazione (http://www.miosito.it/mediawiki/index.php) è stata caricata ci accorgeremo, che i contenuti della varie sezioni già presenti (come: attualità, donazioni, informazioni sulla privacy e così via) sono vuoti e tutti da creare.
Iniziamo quindi a vedere come poter gestire i primi contenuti che ci vengono proposti, lavorando per gradi e prendendo confidenza con l'applicazione.
L'utilizzo di MediaWiki è molto semplice, tanto da renderlo il vero suo punto di forza. Ogni pagina può essere modificata a piacere da tutti gli utenti iscritti (ovviamente questo non vale per le pagine speciali o quelle bloccate) in base ai permessi impostati. Ogni pagina di MediaWiki presenta in alto alcune linguette, che variano in base ai permessi e al gruppo di appartenenza dell'utente; nel nostro caso siamo gli amministratori dell'applicazione e avremo pieno accesso a tutte le funzioni.
Come potete vedere dall'immagine le funzioni che svolgono le linguette sono molto intuitive, per modificare il contenuto della pagina non dovremo far altro che cliccare su Modifica. Non appena l'editor di modifica viene caricato noterete subito che il testo a volte è seguito e preceduto da strani caratteri, nulla di che non sono altro che gli stili di formattazione personalizzati di MediaWiki.
I Tag di Mediawiki
Chi naviga e partecipa attivamente a Wikipedia non avrà problemi in questa parte, chi è invece alle prime armi con MediaWiki avrà qualche giorno in cui si troverà spaesato ma poi in poco tempo imparerà ad utilizzare l'editor in maniera molto veloce.
Il markup di MediaWiki, così è denominata la formattazione, accetta qualche TAG HTML ma in linea generica sono consentiti solamente dei TAG proprietari. Per esempio: scrivere caratteri con enfasi è possibile tramite l'utilizzo degli apostrofi (non le virgolette!), vediamo un esempio:
''enfatizzato'' '''maggiormente enfatizzato''' '''''molto enfatizzato'''''
il risultato sarà:
enfatizzato
maggiormente enfatizzato
molto enfatizzato
A riguardo su Wikipedia è presente una tabella i cui contenuti riportano tutti i TAG utilizzabili, la potete trovare all'indirizzo http://it.wikipedia.org/wiki/Aiuto:Markup. Ovviamente vi consiglio caldamente di leggerla con attenzione per imparare più velocemente l'uso della formattazione.
Per facilitare la scrittura nell'editor di testo sono presenti anche dei pulsanti i quali servono per velocizzare la formattazione. Muovendovi con la freccia del mouse sopra ad ognuno di essi vi comparirà la descrizione dell'azione eseguita da tale pulsante. Per avere maggiori informazioni potete comunque visitare la pagina di aiuto dedicata su Wikipedia.
Salvare una pagina
Dopo che abbiamo effettuato le nostre modifiche alla, per esempio, pagina principale abbiamo tre opzioni visualizzate dai tre pulsanti in fondo all'editor: Salva Pagina, Visualizza Anteprima e Mostra Cambiamenti.
Inutile stare a spiegare le funzioni dei primi due, in quanto intuitive, il terzo invece ci serve quando dopo lunghe modifiche non sappiamo più cosa abbiamo effettivamente aggiunto o cancellato. Cliccando sul terzo pulsante si apriranno sopra al nostro editor due tabelle di comparazione mostrandoci il testo modificato da quello attualmente salvato nel database.
Una volta salvata la pagina la nostra modifica sarà effettiva e comparirà online. Tutte le modifiche apportate ad una determinata pagina sono visibili cliccando sulla linguetta Cronologia. Il database di MediaWiki memorizza tutte le modifiche apportate, permettendo così un controllo scrupoloso di tutto ciò che accade nella nostra applicazione. Volendo è possibile anche annullare le modifiche, una piccola legenda nella pagina della Cronologia ci illustra le semplici funzioni delle opzioni presenti.
Le altre funzioni di MediaWiki
Vediamo ora le funzioni delle altre linguette pubblicate sul Wiki, che, nella modalità amministratore, sono:
- voce = ci permette di tornare al contenuto della pagina in ogni momento;
- discussione = permette di creare una pagina in cui discutere dei contenuti della voce con gli altri utenti, vedremo successivamente come utilizzarla;
- modifica = possiamo apportare modifiche alla pagina;
- cronologia = ci vengono mostrate le modifiche in ordine cronologico;
- cancella = elimina la pagina e il suo contenuto;
- sposta = sposta la pagina nel senso che viene cambiato il titolo e quindi anche l'URL;
- blocca = blocca la pagina, vedremo successivamente come utilizzare la funzione;
- segui = inserisce la pagina tra i propri preferiti per seguire tutte le modifiche.
La maggior parte di queste voci non ha bisogno di ulteriori spiegazioni, ce ne sono alcune però che è bene chiarire.
La linguetta Discussione ci permette di creare una nuova pagina, relativa alla voce appartenente, nella quale gli utenti possono scrivere i loro commenti o proposte riguardante i contenuti. Funzione molto utile nel caso il contenuto di una voce non sia accettato da tutti e sia motivo di discussione tra gli utenti.
Arriviamo alla funzione Blocca tramite la quale possiamo impedire che una pagina venga modificata. Semplicemente compilando due form possiamo definire i parametri del blocco e determinare che tipo di utenti sono sensibili a tale divieto.
Ma dopo aver visto come modificare le pagine, come si possono creare della pagine nuove?
Creare nuove pagine può avvenire in due modi:
- Tramite URL: ci basta puntare il browser su una pagina che non esiste, esempio http://www.miosito.it/mediawiki/index.php/cane e ci verrà mostrato il seguente testo: "In questo momento la pagina richiesta è vuota. È possibile cercare questo titolo nelle altre pagine del sito oppure modificare la pagina ora." Cliccando sul link modificare la pagina ora potremo creare una pagina che avrà come titolo cane;
- Tramite Ricerca: effettuando una ricerca tramite l'apposito motore interno di MediaWiki possiamo verificare se una voce è già esistente nel database. In caso negativo ci viene proposto un link in rosso (il rosso indica pagine non esistenti all'interno del nostro portale) che ci porta direttamente all'editor per creare il contenuto! Questa è l'opzione che consiglio, dato che permette anche di verificare eventuali corrispondenze con quello che vogliamo creare!
In MediaWiki esistono anche le categorie, tramite le quali possiamo suddividere il contenuto della nostra applicazione. Prendiamo per esempio la pagina da noi creata, cioè quella che si riferisce al cane. Ora i cani fanno parte dei mammiferi e noi vogliamo inserirli all'interno di questa categoria.
Per farlo ci basta modificare la pagina del cane ed inserire alla fine della pagina questo codice:
[[Category:MAMMIFERI]]
Salvate il contenuto e vedrete che in fondo alla pagina abbiamo un nuovo link (in rosso) che ci porta alla creazione della categoria Mammiferi.
Seguendo il link si aprirà il nostro editor in cui possiamo inserire una descrizione completa della categoria "mammiferi". Una volta creata la categoria la pagina relativa ci mostrerà la descrizione scritta e in fondo la lista, in ordine alfabetico, delle voci presenti tra cui vi sarà quella del cane. D'ora in avanti quando vogliamo inserire una nuova voce in questa categoria (mammiferi) non dobbiamo far altro che inserire il TAG Category, seguito dal nome, come abbiamo visto sopra.