Realizzare un sito web utilizzando Joomla è una operazione delicata, e richiede un bagaglio di conoscenze non indifferente. Un piccolo errore di configurazione può significare una scarsa ottimizzazione per i motori di ricerca, un modulo realizzato in modo approssimativo potrebbe invalidare il codice XHTML dell'intero sito, oppure potrebbe non interfacciarsi in modo corretto con il resto del CMS. Per evitare l'insorgere di situazioni spiacevoli, le persone impegnate nella progettazione e nella realizzazione del sito Web devono comunicare ed avere ben chiare in mente le necessità e i compiti che ognuno deve assolvere. Creare un portale di dimensioni medio-grandi comporta la definizione di vari livelli di competenza, che si distribuiscono su tre principali (tipologie di) figure: il Web Master, il Web Designer, il Web Developer.
Definizione dei ruoli
Il Web Master si occupa di amministrare il sito, gestendo sia operazioni di routine sia di manutenzione straordinaria, è la figura centrale verso cui si rivolge un utente in cerca di aiuto, è il principale responsabile del sito.
Il Web Designer si occupa dell'esperienza utente (user experience) del sito, ovvero della grafica e delle interazioni. L'interfaccia grafica non è solo una "veste" che viene associata al sito, ma definisce il modo in cui l'utente percepisce i servizi del sito e vi entra in relazione.
Il Web Developer è uno sviluppatore esperto di tecnologie Web come PHP, Ajax e Javascript. Egli si occupa della realizzazione e gestione delle estensioni che saranno parte integrante del sito.
Mentre il Web Master è una figura che necessariamente si occupa del sito Web per tutto il suo ciclo di vita (progettazione, implementazione, gestione, aggiornamento), il Web Designer ed il Web Developer solitamente, soprattutto per progetti medio-piccoli, operano come freelance. Designer e sviluppatori sono indispensabili nella fase di realizzazione del sito, poi vengono coinvolti per la risoluzione di problemi, aggiornamenti o restyling. In progetti di grandi dimensioni essi collaborano in modo continuo alla manutenzione ottimale del sito.
Più le dimensioni del sito si fanno piccole più è probabile che queste tre figure siano impersonate da un solo individuo.
Il Web Master in Joomla
Il Web Master è il principale responsabile del sito Web. Parlando strettamente di Joomla!, è molto importante che egli abbia una conoscenza approfondita del funzionamento del CMS, i suoi compiti principali sono::
- Gestire il contenuto del sito: la definizione dei contenuti del CMS è compito di un ristretto numero di persone. Il Web Master, può delegare il controllo agli editori, ma è lui il responsabile finale del sito. È suo il controllo su quelle che sono le informazioni presentate e le eventuali inserzioni pubblicitarie.
- Mantenere il sistema sicuro: innanzitutto implementando le basilari regole che permettono di proteggere una installazione base di Joomla, quindi aggiornando con costanza il pacchetto e le estensioni installate - di norma ogni aggiornamento corregge i problemi ed i bugs riscontrati dalla community. È possibile trovare sul sito ufficiale di Joomla! la lista degli aggiornamenti di sicurezza introdotti in ciascuna release, per i branch 1.0.x e 1.5.x. È importante tenere traccia delle vulnerabilità riscontrate nelle estensioni installate: potete trovare una lista centralizzata nella apposita sezione del sito joomla.org.
- Effettuare regolari backup del sito: sia dei file, tramite FTP, sia del database. Per automatizzare questa operazione è conveniente utilizzare un componente aggiuntivo come ad esempio JoomlaPack oppure uno degli altri componenti dedicati al backup elencati nel repository ufficiale.
- Incrementare la Search Engine Optimization (SEO): definendo i metadata, attivando i SEF (Search Engine Friendly) URL, possibilmente usando il mod_rewrite fornito da Apache. Inoltre, utilizzando un componente ad-hoc che permetta una migliore indicizzazione, prendendosi cura di molti particolari. Potete trovare una lista corredata di tabella comparativa sul sito alledia.com. Per finire, utilizzare una sitemap che possa migliorare l'indicizzazione del sito.
- Effettuare una ottimizzazione del funzionamento di Joomla e quella del database
Come si vede i compiti del Web Master sono una serie eterogenea di task, e la figura che ricopre questo ruolo deve essere esperto (o deve diventarlo) di questi diversi aspetti.
Il Web Designer in Joomla
Il Web Designer è la persona (o il gruppo di persone) responsabile dell'aspetto (il "look-and-feel") del sito. Joomla si basa su un sistema di templating che permette di cambiare in modo semplice l'interfaccia che si vuole fornire all'utente. Online vi sono numerosissimi template, gratuiti o commerciali a seconda del livello di qualità desiderato. La differenza che si trova tra un template gratuito ed un template commerciale è molto spesso eclatante, segno che realizzare un buon aspetto grafico per Joomla richiede una certa dedizione ed un'ottima conoscenza del funzionamento del CMS.
Spesso la differenza nei template commerciali la fanno le estensioni proprietarie sviluppate a supporto dell'interfaccia grafica. Ad esempio i template realizzati da YOOtheme includono una libreria di estensioni denominata YOOtools, basata su Mootools, che con moduli come Carousel o Slider realizzano una interazione sito-utente straordinaria.
In ogni caso anche i template di terze parti devono essere personalizzati, per rispecchiare il branding che si vuole comunicare. In questa operazione il designer rimane una pedina importante, anche se può sembrare possa essere eliminato dal ciclo di sviluppo, esso è comunque una pedina importante.
In definitiva il Web Designer è la persona che si occupa della modifica/creazione del template, una combinazione di codice XHTML, PHP, CSS, Javascript ed immagini che producono il risultato finale visualizzato nel browser dell'utente. I suoi compiti sono:
- Creare/modificare il template per fornire l'interfaccia grafica desiderata, generando codice XHTML e CSS valido secondo le direttive W3C
- Assicurarsi che il template realizzato sia ottimizzato per i motori di ricerca: diversi fattori concorrono alla ottimizzazione SEO del codice XHTML: si va dall'avere un solo tag <h1>, all'inserire il prima possibile il testo all'interno della pagina, passando per l'uso di codice il più semantico possibile.
- Garantire che il sito sia accessibile ed usabile : il fatto che il codice generato sia validato dalle specifiche W3C ovviamente non significa che il sito sia accessibile, anche se è un passo avanti. L'usabilità è poi verificata da una serie di tecniche come MiLE.
- Comunicare ed interagire con il Web Developer per definire l'interfaccia grafica delle estensioni progettate.
Il Web Developer in Joomla
Il Web Developer si occupa della realizzazione di estensioni di Joomla che implementano funzionalità aggiuntive. Il grandissimo numero di estensioni registrate sul repository ufficiale mostra quanto sia possibile estendere Joomla, per realizzare praticamente ogni funzione immaginabile.
Ovviamente data la grande popolarità di Joomla è molto probabile che una funzionalità da integrare all'interno del sito sia già disponibile per il download, spesso sotto licenza GPL. Tuttavia è possibile che per il vostro progetto abbiate delle necessità particolari, quindi l'unico modo per fornirle è sviluppare una nuova estensione, oppure modificarne una già esistente.
Grazie al nuovo framework MVC (Model View Controller) introdotto con la versione 1.5, realizzare una estensione prevede la separazione della logica applicativa (il "codice") dalla definizione della sua presentazione: in questo modo il Web Developer può occuparsi delle funzionalità fornite dal componente che sviluppa, mentre i dettagli della presentazione saranno definiti insieme al Web Designer. Nelle versioni 1.0.x di Joomla!, il metodo di progettazione non prevedeva la separazione di logica e presentazione, rendendo lo sviluppo di estensioni complesse un misto di codice HTML e PHP così da rendere molto complicato modificare il codice presentato nel browser dell'utente.
I compiti del Web Developer sono quindi:
- Realizzare le estensioni che permettono al sito Web di fornire le funzionalità definite in fase di progetto.
- Interfacciarsi con il Web Designer per definire la View dei componenti sviluppati, cioè qual'è l'output che essi devono fornire.
Conclusioni
Come è evidente, i tre principali attori coinvolti nella realizzazione di un sito basato su CMS Joomla hanno diversi compiti ed obiettivi, ma per realizzare un progetto ben funzionante e di successo è necessario che essi collaborino ed interagiscano, mettendo a punto ogni task del progetto, propro come se fosse un grande puzzle.