A Joomla! egy ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS) [1], amely saját modell-nézet-vezérlőből (MVC) [2], és különböző népszerű webes keretrendszerek alkalmazásából áll. 

Ezeknek a technológiáknak a segítségével könnyedén oszthatunk meg különböző típusú tartalmakat a világhálón és a helyi intraneten egyaránt. Maga a Joomla! objektum-orientált programozási (OOP) [3] szemléletet követ a fejlesztők által bevezetett szoftvertervezési minta alapján, mind ezt PHP nyelven. Az adatok tárolása MySQL-ben, vagy egyéb támogatott SQL-alapú adatbázis-kezelőben történik.

Maga a rendszer egy nagy közösség által fejlesztett moduláris termék, melynek a komponenseit úgy állították össze, hogy a legszélesebb körök igényeit is kielégítse, továbbá lerövidítse az üzembe helyezést, valamint a tartalom felvitelének idejét. Előnyei közé tartozik a moduláris felépítés, a magas szintű hozzáférés vezérlés, aminek a segítségével a felhasználók, illetve a felhasználói csoportokat tudunk hozzárendelni, egyes adminisztratív feladathoz, valamint az egyes tartalmak megtekintéséhez. Átlátható adminisztrációs felülete és ennek egyszerű kezelése a kevésbé hozzáértő felhasználó számára is átlátható. A Joomla! bővítményletöltő weboldalán több ezer bővítmény várja a felhasználókat.

Az alaprendszer számos beépített funkcióján kívül az alábbi fő szolgáltatásokat biztosítja a felhasználók számára:

  • Mobilnézetet támogató sablonrendszer
  • Kategorizálható tartalomkezelés beépített WYSIWYG-szerkesztővel
  • Natív többnyelvűség
  • Intelligens frissítéskezelő-rendszer
  • A tartalomkezeléstől elkülönülő menürendszer
  • Magas szintű hozzáférés- és felhasználókezelés
  • Beépített keresőbarát hivatkozások generálása UTF–8 karakterkódolás támogatásával
  • Tartalom verziókövetés
  • Weben keresztüli bővítménytelepítés

Jelenleg az interneten található weboldalak több mint 3%-án Joomla! tartalomkezelő fut.

A Joomla! CMS-rendszert az elmúlt években számos díjjal tüntették ki. 2005 óta szinte minden évben elnyerte valamelyik szervezet legjobb ingyenes és nyílt forrású tartalomkezelőjének a címét.

A Joomla! egyike a legszélesebb körben lefordított tartalomkezelőknek jelenleg 75 nyelv támogatásával, és ez a szám folyamatosan növekszik.

Joomla! számokban:

  • több mint 80 millióan töltötték le a megjelenés óta
  • több mint 10 ezer letölthető bővítmény és sablon várja a felhasználókat
  • több mint 2 millió weboldalon a Joomla! tartalomkezelő fut
  • több mint 900 önkéntes segít a fejlesztésben
  • több mint 550 ezer sornyi kód került megírásra

Az elinduláshoz:

 

[1] tartalomkezelő rendszer (CMS): Egy marketingkifejezés azokra a szoftverekre, amelyeket több személy együttműködésével készülő munkák koordinálására dolgoztak ki.

[2] modell-nézet-vezérlő (MVC): A szoftvertervezésben használatos szerkezeti minta. Összetett, sok adatot a felhasználó elé táró számítógépes alkalmazásokban gyakori fejlesztői kívánalom az adathoz (modell) és a felhasználói felülethez (nézet) tartozó dolgok szétválasztása, hogy a felhasználói felület ne befolyásolja az adatkezelést, és az adatok átszervezhetők legyenek a felhasználói felület változtatása nélkül. A modell-nézet-vezérlő ezt úgy éri el, hogy elkülöníti az adatok elérését és az üzleti logikát az adatok megjelenítésétől és a felhasználói interakciótól egy közbülső összetevő, a vezérlő bevezetésével.

[3] objektum-orientált programozási (OOP): Egy programozási módszertan. Ellentétben a korábbi programozási módszertanokkal, nem a műveletek megalkotása áll a középpontban, hanem az egymással kapcsolatban álló programegységek hierarchiájának megtervezése. Az objektumorientált gondolkodásmód lényegében a valós világ modellezésén alapul – például egy hétköznapi fogalom, a „kutya” felfogható egy osztály (a kutyák osztálya) tagjaként, annak egyik objektumaként. Minden kutya objektum rendelkezik a kutyákra jellemző tulajdonságokkal (például szőrszín, méret stb.) és cselekvési képességekkel (például futás, ugatás). Az objektumorientált programozásban fontos szerep jut az úgynevezett öröklődésnek, ami az osztályok egymásból való származtatását teszi lehetővé: a kutyák osztálya származhat az állatok osztályából, így megörökli az állatok tulajdonságait és képességeit, valamint kibővítheti vagy felülírhatja azokat a kutyák tulajdonságaival, képességeivel.