(non è una guida - ce ne sono tante e complete - ma un orientamento per chi non conosce Joomla e intende usarlo in ambito scolastico)
Joomla è un framework CMS (Content management system - "Sistema di gestione dei contenuti") open source strutturato per la realizzazione rapida di siti web altamente interattivi e multi lingua, community online, portali, blog (e applicazioni eCommerce). Attualmente è, insieme a Worpress, il CMS più diffuso, con una vasta e attiva comunità anche italiana.
E' quindi molto adatto per siti scolastici dinamici e interattivi, da gestire on-line (eventualmente in forma cooperativa e collaborativa) e che prevedono anche più di un livello di accesso (ma non tanti).
PUNTI DI FORZA
- efficienza nel content management
- grande quantità di estensioni e di template (non sempre intercambiabili tra le varie versioni)
- comunità molto attiva e di grande supporto
- grafica moderna e accattivante
- integrabilità di componenti complessi (con tutti i limiti dei bridge)
- modularità e flessibilità nelle combinazioni del layout
- uso di base relativamente semplice per l'utente
- curva di apprendimento non troppo elevata per l'amministratore, che può lavorare on-line (l'implementazione è molto semplice; il lavoro più impegnativo è organizzare bene la visualizzazione dei blocchi in funzione dei menù)
- il ruolo dell'amministratore è concentrato soprattutto nella implementazione.
PUNTI CRITICI
- non è veloce nel caricamento;
- dispone di un sistema chiuso di livelli di accesso; solo nelle nuove versioni (1.7.x) si possono inserire livelli di accesso personalizzabili;
- la flessibilità grafica non è molto ampia e non dispone di un vero e proprio motore grafico (caratteristica poco significativa per l'uso scolastico);
- il core è limitato e l'implementazione necessita sempre di moduli di terze parti (non sempre accessibili e funzionanti);
- richiede aggiornamenti continui non autocontrollati al suo interno (come Drupal, Wordpress ed E107)
- le funzionalità di controllo (feedback) dell'amministratore non sono molto ampie;
- l'uso approfondito richiede continuo aggiornamento su versioni, moduli e plugin (che sono tantissimi).
Joomla ha una parte visibile agli utenti (frontend) e una parte amministrativa (backend). Il frontend è il risultato complesso di 3 fattori:
Il menù rappresenta la chave organizzativa e grafica del sito: ogni menù pertanto può avere aspetto e contenuti differenti.
In altre parole: ogni pagina visibile è la risultante di tante estensioni; ogni elemento può essere pubblicato o meno, può essere duplicato per mostrare diverse categorie. Ad ogni componente viene assegnato una posizione e una forma grafica nelle gabbia compositiva. Ogni menu può mostrare tutti, uno o un certo numero di componenti. Nella parte principale della pagina (di solito centrale) si pubblica il contenuto dei componenti più importanti.
VERSIONI
Esistono 2 versioni: la storica 1.0.x e la nuova 1.5.x. E' da preferire la versione 1.5.x, anche se al momento meno accessoriata e ancora in evoluzione, in quanto più accessibile e con un margine molto più ampio di sviluppo. Come tutte le versioni in evoluzione è necessario un frequente aggiornamento di sicurezza e non sempre i componenti sono del tutto compatibili. La gestione di Joomla richiede pazienza al webmaster; in ogni caso la versione è stabile, i componenti coprono tutte le principali esigenze. Ci sono molto componenti interattivi e dinamici che forse per un sito scolastici interessano poco e sono più adatti a siti commerciali.
AMBIENTE DI SVILUPPO
Per iniziare ad utilizzare Joomla è necessario disporre dell'ambiente web adatto:
Linux: il sistema operativo;
Apache: il Web server;
MySQL: il database management system (o database server);
PHP: il linguaggio di programmazione.
TEMPLATE
Ci sono molti template open souce disponibili, alcuni anche accessibili. Per la scuola è da prendere in considerazione lo sviluppo JoomlaFAP del dott. Alessandro Pasotti, che ha elaborato un template che supera la validazione xhtml e le direttive della legge Stanca. Fruisce anche di un forum tematico.
La versione base di Joomla contiene già diverse estensioni, più che sufficienti per un uso standard. In base alla complessità le estensioni sono distinte in: Componenti, moduli, plugin; estensioni specifiche riguardano template e lingue. Dettagli
COMPONENTI
Un componente è la più grande e complessa della estensioni. I componenti sono come mini-applicazioni che formano il corpo principale della pagina. Un'analogia che può rendere facile la comprensione è che Joomla è come un libro e tutti i componenti sono capitoli del libro. I componenti rendono possibile una notevole espansione delle sue capacità.
COMPONENTI BASE
MODULI
I Moduli sono delle "aree di contenuto" modulari che possono essere create oppure installate. Possono essere pubblicati nelle sezioni Front end (Sito) e Back end (Amministrazione) del sito. Sono usati per visualizzare varie caratteristiche informative interattive, ma possono anche essere dei form con dati da inserire come il Modulo Login,ad esempio. Possono essere posizionati in qualsiasi parte del sito. Continuando con l'analogia del libro, un modulo può essere visto come una nota di pagina o come un blocco di testa, o l'immagine di una pagina; ogni pagina può avere aspetto differente. I moduli possono essere assegnati a posizioni specifiche che vengono definite nel template e decise dall'amministratore.
MODULI CONTENUTI NEL CORE
1 Pathway> link orizzontale a cascata (sei in ...)
2 Banner > visualizza il componente banner
3 Footer> messaggio a piè pagina
4 Menu Principale > contenuto principale
5 Risorse > di solito visualizza un menù
6 Concetti chiave > di solito visualizza un menù
7 Menu utente > solito visualizza un menù
8 Pagine di esempio > di solito visualizza un menù
9 Statistiche > visualizza le statistiche
10 Risorse> di solito visualizza un menù
11 Login> visualizza il login
12 Archivio > visualizza i contenuti archiviati
13 Sezioni> visualizza macroraggruppamenti di articoli
14 Articoli correlati> visualizza contenuti impostati con lo stesso metatag
15 Wrapper> integra in un frame altri siti
16 Feed del sito > visualizza i feed del sito
17 Sondaggi> visualizza i sondaggi attivi
18 Chi è online > visualizza quanti e quali utenti registrati sono in linea
19 Pubblicità> visualizza il componente banner
20 Immagine casuale > visualizza una immagine tra quelle caricate
21 Syndication > visualizza i feed creati
22 Notizie flash > visualizza un articolo a caso
23 Ultime notizie> ultimi articoli pubblicati
24 I più letti> articoli più letti
25 Menu top > di solito visualizza un menù orizzontale in alto
26 Cerca> cerca una o più parole nel sito
PLUGIN
I plugin (nelle versioni precedenti chiamati mambot) sono essenzialmente pezzi di codice che quando vengono richiamati con vari parametri attivano un programma o effettuano una funzione specifica. Gli editor sono Plugin, ad esempio, che si eseguono quando c'è l'evento onGetEditorArea. A seconda di quale plugin sia installato può cambiare il comportamento di una funzione.
PLUGIN CONTENUTI NEL CORE
1 Authentication - Joomla > gestisce le autenticazioni degli utenti Joomla
2 Authentication - LDAP > Gestore autenticazione utente da un server LDAP
3 Authentication - OpenID > Gestore autenticazione utente con un OpenID
4 Authentication - GMail > Gestore autenticazione utente con un account gmail (uno solo è attivo)
5 Content - Page Navigation>Aggiunge la funzione Precedente & Successivo negli Articoli
6 Content - Rating > Aggiunge funzioni di voto e valutazione negli Articoli
7 Content - Email Cloaking > Copre tutti gli indirizzi e-mail dallo spambots
8 Content - Code Hightlighter (GeSHi)> Mostra il codice formattato nei contenuti utilizzando il motore evidenziatore GeSHi
9 Content - Load Module > Carica i moduli nelle posizioni indicate nei contenuti
10 Content - Pagebreak>Divide il contenuto di un articolo su più pagine con sottotitoli
11 Editor - No Editor> carica un editor testuale semplice
12 Editor - TinyMCE 2.0> carica TinyMCE editor HTML WYSIWYG javascript.
13 Editor - XStandard Lite 2.0 > carica XStandard editor standards-compliant WYSIWYG
14 Editor Button - Image > carica immagine
15 Editor Button - Pagebreak >divide un articolo in sottopagine
16 Editor Button - Readmore> divide la parte introduttiva di un articolo inserendo "leggi tutto"
17 Search - Content> cerca negli articoli
18 Search - Weblinks> cerca tra i link
19 Search - Contacts> cerca tra i contatti
20 Search - Categories > cerca tra le categorie
21 Search - Sections> cerca tra le sezioni
22 Search - Newsfeeds> cerca tra i newsfeed
23 System - SEF> Aggiunge supporto SEF ai link negli Articoli (consente la riscrittura degli URL grazie alla tecnica di URL Rewriting, con notevoli benefici in termini di posizionamento)
24 System - Debug> Fornisce informazioni di debug
25 System - Legacy > Permette il supporto per componenti creati per precedenti versioni di Joomla!
26 System - Cache > Permette page caching
27 System - Log > Fornisce Logging di Sistema (un Log è un file che contiene informazioni circa l'attività del sito web. Può essere utilizzato per vedere la storia dell'attività e per diagnosticare problemi sul sito)
28 System - Remember Me > Fornisce la funzione Ricordami!(questo permette al sito web di ricordare il vostro "username" e "password" così che automaticamente sarete loggati qunado ritornerete nel sito)
29 System - Backlink> fornisce il supporto per i link legacy di Joomla!1.0.x. (Redireziona gli URL vecchio stile e i link ai documenti ai target corretti di Joomla! 1.5)
30 User - Joomla > gestore predefinito Joomla! sincronizzazione utente
31 XML-RPC - Joomla > fornisce le API AML-RPC agli utenti Joomla
32 XML-RPC - Blogger API > abilita il protocollo Blogger XML-RPC API per il sito web Joomla!. Se attivo, permette ai Bloggers di aggiungere Articoli al sito da qualsiasi applicazione che supporta queste API.
TEMPLATE
Il programma viene scaricato con un template base; altri template devono essere scaricati o realizzati attraverso modifiche o creati ad hoc. Esistono molti tutorial. Il consiglio migliore è la modifica di pacchetti già esistenti, ma si richiedono competenze html e css.
LINGUA
Il CMS è in inglese e le varie traduzioni devono essere aggiunte. Il sito http://www.joomla.it/ pubblica versioni personalizzate con traduzione italiana inclusa.
Il CMS deve essere scaricato e installato (ci sono molti videotutorial, wiki, guide, forum). Comprende uno o pochi template (altri vanno aggiunti), la sola lingua inglese (o anche l'italiano se si scarica la versione personalizzata). Si consiglia vivamente di installare il pacchetto degli esempi che danno un esempio delle funzionalità possibili e consentono di fare esperienza molto più rapidamente. Si può arrivare ad un sito personale semplicemente modificando i dati e il template iniziale, ragionando per modifiche e/o sottrazione degli elementi esistenti.
INSTALLARE/DISINSTALLARE
Questa utilissima funzione permette di installare online tutti i componenti.
Ci sono due modi per installare un elemento:
- tramite l'invio di un file compresso:
inviare un file di pacchetto zippato che sarà automaticamente installato sul proprio server. 'Sfogliare' fino alla posizione dell'elemento nel proprio computer. Quindi cliccare l'icona 'Invia file & Installa'.
- tramite l'installazione da una cartella dove un componente è stato dezippato (deve essere la posizione assoluta).
- direttamente da un url.
Per disinstallare un elemento selezionare la casellina a fianco dell'elemento (o diversi elementi) che si vogliono disinstallare, quindi cliccare l'icona 'Cancella' nel menu in alto. Gli elementi sono completamente cancellati dal database e non possono essere recuperati dal Gestore del Cestino.
CESTINO
I menù e gli articoli, anche se cancellati, vengono depositati nel cestino, da cui è possibile recuperarli. Se si eliminano dal cestino sono cancellati definitivamente.
JoomlaPack: componente per il backup completo di siti realizzati con Joomla. Si tratta di un prodotto ricco di funzionalità e comunque di facile utilizzo anche per gli utenti più inesperti. Una volta installata l'estensione, si ha accesso ad un Pannello di Controllo da cui è possibile impostare le diverse opzioni di configurazione:
- Esclusione dal backup di determinati file, cartelle o tabelle del database;
- Una opzione per includere nel backup database diversi da quello di Joomla, utile se si sono installati script (come ad esempio un forum) che gestiscono i propri dati in database autonomi;
- Scelta della cartella di destinazione e del formato dell'archivio compresso contenente il risultato del backup;
- Scelta della tipologia di backup: completo o del solo database.
Per ripristinare un backup è sufficiente decomprimere il file compresso nella root del proprio sito Web e navigare con il browser all'indirizzo www.vostrosito.ext/installation/index.php: si avvierà una procedura guidata del tutto simile a quella dell'installazione standard di Joomla. Qualche indicazione
joomlaXplorer: è un componente aggiuntivo per Joomla che permette di gestire i file residenti sul server attraverso una comoda interfaccia Web, direttamente all'interno della sezione di amministrazione del CMS. Utilizzando questo componente è possibile eseguire operazioni come ad esempio modificare i file presenti sul server remoto, copiarli, eliminarli, rinominarli, effettuare l'upload ed il download, proprio come se fosse un client FTP, ma con qualche opzione in più e molta comodità aggiuntiva. Il componente è di grande utilità quando si vuole effettuare velocemente una piccola modifica ai file, come per esempio la modifica dei permessi (si consiglia l'usoad utenti esperti). Guida
Xmap: è un componente che visualizza la struttura del sito, chiamata sitemap, composta da sezioni, categorie e contenuto, all'interno di una pagina organizzata in modo gerarchico. L'obiettivo della sitemap è rendere evidente la struttura del sito ai visitatori ed una migliore indicizzazione da parte dei motori di ricerca.Infatti questo componente si occupa anche di creare un file XML, utilizzato per inviare la sitemap a Google, attraverso il servizio Google Webmaster Tools, in modo da poter migliorare la visibilità delle pagine del vostro sito. Guida
GALLERIE DI IMMAGINI
Esistono molte gallerie di immagini (una comparazione si trova qui):
Personalmente ho usato dall'inizio Phoca Gallery e mi trovo bene, anche se considero Zoom MediaGallery la migliore.
Visualizzatori di immagini Random
Tutte le gallerie di immagini hanno un modulo di immagine random. Anche Joomla ha un modulobase di immagini random. Moduli specifici sono:
DOWNLOAD
Ci sono diversi componenti come Docman, Remository(accessibile, unica vera alternativa a Docman), Phoca Download, Jooget 3.2.1 dowload manager.
Lo storico download di Joomla è Docman. Docman permette la creazione di gruppi di accesso più complessi di quelli predefiniti di Joomla; consente la definizione di livelli di accesso su ogni file e anche a livello di singolo utente; inoltre ammette l'invio lato front end, utilissimo per un servizio scolastico a più livelli, riservando il controllo di pubblicazione e approvazione a specifici gruppi o all'amministratore.
Il componente è un po' eccessivo dal punto di vista grafico, nel senso che contiene opzioni eccedenti il normale uso download per l'utente medio; tuttavia è molto efficiente come funzionamento ed è dotato di ulteriori componenti di integrazione con altri moduli e addons molto utili.
ULTERIORI COMPONENTI
com_docmanrss > permette la creazione di feed di singole categorie o di tutte le categorie
mjaztools_autopopulate > permette l'upload di più file contemporaneamente
MODULI E PLUGIN
DOCman Latest Downloads >visualizza gli ultimi download
Doclist > visualizza in modo più semplice una o tutte le categorie
Doclister > visualizza una o tutte le categorie secondo diversi parametri, è forse il modulo più indispensabile
mod_docman_catdown > visualizza una categoria di download
DOCman Standard Buttons > visualizza una complessa quantità di opzioni per ogni file
Notify For DOCman >permette la notifica all'amministratore di file immessi dagli utenti
E' possibile aggiungere o modificare un tema. Sono pubblicate diverse integrazioni con altri moduli.
FORUM
Cisono tre forum perfettamente integrati in Joomla:
Altri forum sono solamente "integrati" nel senso che sono integrati strutturalmente ma sono installati standalone, con un database a parte. Da qualche tempo è comunque possibile anche sincronizzare gli utenti (nel senso che Joomla utilizzagli utenti del forum) atttraverso un bridge.Un bridge sicuramente funzionante è JFusion. Si possono integrare diversi forum, tra cui molto usatisono SMF e il bellissimo Phpbb3.
SLIDE SHOW CON IMMAGINI E TESTO ABBINATO
Uno strumento di grande impatto grafico, più adatto a siti commerciali, utilizzabile come vetrina di attività/eventi complessi.
GavickPro News show CK3 presentazione automatica e manuale che abbina immagini a news
VISUALIZZAZIONE E SCROLLER NEWS
highlighter-gk1scroller orizzontale
news-show-gk3visualizza le news in home page
MODULI A PAGINA INTERA
Componente M2C: può capitare a volte di avere l'esigenza di visualizzare un modulo a pagina intera invece che in una posizione del template. Se si usa Joomla 1.0 ci viene incontro questo piccolo ma efficiente componente: M2C Una volta installato, il componente creerà in automatico un menu, al quale sarà associata una posizione fittizia (m2c), anch'essa creata al momento dell'istallazione. Pubblicando il menu e pubblicando qualsiasi modulo nella nuova posizione (mc2) questo sarà visualizzato a pagina intera, come se fosse un componente.
ARTICOLO NEI MODULI
Content Item Module >permette di fare una semplicissima cosa: visualizzare un contenuto come se fosse un modulo.
Place Here >visualizza un articolo come se fosse un modulo
mod_articleasmodulevisualizza un contenuto come se fosse un modulo
CONTATTI
La versione base dei contatti dovrebbe essere aggiornata a QContacs, derivato dal componente standard, rispetto al quale offre funzionalità aggiuntive e da cui può estrarre dati.
TABS
Componente molto diffuso in Joomla, di buon effetto interattivo che crea dei tabs link all'interno di sezioni del sito o di singoli articoli. Esistono varie versioni (componenti, moduli, plugin):
Tabs Manager GK1- GK2: si tratta di un componente rilasciato da gavick che consente con pochi click di creare svariati tab, dove inserire moduli o contenuti. Il componente dispone di ben 7 stili differenti e 2 moduli con effetti statici, effetti scroller orizzontali e verticali, effetti slideshow. Utile per mettere in evidenza articoli affini o per unire più moduli.
Featured Module Slider for J 1.5 >visualizza staticamente o scroller alcuni moduli (a scelta)
COMMENTI
mxcomment: funzionale ma complesso; è orientato nell'ottica del web 2.0
Joomla-comment: elegante e completo
jcomment: funzionale e ben amministrabile
yvcomment: molto simile al precedente
CHAT/SHOUTID
AJAX Shoutbox: da utilizzare come lavagna interattiva o microbox
ShoutMix, richiede iscrizione esterna
RSS READERS
MagpieRSS: lettore di feed
FAQ
CALENDARI
Eventlist +EventListQ Calendar module
jeventsha la forma grafica di un calendario e si può gestire bene dal fronted
GLOSSARIO
Molte sono le utilità che quotidianamente vengono sfornate per joomla. Attenzione alla compatibilità (tra loro e con la versione di joomla).
L'accessibilità è possibile se si rispettano i seguenti punti essenziali:
Template accessibile: il file index.php del template deve essere tableless e conforme alle direttive legge Stanca.
Htmlpurifier: modulo indispensabile in quanto filtra e trasforma in accessibili frammenti di codice non xhtml.
Access_key: modulo che rende accessibili da tastiera il link.
Editor di testo: un elemento critico è inoltre l'editor di testo che non sempre codifica in modo conforme UTF-8. E' preferibile come editor jce. Gli articoli vanno sempre ricontrollati e per il testo copiato (da word o dal web) utilizzare i comandi di filtraggio.
Moduli aggiuntivi accessibili:
template del sito (JoomlaFAP con qualche modifica)