Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

OpenFoundry自由軟體充電報

OpenFoundry自由軟體充電報
2007.1.15/報主.Tumi

本期內容:
[OSSF專欄] CMS 優質新秀-Joomla!(上)
[OSSF專欄] 崛起中的 PHP CMS-Joomla!

[OSSF專欄] CMS 優質新秀-Joomla!(上)

王家薰(OSSF技術組)/文 2007/01/12

兼具高度開發彈性、客製化功能、操作簡易、外觀優美等特性的 CMS 系統 Joomla!,於 2006 年 9 月剛滿一週年,在短短的時間內,吸引全世界數以萬計的網站以此作為核心架構,並在 2006 年於知名出版商 Packt 所舉辦的開放源碼 CMS 比賽(註一),以第一名的優秀成績勝出。筆者將以網站開發者及網站維護者的角度,引領讀者入門至 Joomla! 的秘密花園一探究竟。

◎ 關於 Joomla!

Joomla! 是一套開放原始碼的內容管理系統 (Content Management System,CMS) 系統(註二),其名稱來自非洲斯瓦希里語的方言 "Jumla",語意是 "all together" 或 "as a whole"。原始碼版權宣告採用 GNU GPL(註三)方式釋出,因此使用者可隨意下載散布使用。

過去 Joomla! 的前身是另一套 CMS 系統 Membo,由於原公司 Miro 將改以商業化的方式發展,與核心開發小組之間的意見相左,因此近八成的原開發小組成員,於 2005 年 8 月離開 Membo 開發團隊,另成立新的開放源碼計劃 Joomla! 目前是由 >a href="http://www.opensourcematters.org">Open Source Matters 這個開放源碼組織進行開發及支援。

Joomla! 在版本上,目前共有兩個分支 1.0.X 及 1.5,其中 1.0.X 的版本與 Membo 4.5.3 的架構差異不大,而最新釋出的 1.5 版為了提升使用者運用上的操作效能,開發團隊做了不少努力,除了在內部程式結構做了大幅度調整,讓網站開發者能更便捷的操作運用,在外觀上也下了不少功夫,並加入目前最熱門的 AJAX 技術,讓使用者操作上更為方便、簡單。兩者目前皆有中文化支援 UTF-8 的版本釋出,也提供了詳細的中文手冊,讀者可至 TaiwanJoomla 繁體中文支援社群下載,或是 Joomla! 官方網站下載英文版。

◎ 依使用者的角度來看Joomla!

對於網站維護者而言,Joomla! 使用 PHP 語言加上 MySQL 資料庫系統,在台灣擁有廣大的社群與使用者,開發、維護上的任職或外包上較不成問題,而隨著組織發展需要將內容轉移至其他平台,也有其相對應的程式或模組可用。在建置過程上,過去建置一個全方位的 Web 服務系統,需顧及其他功能的需求,額外建置如電子報、論壇、照片管理等相關的軟體。同時維護這麼多軟體,如發生狀況,對於維護者來說,實在是件很麻煩的事。此外,不同的軟體在畫面呈現上,較少能整合成有一致性的外觀,常讓網頁使用者身處於在不同網站的錯覺感,而專業的 Web 服務網站,為了整合這些軟體,並達到一致性的效果,常需花費不少的功夫及成本。

因此對於網站維護者來說,一套能快速整合這些軟體,並擁有強而有力的後盾支援,將有莫大的幫助。於此,以開放源碼釋出的 Joomla!,在廣大的社群熱心服務下,提供了相當多元的擴充套件及支援,甚至由於開發 Joomla! 相關套件非常的簡便,有不少自行開發的套件已發展成熟,並以商業化的模式出售,讀者可依個人需求下載免費的套件或是自行購買,筆者建議購買以 GPL 釋出的套件較佳。此外台灣 Joomla! 社群也提供了不少中文化的版本套件,供使用者參考下載。

在使用套件前,讀者需先行了解套件的種類。Joomla! 擴充套件區分為元件、模組、自動化程式及網頁版型,筆者於下列做個簡單的說明。

類別 說明
元件(Components) 一個擁有完整功能的獨立軟體,如電子報、照片管理、論壇等等。
模組(Modules) 模組是元件的延伸小功能或Joomla!內建小功能,它能控制一些簡單的功能 項目及網頁版型的位置。
自動化程式(Mambots) 處理一些網站作業任務的功能。例如 Email Cloaking :掩蓋所有在內容中的Email,用於防堵灌水程式(spambots)
網頁版型(Templates) 網頁外觀,以CSS 控制版型位置。

了解套件的類別後,針對不同的特性,筆者試用了一些覺得還不錯的項目,於下列列舉供讀者參考。

類別 名稱 說明 UTF-8 手冊/說明
元件 Joom!Fish 多國語言
元件 eventCal 行事曆
元件 Letterman 電子報
元件 Docman 檔案管理
元件 RSgallery 照片管理
元件 JoomlaXplorer 系統檔案管理工具
元件 Joomap 網站地圖
自動化程式 lightThumb 看圖程式

註四

此外,對於網站開發者而言, Joomla! 雖提供了相當多元的擴充套件,但對於不同類型網站案例來說,不管是針對現有的套件進行修正,或是自行開發,仍然需要進行客製化的調整。而採用程式與內容分開管理模式的 Joomla!,對於需自行開發擴充套件的開發者,提供相當大的發展空間。

Joomla! 所有的功能請求皆導向由 index.php 處理(管理端為 index2.php),主程式所會運用到的function,讀者可在安裝目錄下的includes/ frontend.php 找到。如果欲自行開發元件或模組的話,需先了解一些簡單的依循規則,筆者簡單的列舉在開發元件、模組時,所需注意的事項及基礎知識,供讀者參考。

一、元件 (components)

  1. 所有的元件皆建置於 components/ 這個目錄下,每一個目錄皆視為一個元件。
  2. 其目錄的命名原則以 "com_"+元件名稱,如:com_hello。
  3. 元件目錄內的檔案共分三種,其命名原則如下列表:

元件名稱.php 如: hello.php
元件名稱.class.php 如: hello.class.php
元件名稱.html.php 如: hello.html.php

註五

基本上,依此命名格式所建置下來的目錄及檔案,主程式語言寫在元件名稱+ ".php" 這個檔案下,該元件即立即生效,可以運作。

在運作方式,皆透過 joomla! 主程式 index.php 來處理即可,因此寫好的元件,只要於瀏覽器上輸入 http://127.0.0.1/joomla/index.php?option=com_元件名稱,即可看到您寫的元件程式顯示結果。建置過程是不是相當的容易呢!

(下期待續)

(如讀者針對本文有任何的想法及意見,可來信至 allywang at iis.sinica.edu.tw)

註一:請參考 PACKT比賽內容
註二內容管理系統 (Content Management System,CMS) 是一套電腦軟體系統,協助使用者進行內容管理的過程,運用於網頁內容呈現的部分,其系統功能優於組織、控制龐大的內容文件或其他內容,如圖片、多媒體等等。
註三:請參考自由軟體鑄造場->自由軟體授權與政策->授權條款介紹
註四:下載網址,筆者在此列舉一些不錯的網站,供讀者參考:

  1. TaiwanJoomla中文支援社群
  2. Joomla!
  3. Joomla!R esource
  4. WhichWorkStation
註五:元件目錄上的元件名稱及檔案的元件名稱需相同,否則將無法執行。


[OSSF專欄] 崛起中的 PHP CMS-Joomla!

Emmi/文 2007/01/13

對於喜歡用開放源碼軟體架設入口網站或討論區的愛好者而言,著名的 PHP CMS (Content Management System,CMS) 如 PHP-Nuke、XOOPS都已經耳熟能詳,但另一套同樣採用PHP語言撰寫的 Joomla!,由於其簡單易用的安裝與操作方式、眾多價美物廉的商業模組支援,使得 Joomla! 在近兩年的時間內快速崛起,現在在兩岸間估計更有約五萬名使用者社群,成為PHP社群中一顆不容忽視的新星。

◎ 易用功能與豐富外掛

如同其他入口網站架站軟體,Joomla! 同樣有管理系統、多國語言介面、簡單但功能強大的樣版系統、階層式的用戶存取群組、內容評等系統、支援多種所視即所得 (WYSIWYG) 內容編輯程式、支援 RSS、簡單的文件審核、內容顯示排程、資源管理功能、訪客統計與投票功能、廣告看板管理、線上說明文件……等等,但和其他入口網站系統相比亦有其優異之處。

Joomla! 中文化計畫主持人 Eddy Chang 表示,Joomla! 為了體貼新手,將簡單與進階管理功能分開,讓人不至於一進到管理介面後,便因繁複的介面而慌了手腳;內容自動化程式技術 (mambots) 讓使用者更容易插入 Youtube 等外掛程式;網頁快取機制可解決伺服器端資料庫忙碌問題,提升 local 端點擊網頁的效能;SEO 搜尋引擎最佳化則可讓使用者在浩瀚網海中,更易透過搜尋引擎尋找到以 Joomla! 架設的網站。

但讓 Eddy 覺得對使用者乃至於企業最重要的功能,在於其超過 1000 種豐富齊全的外掛程式,從專案管理乃至於 CRM 都有外掛程式,即使該程式要付費,價格也非常低廉,使用者因此可以省下再造輪子的麻煩直接使用,非常方便。Eddy 認為,Joomla! 的目的在創造類似像Windows 那樣對使用者而言容易安裝與使用的平台,嘉惠了許多無法自行撰寫程式的使用者,並鼓勵使用者撰寫外掛程式,也由於 Joomla! 多樣化的功能、且有完整的支援體系,讓當初單純只想架設遊戲公會網站的他一接觸後便不可自拔而投身其中,進一步成為 Joomla! 中文化計畫主持人,甚至成立公司、用 Joomla! 為客戶架設網站與提供技術諮詢等服務。

◎ Joomla! 中文化社群現況

Joomla! 中文化計畫主要開發內容包括 Joomla! 介面中文化、使用手冊翻譯、解決中文版使用問題等,因為大陸地區目前無人主導簡體中文翻譯,故正體與簡體翻譯均由 Eddy 和幾位成員著手翻譯,Eddy 表示,翻譯的好處是一來可以統一專有名詞避免出現歧義、創造共通的語言,再者可以自行決定該使用何種語彙、一旦決定後使用者均須遵守,因此工作量雖然很大、但相對地也充滿成就感。

會員間的意見交流與錯誤回報主要均在 TaiwanJoomla 官方網站上的討論區進行,目前已經有五千名註冊會員、其中亦包括許多大陸使用者,根據 Eddy 的估計,台灣與大陸的使用人數應該已經有五萬人之多。日前 Joomla! 中文化計畫進駐中研院資訊所自由軟體鑄造場專案平台,短時間內下載數便衝破三萬兩千次,登上專案下載排行第七名,由此可見 Joomla! 中文版的魅力。

◎ Joomla!應用實例

Joomla! 不只受到社群玩家的青睞,更有人將之用在商業運用或日常生活,進一步改善他人生活或增進工作效能。例如任職於 BenQ 的林先生則是利用 Joomla! 為自己所屬的部門(約一百多人)架設內部網站,作為交換資訊與文件的平台,如放置專業術語等。由於部門的同仁工作地點遍佈台灣、大陸與印度,新同仁進來時,常不清楚一些專業術語要如何得知,因此架設該內部網站方便各地的同仁搜尋。林先生表示,他之所以採用 Joomla!,是因為有眾多模組可供選擇,且後台管理非常華麗且方便,也有較多的支援,當他在 Joomla! 管理上遇到問題時,Joomla! 中文使用手冊與討論區就給他非常多的幫忙。此外,亦有不少商業公司採用 Joomla! 架設公司入口網站,如光寶電子、麒麟啤酒、多芬自信基金會……等,TaiwanJoomla 還細心整理採用 Joomla! 的酷站列表,提供有興趣的網友參考。

就讀於中原資管所的 melody,去年暑假跟隨該所的吳肇銘老師到非洲馬拉威當資訊志工,教導當地大學生如何維修電腦、架設網路與設計網站,期待可以為該國培育第一批青年資訊志工。因為教學課程中包含 CMS 架設,她蒐集各種架站程式資料後,決定採用同時具有中英文版說明手冊的 Joomla!,且 Joomla! 源於非洲語,也能讓當地人感覺親切,果然去當地教學時造成學員的迴響,melody 回國後還不停收到學員的詢問信件,讓她非常感動。除了應用於縮減數位落差的資訊教學,melody 平日也使用 joomla 幫老師站教學網站,她認為Joomla! 除了易用、易學、易操作、穩定度高的特點,也有許多樣板可供選擇,且軟體版本更新迅速。

◎ 未來展望

展望 Joomla! 新的一年的發展,當屬全球社群的 Joomla! 1.5 版即將推出最為重要,Eddy 表示 Joomla! 1.5 版沒有太多新功能推出,但程式源碼經過大幅翻修,採純物件導向方式,使用起來會更有效率,因此深受各界期待。至於 TaiwanJoomla 在未來的一年除了將推出pre-configuration 版本(預先加上外掛)、寫專書介紹 Joomla! 使用外,亦將推出 Joomla!Day 以提升各界認知,看來經過一年多的發展,Joomla! 已經擺脫過去開發上的種種不順,今年將會是 Joomla! 大鳴大放,向外界證明實力的一年。

相關網址:
1.TaiwanJoomla
2.Joomla!中文版
3.TaiwanJoomla 酷站列表
4.關懷無國界 中原大學師生共赴馬拉威縮減數位落差



報主的話:
本電子報為摘要版,若欲訂閱全文版請按此