La scissione da Mambo
Nel 2005 la comunità di sviluppatori di Mambo, uno dei CMS open source più diffusi, entra in conflitto con Miro, la società che ne detiene il marchio e la governance. La disputa riguarda il controllo del progetto: la fondazione creata da Miro limita l’autonomia degli sviluppatori volontari. Il nucleo principale del team di sviluppo decide di abbandonare Mambo e di fare un fork del codice sorgente. Nasce così Joomla, il cui nome deriva dalla parola swahili jumla, che significa “tutti insieme”.
Il fork non è solo tecnico ma soprattutto organizzativo: Joomla adotta fin dall’inizio un modello di governance comunitaria, con decisioni prese collettivamente e trasparenza nei processi. È una risposta diretta al problema che aveva causato la scissione.
Architettura e contenuti
Joomla è scritto in PHP e utilizza MySQL come database. L’architettura segue il pattern MVC (Model-View-Controller), che separa la logica applicativa dalla presentazione. I contenuti sono organizzati in articoli, raggruppati in categorie e sezioni, con un sistema di menu che definisce la navigazione del sito.
Il sistema di template permette di separare completamente il design dalla struttura dei contenuti: è possibile cambiare l’aspetto del sito senza modificare i dati. I template utilizzano posizioni modulo predefinite dove inserire blocchi di contenuto dinamico.
Estensioni e ACL
L’architettura a estensioni è il punto di forza che posiziona Joomla tra WordPress — orientato al blog e alla semplicità — e i framework di sviluppo puri. Le estensioni si dividono in componenti (applicazioni complete), moduli (blocchi visuali), plugin (intercettori di eventi) e template. Questa tassonomia permette di estendere il CMS in modo strutturato, senza modificare il nucleo.
Il sistema di ACL (Access Control List) gestisce i permessi degli utenti a livello granulare: chi può creare contenuti, chi può pubblicarli, chi può amministrare sezioni specifiche. Per siti con redazioni multiple o workflow editoriali complessi, questa funzionalità è essenziale.
Una posizione intermedia
Joomla occupa una nicchia precisa nell’ecosistema dei CMS: più strutturato di WordPress per la gestione di siti complessi, ma più accessibile di un framework di sviluppo come Zend o Symfony. La comunità è il motore del progetto, producendo documentazione, estensioni e traduzioni in decine di lingue. Per organizzazioni che necessitano di un portale articolato senza investire in sviluppo custom, Joomla rappresenta un punto di equilibrio tra flessibilità e facilità d’uso.
Link: joomla.org
