Hagen Graf ci riprova: dopo la sua
guida all'uso di Mambo, ecco un testo, creato sulla falsariga del precedente, dedicato alla versione 1.5 di Joomla!, la riscrittura sulle note del pattern MVC dello spin-off di Mambo dell'australiana Miro, creato sul finire del 2005 da un gruppo di
dissidenti per niente soddisfatti delle politiche dell'azienda. Due anni sono stati necessari per avere quella che, a tutti gli effetti, è la prima versione di Joomla! (la 1.0 era una
clean-code version di Mambo 4.5.2), ma i risultati si vedono, eccome.
La 1.5 è un progetto di ampio respiro, che conserva la tradizionale facilità d'uso di Mambo/Joomla!, ma
sotto il cofano potrebbe creare più di una difficoltà a chi era abituato allo
script code di Mambo e della 1.0; il testo, è cresciuto di pari passo. Contrariamente a quanto si potrebbe pensare dal titolo (e dalla lettura del precedente tomo),
questo è un manuale che può interessare anche designer, sistemisti e sviluppatori, non solo i content manager; la maggior parte delle informazioni
utili sono però concentrate nei capitoli dal dodicesimo in poi, e nelle Appendici.
I primi tre capitoli scorrono via veloci: la struttura di un CMS e la storia di Joomla!, l'installazione e l'uso di
XAMPP, una prima occhiata al template del sito creato sono di certo argomenti interessanti, ma diranno ben poco al lettore evoluto. Ci si sofferma appena di più sul
quarto capitolo, che ci illustra come usare il back-end di amministrazione per cambiare la lingua (il team Joomla! 1.5 ha fatto grandi sforzi verso l'internazionalizzazione) ed il template grafico; e sul
quinto capitolo, ove troviamo una panoramica del back-end stesso.
Il tono del libro è sempre molto didascalico; noioso per alcuni, ma per i principianti è l'approccio migliore. I successivi sei capitoli sono dedicati, ognuno ad uno dei sei menu che costituiscono il back-end di amministrazione. Essi seguono la medesima struttura: per ogni voce di menu vengono elencate, pedissequamente, la funzione ed i parametri pertinenti. Un approccio che potrà annoiare l'utente esperto, ma sicuramente quello didatticamente più valido per il principiante. Di converso, sono sei capitoli avari di informazioni utili a chi Joomla! lo usa, e vorrebbe magari qualche dettaglio in più e qualche modalità d'uso più avanzata; fa eccezione il
decimo capitolo, con una descrizione delle funzionalità offerte dai moduli già disponibili nell'installazione.
Il
dodicesimo capitolo comincia a farsi più interessante, con la presentazione di tre utilissime estensioni: il forum
FireBoard, il formidabile gestore di documenti
DOCMan e la galleria di immagini basata su Flash
Exposé. Di tutti e tre, purtroppo, solo
Exposé è un componente Joomla! 1.5 – nativo, mentre gli altri vengono eseguiti in
legacy mode (una modalità di retro compatibilità a Joomla! 1.0, attivata tramite l'apposito plug-in nel back-end di amministrazione). Con l'eccezione di
FireBoard, le opzioni di configurazione sono spiegate con sufficiente dettaglio; del resto, padroneggiare
DOCMan ed
Exposé è operazione che richiede qualche settimana di impegno, mentre sulle opzioni di
FireBoard si potrebbe scrivere un libro a sé (e sarebbe operazione meritoria, giacché un manuale ufficiale non esiste). Il capitolo non manca di accennare ai problemi di gestione della configurazione e sicurezza derivanti da un modello di sviluppo aperto come quello delle estensioni di Joomla!
Il
tredicesimo capitolo illustra, in maniera certo non esaustiva ma sufficientemente dettagliata, i
template grafici di Joomla! 1.5, proponendo la creazione di un semplice template (da usare puramente a titolo di esempio). Rispetto alle versioni precedenti di Joomla! è da notare l'utilizzo degli
statement jdoc; in particolare, probabilmente consulterete più volte la tabella riassuntiva delle opzioni disponibili per il parametro
style, inclusa nel capitolo. Il
quattordicesimo capitolo ci parla dell'argomento
accessibilità mediante il
template Beez, incluso fra quelli di default di Joomla! e creato dalla stessa autrice del capitolo,
Angie Radtke.
Quest'ultima, di fronte al task di scrivere il capitolo ad una settimana dalla consegna del testo, ha condensato i contenuti del suo libro
Barrier-free Web Design. Dopo una introduzione ai principi di usabilità ed ai diversi tipi di disabilità - per qualcuno è illuminante venire a sapere che ne esistono di
situazionali: col portatile sulle ginocchia in un treno in corsa in una galleria, ognuno di noi sperimenta contemporaneamente disabilità visive, auditive e motorie - l'autrice collega i concetti precedentemente espressi (il layout
tableless, gli elementi
label e
fieldset per le form, ecc.) con la loro realizzazione in
Beez. E' di particolare chiarezza ed interesse la spiegazione di un'interessante novità della versione 1.5, i
template overwrite, che permettono di
sovrascrivere le impostazioni di default dei componenti e moduli di Joomla!.
Il
quindicesimo capitolo è quello dedicato agli sviluppatori: tramite un semplice esempio (una lista di modelli di automobili) viene illustrato l'intero processo di creazione di un componente per Joomla!, comprensivo del modulo di front-end, del back-end di amministrazione e dell'immancabile plug-in per il motore di ricerca (da sempre una delle
punte di diamante di Mambo/Joomla!). Tanto erano didascalici i primi undici capitoli, tanto questo ha ben poco di didattico, e si limita a poco di più che a commentare il
codice di esempio. Non è certo il testo dal quale imparerete la
Joomla! framework API from scratch, ma da un esempio completo si può sempre imparare, anche se naturalmente mancano caratteristiche avanzate come l'uso di view multiple e, cosa peggiore, il passaggio di parametri ad un modulo. Il capitolo è anche l'occasione per introdurre (brevemente) il
pattern MVC, che ha caratterizzato la completa riscrittura del codice di Joomla!.
Il
sedicesimo capitolo è una guida passo passo alla creazione di un immaginario sito di esempio per una
small company in hosting (potete
ammirarlo online), con una particolare enfasi sul template grafico e sulle classi CSS utilizzate. Il testo si chiude con un
diciassettesimo capitolo che presenta due template
bonus disponibili nel
codice di esempio: uno per una ONG ed uno per una business company, opera quest'ultimo di
Andy Miller, il creatore dei template di esempio del setup di Joomla! e fondatore di
RocketTheme. Nelle Appendici troviamo qualche utile informazione, fra cui una
checklist per la migrazione da una versione precedente alla 1.5.