# Mambo (CMS)

Mambo è il nome un software GNU/GPL, pensato per semplificare la creazione e la gestione di siti web interattivi, fondato sul linguaggio php con database mysql. In pratica, una volta installato il software, ogni operazione può essere gestita anche da chi non conosce tali linguaggi. Mambo è stato a lungo considerato il migliore e più completo sistema gratuito di gestione dei contenuti (in inglese Content Management System, abbreviato in CMS)
. Dopo il rilascio della versione 4.6.5 nel 2008, il progetto ha iniziato a sgretolarsi, per la migrazione degli sviluppatori ad altri progetti e per l'emergere di nuovi sistemi, fra cui Joomla, considerato da molti come erede di Mambo, in quanto in gran parte compatibile con quest'ultimo. Dal 2013 il progetto risulta chiuso e la pagina ufficiale Mambo foundation è priva di contenuti. Un annuncio della fine di Mambo è pubblicato nel 2013 dal sito italiano di supporto agli utilizzatori.

## Componenti

I componenti sono elementi aggiuntivi attraverso i quali si possono aggiungere al sistema Mambo ulteriori funzionalità per rispondere a specifiche esigenze funzionali (ad esempio un sistema di distribuzione di file scaricabili dal sito, una gallery, un guestbook, funzioni di wiki, newsletter...).
Tutte le funzioni aggiuntive vengono installate mediante una procedura automatica gestibile nella sezione di amministrazione del sito. A partire dalla versione 4.6 è prevista l'esistenza di un unico, universale sistema di installazione che riconosce automaticamente i vari tipi di plugin che si tentano di installare.
I componenti e gli altri plugin sono normalmente distribuiti all'interno di un singolo archivio zip o rar contenente tutti gli elementi necessari al loro funzionamento e le istruzioni per l'installer di Mambo necessarie alla loro corretta installazione automatica.

## Moduli

I moduli sono elementi usati per mostrare elementi di informazione o funzionalità interattive all'interno di un sito Mambo. Si possono considerare come finestre attraverso le quali si possono visualizzare alcune informazioni che sono contenute in categorie, sezioni o componenti che si trovano all'interno del sito (ma anche in certi casi dall'esterno), in pratica una sorta di anteprima di queste categorie, sezioni e componenti.
I moduli recuperano le informazioni, o parti di informazioni definite attraverso parametri, e le visualizzano nella zona di loro competenza; ad esempio il modulo "ultime notizie" recupera di default i soli titoli degli articoli per visualizzarli nel sito come lista, dando la possibilità di anticipare al visitatore ciò che si trova all'interno del sito stesso e quali sono le notizie più recenti. All'utente viene data la possibilità di scegliere quali moduli visualizzare e dove collocarli all'interno del layout della pagina, in accordo con un template (v. oltre).
Agendo direttamente nella Gestione Moduli (Module Manager) possono essere creati semplici moduli in HTML. Nel caso di script più complessi, essi sono in genere preparati per essere installati con le apposite procedure. Esistono moltissimi moduli di grande utilità già programmati e pronti all'uso, messi gratuitamente a disposizione su http://mambo-code.org.
Fra i moduli standard si possono segnalare il modulo "main menu" (il menu principale), il modulo di "login" (per l'accesso riservato degli utenti), quello per i sondaggi ("poll") e quello per la distribuzione dei feed RSS ("syndicate").

## Template

Un template è un documento HTML/CSS che contiene il codice necessario a guidare il sistema Mambo e ad impaginare i contenuti: ad esempio contiene il codice che permette il caricamento dei vari moduli in posizioni predefinite, codice per caricare il cosiddetto mainbody (la zona in cui vengono presentati i contenuti principali generati da Mambo o dai componenti aggiuntivi) e così via. Per ottenere l'aspetto desiderato molti template contengono anche una serie di immagini (per gli sfondi, i bordi eccetera).

## Mambot

I mambot sono piccoli pezzi di codice che, quando richiamati, attivano un programma, uno script o eseguono una specifica funzione. Spesso agiscono in background nell'intero sito. Possono essere semplicissimi come la funzione che sostituisce un certo testo digitato con una funzione codificata (ad esempio posizionare una immagine precaricata impaginandola in un testo o spezzare in due pagine il contenuto di un lungo articolo), ma possono anche avere effetti molto più evidenti, come richiamare, all'interno delle finestre dei form per l'inserimento dei contenuti, le funzionalità di sofisticati editor di testo in modalità WYSIWYG elaborati da terze parti. Possono inoltre permettere collegamenti tra diversi componenti; una galleria di immagini, ad esempio, può avere un mambot collegato che renda la descrizione delle immagini disponibile alle funzioni di ricerca sul sito.
Esistono mambot per inserire funzioni Flash, per collegare automaticamente un glossario alle parole contenute nei testi degli articoli, per generare miniature delle immagini inserite nei testi in modo che alla selezione appaia una finestra con l'immagine a maggiore risoluzione, e molti altri.