Joomla 是一套自由、開放原始碼的內容管理系統，以 PHP 撰寫，用於釋出內容在全球資訊網與內部網，通常被用來搭建商業網站、個人部落格、資訊管理系統、Web 服務等，還可以進行二次開發以擴充使用範圍。其功能包含可提高效能的頁面快取、RSS 饋送、頁面的可列印版本、新聞摘要、部落格、投票、網站搜尋、與語言國際化。Joomla 是一套自由的開源軟體，使用 GPL 授權，任何人隨時都能下載 Joomla 並立即使用它。 歷史 Joomla 在 2006 年與 2011 年皆獲得 Packt 頒發的最佳開源內容管理系統獎。 第一個發行版本的 Joomla 100 釋出於 2005 年 9 月 16 日。是由 Mambo 4523 版加上安全性修正後所分支發展的版本。 Joomla 15 2007 年 則以全新的 MVC 框架為基礎完全重寫程式碼，是當時少數同時相容 PHP4 與 5 的大型應用程式。。 Joomla 16 2011 年 再度以 PHP 5 為基礎大幅度更改框架系統，加入 ACL 許可權控管、更新機制、多層次分類並內建多國語系等等，替開發者提供了更強大的開發流程。 Joomla 17 2011 年 開始抽出框架層，將 CMS 與核心框架分離，提供未來更多的更新空間。此時期的框架層開始支援 PHP CLI 命令列程式與 Daemon 守護程序編寫、並能夠獨立開發 Web 應用程式。 Joomla 25 2012 年 開始支援多種資料庫，並提供更多核心功能的升級，使得 25 成為長期支援版 LTS，是 3x 以前最穩定、使用數量最多的版本。 Joomla 30 2012 年 引入 Twitter Bootstrap，並組成 JUX 小組，全面升級系統的前後臺 UI 機制，除了提供大量開發前端工具外，搭配全新設計的 isis 後臺，讓 Joomla 成為世界第一套內建行動版後臺的內容管理系統。 Joomla 31 2013 年 加入標籤功能 Tags 進入到核心標準，除了內建文章外，第三方擴充套件也可以自由使用全新的標籤功能，並且移除了年久失修的程式碼高亮度外掛。 JoomlaFramework 2013 年 全新的 FullStack Web 開發框架，擺脫 CMS 束縛，提供更多新標準如 HMVCJoomlaFramework Controller Usage Lazy Loading PSR coding standard PHP namespace Autoloader RESTful 等等。 Joomla 32 2013 年 加入文章版本控管與線上 App store 功能，現在可以從網站後臺直接下載安裝擴充套件。除此之外 CMS 部分開始支援 PSR0 ，開發者將能夠更輕易整合目前流行的函式庫。 Joomla 34 2015 年二月 正式版釋出，提供更強大的後臺 UI，並逐步將核心輕量化，部分核心元件能夠移除或者事後再安裝。 Joomla 35 2016 年三月 開始支援 PHP7，提供自動更新通知，強化安全性，並進一步加強了許多後臺 UX。 Joomla 36 2016 年七月 進一步強化後臺 UX，能夠更方便的管理選單與分類內容，也提供開發者更便利的表單 API。 Joomla 37 2017 年四月 加入社群期待已久的自訂欄位功能，從核心提供 CCK 應用的基礎，也支援拖拉上傳安裝擴充建套件，自訂後臺選單等等大量操作流程強化。 Joomla 38 2017 年九月 提供數個核心改進，例如更現代化的路由系統、最先進的 Sodium 加密演演算法，還有大量核心程式碼的升級。最重要的是開始加入未來 Joomla 4 的相容中介層，提供第三方應用遷移的準備時間。 Joomla 39 2018 年十月 釋出 390 版本，原本 39 是作為 4x 與 3x 版本的最後緩衝版本，但為了修改系統核心以支援 GDPR 規範，39 成為獨立的 Joomla 版本。 發展路線 目前的 Joomla 3x 皆為 STS 短期支援，預計最近的一版 LTS 長期支援版會是 35。Joomla 4 則預計將移除許多 PHP 52 時代的殘留程式碼，整合前後臺 Application 為單一入口，並匯入 Composer 與 PSR 等目前流行的先進開發技術。而從 Joomla 3x 開始加入的 UCM Unified Content Model 統一內容模型將成為往後版本建立 CCK 應用的基礎。 Joomla 從 2014 年 4 月 25 日停止分為 LTS、STS 長短期支援的模式，以求能夠更快的更新系統、加入新的技術，不受 LTS 的制約，自 Joomla33 之後，每一個第二位版號都是穩定版本，並代表著系統的修改，生命盡頭在下一位版號釋出，如 34 版之後就終結 33 版生命週期 ，第三位版號代表的是更新修正檔釋出，而第一位版號代表的是大幅度的調整更新。 38 至 39 是 3x 系列的最後兩個版本，除了大量將原有程式碼升級到最現代化的水準之外，也開始提供相容未來 Joomla 4 的中介層。 因為 GDPR 的原因，39 成為獨立的發布版本，4x 版本的時間則向後推延。直到 20190921 釋出的版本為 3912，釋出原因為漏洞修補。 310 將成為 3x 系列的最後一個版本，單純為 Joomla 40 的降階版本，作為 3x 過渡到 4x 的緩衝，給予 Joomla 網站管理員測試並升級 40 版本的過度。預期 3910 將與 Joomla 40 同時釋出。 Joomla 4 是下一代 Jomla 的版本，作為第一位版本號，Joomla 核心與介面都將有大幅度的變動，主要特點是改用 Bootstrap4 、 Frameworks 20 並加入大量現代化前端技術如 Web component 、CSS Grid 與 Flex box 等，因此將放棄對舊型瀏覽器的支援度。另外核心程式碼也經過大量改寫，全面採用現代化 PHP 的開發標準，是自 16 以來最大的核心更動。且 Joomla 4 的 php 版本最低要求為 PHP 70，這是因為 PHP 70 提供了更好的運作效能，且為了能夠繼續朝向未來的發展方向靠攏。Joomla 40 最新的開發版本為 2019 年 8 月 19 日釋出的 400 Alpha 11，預期將於 2019 年末或者 2020 年初釋出 40 Bata，2020 下半年度 Joomla 40 正式發表。 Joomla 名稱的由來 Joomla 來自斯瓦希里語的英文串法，意思是「all together」或「as a whole」。 它不單純只代表內容管理系統，而是一個品牌名稱。除了 JoomlaCMS 以外，另外還有 JoomlaPlatform 與 JoomlaFramework 等相關的開源 Web 框架專案正在進行中。 其他 在 2010 年 4 月，微軟簽署了 Joomla 的貢獻者協議（Joomla Contributor Agreement）。 提供 WinCache 這個針對在 IIS 下的 PHP 快取加速器。 架構 框架層 JoomlaPlatform 與 Joomla Framework。以上兩者的框架層已支援 PSR0 HMVC RESTful 等現代標準。而 CMS 因為歷史包袱僅支援 Legacy 模式的功能，暫時還無法發揮框架層的全部特色。 函式庫 PHPMailer Simple Pie 等等 應用層 前後臺各自為延伸自框架層的實體應用程式 Application，並共用資料表。 擴充套件 Extensions 分為元件 Component、模組 Module 與外掛 Plugin 三種型式，核心功能如內容管理、媒體管理、選單系統皆是擴充套件的一環。每個元件皆採 MVC 架構開發，並由應用層的 Router 依據網址的約定原則指向到不同的元件管理頁面。 顯示層 支援 HTML XML JSON Feed 等多種形式的顯示格式，用來面對不同型別的應用。 模板 採用自製的模板引擎，並提供元件與模組的覆蓋輸出，可以在模板中藉由增加程式檔案的方式輕易取代內建顯示畫面，而無須 Hack 原始碼。 前端工具 整合 MooTools jQuery jQuery UI LESS 與 IcoMoon 等前端輔助框架或工具，方便設計師設計功能強大的 UI 資料庫支援 至 2013 年推出的 31 版為止，Joomla 已支援 5 種資料庫，分別是 MySQL Oracle PostgreSQL SQL Server SQLite 目前僅框架層支援 網站伺服器支援 目前 Joomla 直接支援的伺服器軟體為 Apache 與 IIS，除此之外經過簡單配置也可以執行在 nginx 與 Lighttpd 上。 書籍 英文書籍 中文書籍 參照 相關 內容管理系統列表 外部連結 httpswwwjoomlaorg Joomla 官方網站 Joomla Framework Joomla 框架官網 臺灣 Joomla 社群 Joomla 中文官方網站 華燈初上 Joomler 李順能 郭順能 建立的 Joomla 資訊網站 IRC joomla Category 內容管理系統 CategoryPHP