Joomla

**Joomla!**是一套自由、開放原始碼的內容管理系統，以 PHP 撰寫，用於發佈內容在全球資訊網與內部網路，通常被用來搭建商業網站、個人部落格、資訊管理系統、Web 服務等，還可以進行二次開發以擴充使用範圍。其功能包含可提高效能的頁面快取、RSS 饋送、頁面的可列印版本、新聞摘要、部落格、投票、網站搜尋、與語言國際化。Joomla! 是一套自由的開源軟體，使用 GPL 授權，任何人隨時都能下載 Joomla! 並立即使用它。

## 歷史

Joomla! 在 2006 年與 2011 年皆獲得 Packt 頒發的最佳開源內容管理系統獎。

第一個發行版本的 Joomla! (1.0.0) 發佈於 （頁面存檔備份，存於網際網路檔案館）2005 年 9 月 16 日。是由 Mambo 4.5.2.3 版加上安全性修正後所分支發展的版本。

Joomla! 1.5 (2007 年) 則以全新的 MVC 框架為基礎完全重寫程式碼，是當時少數同時相容 PHP4 與 5 的大型應用程式。。

Joomla! 1.6 (2011 年) 再度以 PHP 5 為基礎大幅度更改框架系統，加入 ACL 權限控管、更新機制、多層次分類並內建多國語系等等，替開發者提供了更強大的開發流程。

Joomla! 1.7 (2011 年) 開始抽出框架層，將 CMS 與核心框架分離，提供未來更多的更新空間。此時期的框架層開始支援 PHP CLI 命令列程式與 Daemon 守護進程編寫、並能夠獨立開發 Web 應用程式。

Joomla! 2.5 (2012 年) 開始支援多種資料庫，並提供更多核心功能的升級，使得 2.5 成為長期支援版 (LTS)，是 3.x 以前最穩定、使用數量最多的版本。

Joomla! 3.0 (2012 年) 引入 Twitter Bootstrap，並組成 JUX 小組，全面升級系統的前後台 UI 機制，除了提供大量開發前端工具外，搭配全新設計的 isis 後台，讓 Joomla! 成為世界第一套內建行動版後台的內容管理系統。

Joomla! 3.1 (2013 年) 加入標籤功能 (Tags) 進入到核心標準，除了內建文章外，第三方擴充套件也可以自由使用全新的標籤功能，並且移除了年久失修的程式碼高亮度外掛。

Joomla!Framework (2013 年) 全新的 Full-Stack Web 開發框架，擺脫 CMS 束縛，提供更多新標準如 HMVC, Lazy Loading, PSR coding standard, PHP namespace, Autoloader, RESTful 等等。

Joomla! 3.2 (2013 年) 加入文章版本控管與線上 App store 功能，現在可以從網站後台直接下載安裝擴充套件。除此之外 CMS 部分開始支援 PSR-0 ，開發者將能夠更輕易整合目前流行的函式庫。

Joomla! 3.4 (2015 年二月) 正式版發佈，提供更強大的後台 UI，並逐步將核心輕量化，部分核心元件能夠移除或者事後再安裝。

Joomla! 3.5 (2016 年三月) 開始支援 PHP7，提供自動更新通知，強化安全性，並進一步加強了許多後台 UX。

Joomla! 3.6 (2016 年七月) 進一步強化後台 UX，能夠更方便的管理選單與分類內容，也提供開發者更便利的表單 API。

Joomla! 3.7 (2017 年四月) 加入社群期待已久的自訂欄位功能，從核心提供 CCK 應用的基礎，也支援拖拉上傳安裝擴充建套件，自訂後台選單等等大量操作流程強化。

Joomla! 3.8 (2017 年九月) 提供數個核心改進，例如更現代化的路由系統、最先進的 Sodium 加密演算法，還有大量核心程式碼的升級。最重要的是開始加入未來 Joomla! 4 的相容中介層，提供第三方應用遷移的準備時間。

Joomla! 3.9 (2018 年十月) 發佈 3.9.0 版本，原本 3.9 是作為 4.x 與 3.x 版本的最後緩衝版本，但為了修改系統核心以支援 GDPR 規範，3.9 成為獨立的 Joomla! 版本。

 

## 發展路線

目前的 Joomla! 3.x 皆為 STS 短期支援，預計最近的一版 LTS 長期支援版會是 3.5。Joomla! 4 則預計將移除許多 PHP 5.2 時代的殘留程式碼，整合前後台 Application 為單一入口，並匯入 Composer 與 PSR 等目前流行的先進開發技術。而從 Joomla! 3.x 開始加入的 UCM (Unified Content Model) 統一內容模型將成為往後版本建立 CCK 應用的基礎。

Joomla! 從 2014 年 4 月 25 日停止分為 LTS、STS 長短期支援的模式，以求能夠更快的更新系統、加入新的技術，不受 LTS 的制約，自 Joomla!3.3 之後，每一個第二位版號都是穩定版本，並代表著系統的修改，生命盡頭在下一位版號發佈，如 3.4 版之後就終結 3.3 版生命週期 （頁面存檔備份，存於網際網路檔案館），第三位版號代表的是更新修正檔發佈，而第一位版號代表的是大幅度的調整更新。

3.8 至 3.9 是 3.x 系列的最後兩個版本，除了大量將原有程式碼升級到最現代化的水準之外，也開始提供相容未來 Joomla! 4 的中介層。

因為 GDPR 的原因，3.9 成為獨立的發布版本，4.x 版本的時間則向後推延。直到 2019/09/21 發佈的版本為 3.9.12，發佈原因為漏洞修補。

3.10 將成為 3.x 系列的最後一個版本，單純為 Joomla! 4.0 的降階版本，作為 3.x 過渡到 4.x 的緩衝，給予 Joomla! 網站管理員測試並升級 4.0 版本的過度。預期 3.9.10 將與 Joomla! 4.0 同時發佈。

Joomla! 4 是下一代 Jomla! 的版本，作為第一位版本號，Joomla! 核心與介面都將有大幅度的變動，主要特點是改用 Bootstrap4 、 Frameworks 2.0 並加入大量現代化前端技術如 Web component 、CSS Grid 與 Flex box 等，因此將放棄對舊型瀏覽器的支援度。另外核心程式碼也經過大量改寫，全面採用現代化 PHP 的開發標準，是自 1.6 以來最大的核心更動。且 Joomla! 4 的 php 版本最低要求為 PHP 7.0，這是因為 PHP 7.0 提供了更好的運作效能，且為了能夠繼續朝向未來的發展方向靠攏。Joomla! 4.0 最新的開發版本為 2019 年 8 月 19 日發佈的 4.0.0 Alpha 11，預期將於 2019 年末或者 2020 年初發佈 4.0 Bata，2020 下半年度 Joomla! 4.0 正式發表。

## Joomla! 名稱的由來

Joomla! 來自斯瓦希里語的英文串法，意思是「all together」或「as a whole」。

它不單純只代表內容管理系統，而是一個品牌名稱。除了 Joomla!CMS 以外，另外還有 Joomla!Platform 與 Joomla!Framework 等相關的開源 Web 框架專案正在進行中。

### 其他

在 2010 年 4 月，微軟簽署了 Joomla! 的貢獻者協定（Joomla! Contributor Agreement）。
提供 WinCache 這個針對在 IIS 下的 PHP 快取加速器。

## 架構

* 框架層

　
: Joomla!Platform 與 Joomla! Framework。以上兩者的框架層已支援 PSR-0, 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 年推出的 3.1 版為止，Joomla! 已支援 5 種資料庫，分別是:

* MySQL
* Oracle
* PostgreSQL
* SQL Server
* SQLite (目前僅框架層支援)

## 網站伺服器支援

目前 Joomla! 直接支援的伺服器軟體為 Apache 與 IIS，除此之外經過簡單組態也可以運行在 nginx 與 Lighttpd 上。

## 適用範例與實例

Joomla! 系統是一個通用性的網站系統，意指幾乎所有類型的網站都可以在這個系統的基礎下建立或發展，不論是個人使用的部落格、一般企業使用的網站到大型的社群網站或新聞網站，透過豐富而多元的擴充套件，都可以找到對應的功能。快速、多樣化而方便的擴充管理功能，減少建置的時間和成本，是最吸引使用者選擇這套系統的優點。 
使用 Joomla! 建置的知名企業不勝枚舉，在國外的網站市場中佔有一席之地，以下的網站都是使用 Joomla! 建置的：

* 古根漢美術館
* 宜家家居（科威特及阿拉伯）
* eBay
* Jaguar
* PlayShakespeare.com (Cultural) - http://www.playshakespeare.com （頁面存檔備份，存於網際網路檔案館）

 
中文市場的努力推廣下，也出現了許多知名企業或組織使用這套系統，作為網站建置的基礎，例如以下的實際案例：

* 國立公共資訊圖書館　http://publiclib.nlpi.edu.tw/ （頁面存檔備份，存於網際網路檔案館）
* 臺中市立梧棲國民中學 http://www.wcjs.tc.edu.tw/wuchi/ （頁面存檔備份，存於網際網路檔案館）
* 台灣母語日網站 - 澎湖縣政府教育處 http://www2.penghunative.phc.edu.tw/ （頁面存檔備份，存於網際網路檔案館）
* 國立台中特殊教育學校 http://www.tcspe.tc.edu.tw/（頁面存檔備份，存於網際網路檔案館）
* 國立高雄師大附中　http://www.nknush.kh.edu.tw/（頁面存檔備份，存於網際網路檔案館）
* 中興大學實驗林保育計畫　http://plant-nchu.org/（頁面存檔備份，存於網際網路檔案館）
* 幸福小棧　https://web.archive.org/web/20150601005156/http://happiness-edu.org/
* 中興大學會計系 - http://gia.nchu.edu.tw/ （頁面存檔備份，存於網際網路檔案館）
* 高雄醫學大學圖書資訊處 - http://olis.kmu.edu.tw/ （頁面存檔備份，存於網際網路檔案館）

## 書籍

### 英文書籍

* Marriott, Jennifer; Waring, Elin. The Official Joomla! Book. Addison-Wesley Professional. 2010. ISBN 0-321-70421-5.
* Dawson, Brandon; Canavan, Tom, Joomla Cash, Packt Publishing, 2007, ISBN 1847191401
* Graf, Hagen. Building Websites with Joomla. Packt Publishing. 2006. ISBN 1904811949.
* Graf, Hagen. Building Websites with Joomla 1.5 Beta 1. Packt Publishing. 2007. ISBN 1847192386.
* Graf, Hagen. Building Websites with Joomla 1.5 stable. Packt Publishing. 2008. ISBN 184719530X.
* LeBlanc, Joseph. Learning Joomla Extension Development: Creating Modules, Components, and Plugins with PHP. Packt Publishing. 2007. ISBN 1847191304.
* North, Barrie. The Joomla Admin Manual: A Step by Step Guide to a Successful Website. LuLu. 2007. ISBN 9780615146751.
* North, Barrie. Joomla A User's Guide: Building a Successful Joomla Powered Website. Prentice Hall PTR. 2007. ISBN 9780136135609.
* Rahmel, Dan. Beginning Joomla: From Novice to Professional. Apress. 2007. ISBN 1590598482.
* Rahmel, Dan. Professional Joomla. Wrox. 2007. ISBN 978-0-470-13394-1.

### 中文書籍

* 陳紅飛. PHP 内容管理系统：Joomla 快速建站指南。電子工業出版社. 2009. ISBN 978-7-121-07658-9.
* 歐展嘉. Joomla 1.5.x 網站架設寶典。松崗. 2007. ISBN 978-986-125-971-0.
* 王永福. Joomla 架站 123：圖解入門很簡單 (已釋放免費電子書版本). 碁峰. 2007. ISBN 978-986-181-268-7.
* 王永福 / 董羿廷. Joomla 1.5 架站 123 - 圖解入門很簡單（已釋出超過 300 頁免費電子書版本）. 碁峰. 2009. ISBN 978-986-181-772-9.
* 郭，順能。使用 Joomla 1.7 架站的 13 堂課。臺灣：碁峰. 2011 [2017-11-16]. ISBN978-986-276-328-5. （原始內容存檔於 2020-09-22）.
* 郭，順能. Joomla! 2.5 素人架站計畫。臺灣：碁峰. 2012 [2017-11-16]. ISBN978-986-276-563-0. （原始內容存檔於 2020-09-22）.
* 洪聖惠。讓我們架站趣 - Joomla!2.5. 上奇資訊. 2013. ISBN 978-986-257-684-7.
* 李，順能. Joomla! 素人架站計畫 Power Pack. 臺灣：碁峰. 2013: 328 [2017-11-16]. ISBN978-986-276-942-3. （原始內容存檔於 2020-09-22）.
* 李，順能. Joomla! 3.x 素人架站計畫。臺灣：碁峰. 2015: 688 [2017-11-16]. ISBN978-986-347-682-5. （原始內容存檔於 2020-09-22）.
* 李，順能。使用 J2Store 開設網路商店的 10 堂課：商品管理 x 物流 x 金流 x 客服一次搞定。臺灣：碁峰. 2018: 416 [2018-07-24]. ISBN978-986-476-848-6. （原始內容存檔於 2020-09-22）.

## 參照

## 相關

* 內容管理系統列表

## 外部連結

* https://www.joomla.org - Joomla! 官方網站（頁面存檔備份，存於網際網路檔案館）
* Joomla! Framework - Joomla@ 框架官網 （頁面存檔備份，存於網際網路檔案館）
* 台灣 Joomla! 社群 - Joomla! 中文官方網站 （頁面存檔備份，存於網際網路檔案館）
* 開放式目錄計劃中和 Joomla! 相關的內容
* 華燈初上 - Joomler 李順能 (郭順能) 建立的 Joomla! 資訊網站 （頁面存檔備份，存於網際網路檔案館）

**IRC**

* #joomla