Un content management system, in acronimo CMS, in italiano Sistema di Gestione dei Contenuti, è uno strumento software installato su un server web studiato per facilitare la gestione dei contenuti di siti web, svincolando l'amministratore da conoscenze tecniche di programmazione Web. Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti (un'enciclopedia on-line, un blog, un forum, una rivista ecc.) e CMS generici, che tendono a essere più flessibili per consentire la pubblicazione di diversi tipi di contenuti. Tecnicamente un CMS è un'applicazione lato server che si appoggia su un database
Joomla è un software gratuito e open source per la gestione dei contenuti (CMS) e per la pubblicazione di contenuti sul World Wide Web e intranet.
Joomla è scritto in PHP, e dalla versione 1.6 utilizza la programmazione orientata agli oggetti (OOP) e modelli di progettazione software, memorizza i dati in MySQL o (a partire dalla versione 2.5) database MS SQL, e include caratteristiche come il caching delle pagine, i feed RSS, le versioni stampabili delle pagine, le flash news, il blogging, la creazione di sondaggi, la ricerca e il supporto per siti
La pubblicazione di un sito sul Web può essere fatta in vari modi:
- presso il server Web di un provider che ne garantisce la visibilità nell'intero arco delle 24 ore; le pagine Web sono residenti su server che contengono anche siti Web di altri clienti (hosting);
- per esigenze maggiori si può mettere un server in housing: questa possibilità consiste nell'implementare un proprio server Web e affidarlo a un Provider, che lo mantiene connesso alla linea 24 ore al giorno;
- l'ultima soluzione è quella di avere un server all'interno della propria struttura connesso alla rete e accessibile dall'esterno; in questo caso la soluzione Intranet/Internet è completa e si possono dispensare informazioni sia all'interno, che all'esterno della realtà aziendale (web server privati).