登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。

協同內容管理工具—Wiki

全球資訊網(World Wide Web)誕生之初,原是希望加強科學協同合作與促進資訊交流之用,然而直到目前為止,大多數的網站仍屬唯讀形式。使用者無法在這樣的網站上,自由地表達意 見、分享資訊,甚至是更進一步地產生新的文件、網頁,更動網站的結構等等。盡管到目前為止,有許多網站已經試圖讓使用者參與討論、投票、針對某主題發表評 論等,這些系統較為著名的包括 Slashcode、PHP-Nuke、PostNuke、PHPSlash、Scoop等。但是這種參與方式仍然不夠自由,這類系統多半預先設定了某些 主題,對於網站內容,一般用戶僅有些微的控制權。

Wiki,則是一種與上述不同的網站系統,或稱之為網站內容管理系統。
在 The Wiki Way 這本書中,Bo Leuf 和身為第一套 Wiki 系統創造者的 Ward Cunningham,共同為 Wiki 下了定義:一群相互連接並可自由擴展的網頁、一套用來儲存與修改資訊的超文字系統,所有的網頁儲存在一套資料庫中,任何人透過具有表單功能的瀏覽器用戶程 式,皆可輕易加以編輯。

根據 wiki.org 的說法,Wiki 則是一種允許使用者使用任一瀏覽器,皆可自由創造、編輯網頁內容的伺服器。Wiki 支援超連結,同時擁有簡單的語法,可供創造新文件,並即時在內部文件間建立連接。Wiki 最重要的特色,便是任何人皆可自由的修改、創造網頁。

Wiki 在夏威夷語中代表 quick 之意,Wiki 系統創始人 Ward Cunningham 於 1995 年,創造出名為 WikiWikiWeb 的第一套 Wiki 系統,比起第一套公認 Blog 系統的誕生,還早了 2 年。WikiWikiWeb 原先的目的,是為了自動化 Portland Pattern Repository 的管理流程。從 1995 年之後,陸陸續續有許多人發展自己的 Wiki 軟體,或類似於 Wiki 的網站內容管理系統,這些系統多半是以開放源碼方式釋出。除了一般伺服器上,甚至在一些 PDA 和智慧型電話上,也能見到這類系統的蹤跡。

藉由下列特質,Wiki 大幅地簡化了文件標記與格式的程序,讓使用者得以輕易地合作維護網站。首先,Wiki 系統提供一種簡易的文件格式語法,用戶可免於使用煩瑣,且為數眾多的 HTML 標籤。其次,Wiki 上的文件多半有個名叫編(edit)的連接或按鈕,點選後,使用者將進入包含先前文件內容的編輯網頁,在此你可以做所需的修改並儲存。這種即時性編輯的特 點,使得 Wiki 更加平易近人。最後,Wiki 將超連結語法予以簡化,除了一般的 URL 之外,一旦你有意在網站上新增文件,只需輸入 WikiWord 一般而言是開頭皆為大寫的字組,如 WikiWord 不過在某些 Wiki 系統中也有不同的做法。)即可,這樣一來新的文件便會自動建立,而該 WikiWord 也會自動連接到新頁面。

對於使用者來說,在 Wiki 上新增網頁的動作,簡單到只需構思網頁的名稱,然後加以輸入即可。當你在新網頁中置入內容,其中的所有參照將會由 Wiki 系統自動連接完成。

Ward Cunningham 列舉了若干 Wiki 的設計原則,其中較為重要的如:開放(Open),當網頁內容不完整或未加以適當組織,所有人都可以依他們認為適當的方式加以編輯;遞增 (Incremental),網頁可以引用其他網頁,甚至包括那些不存在的文件。普遍(Universal),編輯與組織文件的機制,得與書寫時相同,因 此,書寫者同時也可以是編輯、編纂者;明顯(Observable)表明了網站內的行為必須受到該網站其他的瀏覽者檢閱;集中(Convergent)認 為重複的內容藉由類似與相關內容的引用,可以加以移除。

Wiki 的常見用途如供研究與書寫之用的超文字資料庫、知識管理、作為撰寫、維護需要頻繁更新文件的團隊協同工具,或者亦可作為彈性化的 Blog 系統,若干 Wiki 或協同式網站內容管理系統,如 Scoop、SnipSnap、Vanilla,已經將 Blog 的用途包含在內。

Wiki 的優點是易於學習與使用,其中沒有複雜的語法或文字編排規則,有些 Wiki 系統甚至還允許引用 HTML。然而,缺乏一致、跨越各類 Wiki 的文字編排規格,是 Wiki 目前的缺點,特別是當你需要在不同 Wiki 間撰寫內容時,你必須適應不同的編排規則,同時也無法將先前編排過的內容,重複套用到不同的 Wiki 系統。舉例來說,不同的 Wiki,創造新文件的方式就可能不同。在 Ward 的 WikiWikiWeb 中,輸入開頭皆為大寫的連續字,如 WikiWord 便可創造新的文件,但在 Swiki 中,就必須將欲新增的文件或連接名稱置於一對 * 符號內。

此外,由於各種 Wiki 實作 Wiki 內容儲存方式的差異,譬如有些以純文字檔案儲存、有些則儲存在資料庫中。當使用者希望更換現有 Wiki 系統時,將可能遇上不少困難。

在延伸功能方面,目前有人嘗試著要將彙整(aggregation)、 串聯(syndication)這些 RSS 協定整合到 Wiki 之中。John Abbe 的 Wiki Weblogs 與 Wikis with RSS,示範了某些 Wiki 開發人員將 Blog 與 Wiki 加以整合,以便支援 RSS 彙整與串聯的做法。處於提案狀態的 ModWiki 則是一個供 Wiki 串聯之用的 RSS 1.0 延伸模組。在 Open Wiki 的 WikiSites/Aggregation 頁面,可以見到 Wiki 彙整範例。

對於 Wiki 開放撰寫、編輯特性懷有疑慮,擔心內容遭惡意破壞的使用者,許多 Wiki 也提供了進一步的控制機制,僅允許授權用戶更改內容,或者,讓某些頁面對一般使用者呈現唯讀狀態。

盡管 Wiki 本身在缺乏一致性文字編排規則與內容儲存的差異性上,顯示出某些缺點,然而 Wiki 的確正在一步步地型塑人們對於以 Web 為基礎的協同式內容創造、編輯的概念與態度。

Swiki、 Zwiki、Twiki、Plone 都是目前相當熱門的 Wiki 實作。Swiki 是以 Squeak 語言實作的 Wiki 系統,屬於開放源碼專案,它擁有自己的 Web 伺服器,Comanche。以數字編號的純文字 XML 1.0 檔案來儲存文件,是 Swiki 和其他 Wiki 的最大差異。TWiki 也是一套開放源碼的 Wiki 系統,基於 JOSWiki 的 TWiki,擁有相當多的企業用戶,如 Disney、Inktomi、Motorola 和 SAP。Twiki 有利的一點是,它允許開發人員創造或擴展現有的 TWiki Plugins,以適應企業環境,其中較為著名的如 Database Plugin、可以為 Twiki 表格加入基本試算表功能的 Spreadsheet Plugin,以及可匯集 RSS 表單(RSS feeds)的 Headlines Plugin。

Zwiki 與 Plone 都是基於 Zope 網路應用程式伺服器的 Wiki 系統。由於以 Zope 作為基礎,Zwiki 包含了若干獨特的功能,例如,Zwiki 可以在文件內混合不同種類的結構化文字格式。Plone 則是一套基於內容管理架構(Content Management Framework,CMF)的開放源碼內容管理系統,CMF 是 Zope 的應用程式,包含一系列工具,可提供內容管理系統所需的眾多關鍵服務。Plone 提供立即可用的 Zope 套件,具備一定的國際化與區域化程度。

相關網址:
1.Quickiwiki、Swiki、Twiki、Zwiki 和 Plone 的戰爭: 作為個人資訊管理與協同內容工具的 Wiki
2.Wiki 時刻
3.Swiki 首頁
4.Zwiki
5.Twiki
6.何謂 Wiki?
7.Wiki 的設計主張
8.Wiki 史話

 




自由軟體鑄造場電子報 : 第 3 期 Blog & Wiki

分類: 源碼新聞