MediaWiki

**MediaWiki** 是一套基於網路的 Wiki 引擎，維基媒體基金會的所有計畫乃至眾多 wiki 網站都使用了這軟體。MediaWiki 軟體最初是為自由內容百科全書維基百科開發，今日已被一些公司機構用作內部知識管理和內容管理系統。Novell 甚而還在多個高流量的網站中使用了該軟體。

MediaWiki 採用 PHP 程式語言寫成，並可使用 MySQL、MariaDB、PostgreSQL 或 SQLite 之一作為其關聯式資料庫管理系統。MediaWiki 在 GNU 通用公眾授權條款第 2 版及其後續版本的條款下分發，其文件則按創用 CC 姓名標示 - 相同方式分享 3.0 版協定釋出，部分文件還被釋入了公有領域，這使其成為了自由軟體。

出於服務維基百科的需求，軟體的第一個版本於 2002 年被部署，後來，維基百科和其他維基計畫繼續定義了 MediaWiki 的大部分功能。為了有效地處理大型計畫，MediaWiki 得到了很好的最佳化，使其可以承載萬億位元組的內容和每秒數十萬次的存取請求。因為維基百科是全球最大的網站之一，需要 MediaWiki 能為開發者實現通過多層次的實現可伸縮性快取和資料庫回應，對開發者來說，這一直是一個讓他們很頭疼的大問題，而 MediaWiki 很好的解決了這一問題。

MediaWiki 有 700 多個組態設定和超過 1800 個擴充，使用者可以添加或更改各種特性。在維基百科上，超過 1000 個自動化和半自動化的機器人和其他工具用於協助編輯。

它也被一些公司部署為一個內部知識管理系統，一些教育機構也讓學生使用 MediaWiki 來進行小組計畫的管理和維護。

## 授權

MediaWiki 是遵循 GNU 通用公眾授權條款的最新版本（截至釋出日期）釋出的自由軟體。它的文件則是部分基於創用 CC 授權條款釋出，部分隸屬於公有領域。MediaWiki.org 上的指南等內容具有創用 CC 授權條款，而用於拷貝和 / 或包含在 MediaWiki 安裝檔案內的幫助頁面則屬於公有領域。這是為了避免由於拷貝幫助頁面而引起的違背創用 CC 授權條款條例的法律糾紛。MediaWiki 總體使用開放原始碼的多媒體格式。

## 歷史

在科隆大學的學生及開發員馬格努斯・曼斯克設計的使用者介面基礎上，李・丹尼爾・克羅克為維基百科編寫了現在的這一軟體。

維基百科最初曾經使用 Perl 語言編寫的小型 wiki 引擎 UseModWiki 作為後台，其後則換用了 Manske 用 PHP 編寫的軟體來提供更多的功能。隨著使用量的日益增長，頁面載入的問題日益嚴重，這促使克羅克重寫了該軟體，採用了擴充性更強的 MySQL 後台資料庫。

後來，維基媒體基金會的技術長布里昂・維伯（Brion Vibber）成為了該軟體的釋出經理及其最活躍的開發者。

### 語源

隨著曼斯克程式第一版的釋出，該軟體曾被賦予了多項暱稱，以表示當時的開發狀態 ——「PHP 指令碼」（the PHP script）、「第二期」（phase II）、「第三期」（phase III）、「新代碼庫」（the new codebase）—— 但並無正式的產品名稱。2003 年 6 月 20 日，隨著維基媒體基金會的宣布成立，作為對「Wikimedia」（維基媒體）的戲稱，維基百科貢獻者丹尼爾・邁耶（Daniel Mayer）創造了「MediaWiki」（媒體維基）一詞來稱呼這一軟體，並在 2003 年 8 月開始逐步得到採用。由於這一名稱有意地相似於「Wikimedia」（維基媒體）一名（而「Wikimedia」（維基媒體）還相似於「Wikipedia」（維基百科）），因而經常造成混淆。

該軟體的標誌由艾瑞克・默勒（Erik Möller）基於弗洛朗絲・尼巴爾 - 德伍阿爾拍攝的太陽花相片製作，最初用於參加維基百科在 2003 年年中舉行的國際性標誌競賽。該標誌被評為第三名，並被選作 MediaWiki 的標誌；第二名的標誌則被選為維基媒體基金會的標誌。太陽花兩側的雙重方括號象徵著 MediaWiki 用來建立超連結到其他 wiki 頁面的語法。

### 版本歷史

MediaWiki 的第一個版本 1.1 釋出於 2003 年 12 月。

## 使用網站

MediaWiki 最著名的使用案例是維基百科，同時還部分用於維基媒體基金會的其他計畫。一些其他的公共 wiki 網站也使用 MediaWiki，包括 Fandom（一個 wiki 農場）、wikiHow 和維基解密。

使用 MediaWiki 的還有眾多和維基百科模式相似的線上 wiki 百科，大眾百科、萌娘百科、Metapedia、Scholarpedia 和保守百科是其中幾個例子。Mediawiki 也在大量公司的內部使用，其中有 Novell 和英特爾。

Mediawiki 也被應用在政府內部，例子包括由美國情報體系使用的情報百科和美國國務院使用的 Diplopedia。聯合國開發計劃署和 INSTRAW 等聯合國機構也使用 MediaWiki 來執行他們的 wiki 網站，他們認為：「這個軟體支撐了維基百科的運轉，得到了全面而徹底的測試，相對於其他 wiki 軟體，MediaWiki 在未來將會是更多 wiki 網站技術人員的選擇。」

## 主要功能

MediaWiki 提供豐富的核心功能集和增加提供附加功能的擴充程式的機制。

### 國際化和在地化

由於維基媒體計劃大力強調多語言，國際化和在地化受到開發商的顯著關注。Translatewiki.net 將使用者介面完全或部分翻譯成超過 300 種語言，網站管理員還可以進一步客製化（整個介面可以透過 wiki 編輯）。幾個擴充程式，最明顯的是收集在 MediaWiki 語言中的，旨在進一步提升 MediaWiki 的多語種和國際化。

### 安裝和組態

安裝 MediaWiki 要求使用者擁有管理權限能同時執行 PHP 和相容類型 SQL 資料庫的伺服器。有些使用者發現設定虛擬主機能在很大程度上使得不相容 MediaWiki 的網站的大部分內容在框架下（如 Zope 和 Ruby on Rails）執行。雲主機可以讓使用者省去手動建立新伺服器的工夫。

安裝 PHP 指令碼能透過網路瀏覽器存取來初始化 wiki 的設定。軟體為使用者提示了必備參數的最小化設定，留下啟用上傳功能、增加網站標誌、安裝擴充等進一步的變更可透過修改包含在檔案 `LocalSettings.php` 中的組態設定實現。MediaWiki 的某些方面可以透過特殊網頁或編輯某些頁面進行組態。例如，濫用過濾器需要透過專門的頁面設定，某些小工具可以在 MediaWiki 命名空間中建立 JavaScript 頁面以進行添加。MediaWiki 社群釋出了一篇全面的安裝指南。

### 標記

早期 MediaWiki（及其前身 UseModWiki）與其他維基引擎之間的差別之處在於代替駝峰式大小寫的「自由連結」。當 MediaWiki 被創造時，wiki 的典型現象是需要文字像「WorldWideWeb」一樣建立關於全球資訊網頁面的連結：MediaWiki 中的連結從另一方面來講，是由雙括號括起來的字建立的，它們之間的空間保持不變，如 `万维网`。這種變化符合建立百科全書的邏輯，且十分講求名字的精確度。

MediaWiki 使用了一種可延伸、輕量級的維基標記式語言來設計，它比 HTML 更容易學習和使用。工具存在將表格在 MediaWiki 標記和 HTML 之間切換的轉換內容。儘管有過創造 MediaWiki 標記式語言規範的嘗試，但共識似乎已經達到了維基代碼需要上下文有關文法的程度。下面的對比分析展現了維基標記式語言與 HTML 之間的差別。

（語出路易斯・卡羅《愛麗絲夢遊仙境》）

### 編輯介面

學習 MediaWiki 的頁面編輯工具被認為有挑戰性。一項關於學生使用基於 MediaWiki 的 wiki 的分配情況的調查發現，當被問及 wiki 的主要問題的開放性問題時，24% 提到了技術問題和格式，如「無法弄清楚如何加入圖像。無法弄清楚如何顯示帶連結的文字，就像輸入數字。」

為了使編輯長頁面更容易，MediaWiki 允許分段編輯頁面（從段落標題處找到）。使用者還可以標記編輯是否為小修改。例如更正拼寫、語法和標點符號屬於小修改，而增加新文字段落就不屬於小修改。

有時一個使用者正在編輯，第二個使用者儲存頁面同一段落的編輯，之後當第一個使用者嘗試儲存網頁時，就會出現編輯衝突。那個第二個使用者將獲得機會將它的內容合併到當前展現第一個使用者儲存的編輯的頁面。一個可選的擴充程式向特定使用者群組在編輯衝突時提供優先機會。

MediaWiki 的使用者介面已被在地化成不同的語言。維基內容本身可以設定、傳送到「內容式語言」的 HTTP 標題和「lang」HTML 屬性。

### 作業系統及應用環境

* 任何一種可以運行 PHP 與 MySQL 的作業系統：

　
: * Microsoft Windows，例如：

　
: Windows 2000、Windows Server 2003、Windows Server 2008

* Linux（例如，Fedora……）
* BSD（例如，FreeBSD……）
* macOS (前稱 Mac OS X)，例如：

　
: OS X Lion、Mac OS X 10.6.....

* 資料庫：MySQL、PostgreSQL 或 MariaDB
* 動態網頁技術：PHP
* 網頁伺服器：Apache、Nginx 或 IIS

## 參考文獻

## 外部連結

* 官方網站
  * 使用者指南
  * 使用 MediaWiki 的網站列表
* MediaWiki 中文技術論壇 （頁面存檔備份，存於網際網路檔案館）（非官方）
* 中文 Mediawiki （頁面存檔備份，存於網際網路檔案館）

## 參見