Joomla!
Joomla!是一套自由、開放原始碼的內容管理系統,以PHP撰寫,用於發佈內容在万维网與内部网,通常被用來搭建商業網站、個人部落格、資訊管理系統、Web 服務等,還可以進行二次開發以擴充使用範圍。其功能包含可提高效能的頁面快取、RSS饋送、頁面的可列印版本、新聞摘要、部落格、投票、網站搜尋、與語言國際化。Joomla!是一套自由的開源軟體,使用GPL授權,任何人隨時都能下載 Joomla! 並立即使用它。
開發者 | Open Source Matters |
---|---|
当前版本 |
|
源代码库 | https://github.com/joomla/joomla-cms |
编程语言 | PHP、JavaScript |
操作系统 | Microsoft Windows、类Unix系统 |
文件大小 | 26.3 MB (壓縮) 68.3 MB (解壓縮) |
类型 | 内容管理系统 |
许可协议 | GPLv2+ |
网站 | https://www.joomla.org |
歷史
Joomla!在2006年與2011年皆獲得Packt頒發的最佳開源內容管理系統獎。[2]
第一個發行版本的Joomla! (1.0.0)發佈於 (页面存档备份,存于互联网档案馆)2005年9月16日。是由Mambo 4.5.2.3版加上安全性修正後所分支發展的版本。
Joomla! 1.5 (2007年)則以全新的 MVC 框架為基礎完全重寫程式碼,是當時少數同時兼容 PHP4 與 5 的大型應用程式。[3]。
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[4], 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!版本。[5]
發展路線
目前的 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,發佈原因為漏洞修補。[6]
3.10將成為3.x系列的最後一個版本,單純為Joomla! 4.0的降階版本,作為3.x過渡到4.x的緩衝,給予Joomla!網站管理員測試並升級4.0版本的過度。預期3.9.10將與Joomla! 4.0同時發佈。[7]
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提供了更好的運作效能,且為了能夠繼續朝向未來的發展方向靠攏。[8]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)。[9][10] 提供WinCache這個針對在IIS下的PHP快取加速器。[11]
架構
- 框架層
- Joomla!Platform 與 Joomla! Framework。以上兩者的框架層已支援 PSR-0, HMVC, RESTful 等現代標準。而 CMS 因為歷史包袱僅支援Legacy模式的功能,暫時還無法發揮框架層的全部特色。
- 函式庫
- 應用層
- 前後台各自為延伸自框架層的實體應用程式 (Application),並共用資料表。
- 擴充套件 (Extensions)
- 分為元件(Component)、模組(Module)與外掛(Plugin)三種型式,核心功能如內容管理、媒體管理、選單系統皆是擴充套件的一環。每個元件皆採 MVC 架構開發,並由應用層的Router依據網址的約定原則指向到不同的元件管理頁面。
- 顯示層
- 支援 HTML, XML, JSON, Feed 等多種形式的顯示格式,用來面對不同類型的應用。
- 模板
- 採用自製的模板引擎,並提供元件與模組的覆蓋輸出,可以在模板中藉由增加程式檔案的方式輕易取代內建顯示畫面,而無須Hack原始碼。
- 前端工具
資料庫支援
至2013年推出的3.1版為止,Joomla!已支援5種資料庫,分別是:
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- SQLite (目前僅框架層支援)
網站伺服器支援
目前Joomla!直接支援的伺服器软件為Apache與IIS,除此之外經過簡單配置也可以運行在nginx與Lighttpd上。
書籍
英文書籍
- 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]. ISBN 978-986-276-328-5. (原始内容存档于2020-09-22).
- 郭, 順能. Joomla! 2.5 素人架站計畫. 臺灣: 碁峰. 2012 [2017-11-16]. ISBN 978-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]. ISBN 978-986-276-942-3. (原始内容存档于2020-09-22).
- 李, 順能. Joomla! 3.x 素人架站計畫. 臺灣: 碁峰. 2015: 688 [2017-11-16]. ISBN 978-986-347-682-5. (原始内容存档于2020-09-22).
- 李, 順能. 使用J2Store開設網路商店的10堂課:商品管理x物流x金流x客服一次搞定. 臺灣: 碁峰. 2018: 416 [2018-07-24]. ISBN 978-986-476-848-6. (原始内容存档于2020-09-22).
參照
- ^ Joomla 5.2.2 Security & Bugfix Release.
- ^ 2006 Open Source Content Management System Award Winner Announced. Packt Publishing. 2006-11-14 [2007-03-08]. (原始内容存档于2007-03-06).
- ^ 存档副本. [2007-06-29]. (原始内容存档于2007-07-01).
- ^ Joomla!Framework Controller Usage
- ^ The Privacy Tool Suite by Joomla.3. 2018-10-30 [2019-10-28]. (原始内容存档于2021-01-11).
- ^ Joomla! 3.9.12 Release. Joomla! Developer Network™. 2019-09-24 [2019-10-28]. (原始内容存档于2020-10-25).
- ^ The Privacy Tool Suite by Joomla.3. 2019-08-13 [2019-10-28]. (原始内容存档于2021-01-11).
- ^ Babker, Michael. Looking Forward with Joomla! 4. Joomla! Developer Network™. [2017-11-09]. (原始内容存档于2020-11-11) (英国英语).
- ^ Request for Comment: Joomla! Contributor Agreement. [2010-05-26]. (原始内容存档于2016-03-04).
- ^ 微軟簽署 Joomla! 貢獻者協議. [2010-05-26]. (原始内容存档于2013-05-16).
- ^ Performance improvement in Joomla using WINCACHE user cache. [2010-05-26]. (原始内容存档于2015-01-13).
相關
外部連結
- https://www.joomla.org - Joomla!官方網站(页面存档备份,存于互联网档案馆)
- Joomla! Framework - Joomla@ 框架官網 (页面存档备份,存于互联网档案馆)
- 台灣 Joomla! 社群 - Joomla!中文官方網站 (页面存档备份,存于互联网档案馆)
- 开放目录项目中的“Joomla!”
- 華燈初上 - Joomler 李順能 (郭順能) 建立的 Joomla! 資訊網站 (页面存档备份,存于互联网档案馆)
- IRC