MediaWiki

維基基金會開發的自由、開放原始碼wiki軟體

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

MediaWiki
官方標誌
截圖
中文維基百科首頁截圖
原作者馬格努斯·曼斯克李·丹尼爾·克羅克
開發者維基媒體基金會以及志願者
首次釋出2002年1月25日,​22年前​(2002-01-25
目前版本
  • 1.39.6(2023年12月21日;長期支援)[1]
  • 1.43.0(2024年12月21日;長期支援)[2]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言PHP
作業系統跨平台
檔案大小48 MB(壓縮檔)
語言459[3]種語言
類型Wiki引擎
特許條款GPLv2+[4]
網站mediawiki.org 編輯維基數據連結

MediaWiki採用PHP程式語言寫成,並可使用MySQLMariaDBPostgreSQLSQLite之一作為其關聯式資料庫管理系統。MediaWiki在GNU通用公眾特許條款第2版及其後續版本的條款下分發,其文件則按共享創意 署名-相同方式共享3.0版協定釋出,部分文件還被釋入了公有領域[6],這使其成為了自由軟件

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

MediaWiki有700多個組態設置[10]和超過1800個擴充[11],用戶可以添加或更改各種特性。在維基百科上,超過1000個自動化和半自動化的機械人和其他工具用於協助編輯。[12]

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

特許

編輯

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

歷史

編輯
 
MediaWiki標誌(使用至2021年4月1日)

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

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

後來,維基媒體基金會技術長布里昂·維伯(Brion Vibber[18]成為了該軟件的釋出經理及其最活躍的開發者。[7][19]

語源

編輯

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

該軟件的標誌由艾力·默勒Erik Möller)基於弗羅倫特絲·尼巴爾-德伍阿爾拍攝的太陽花相片製作,最初用於參加維基百科在2003年年中舉行的國際性標誌競賽。[21]該標誌被評為第三名,並被選作MediaWiki的標誌;第二名的標誌則被選為維基媒體基金會的標誌。[22]太陽花兩側的雙重方括號象徵着MediaWiki用來建立超連結到其他wiki頁面的語法。

版本歷史

編輯

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

使用網站

編輯

MediaWiki最著名的使用案例是維基百科,同時還部分用於維基媒體基金會的其他計畫。一些其他的公共wiki網站也使用MediaWiki,包括Fandom[23](一個wiki農場[24])、wikiHow[25]維基解密[26]

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

Mediawiki也被應用在政府內部,例子包括由美國情報體系使用的情報百科英語Intellipedia美國國務院使用的Diplopedia聯合國開發計劃署INSTRAW英語United Nations International Research and Training Institute for the Advancement of Women聯合國機構也使用MediaWiki來執行他們的wiki網站,他們認為:「這個軟件支撐了維基百科的運轉,得到了全面而徹底的測試,相對於其他wiki軟件,MediaWiki在未來將會是更多wiki網站技術人員的選擇。」[30]

主要功能

編輯

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

國際化和本地化

編輯

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

安裝和組態

編輯

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

安裝PHP指令碼能透過網絡瀏覽器訪問來初始化wiki的設置。軟件為用戶提示了必備參數的最小化設置,留下啟用上載功能[34]、增加網站標誌[35]、安裝擴充等進一步的變更可透過修改包含在檔案LocalSettings.php中的組態設置實現[36][37]。MediaWiki的某些方面可以透過特殊網頁或編輯某些頁面進行組態。例如,濫用過濾器需要透過專門的頁面設置[38],某些小工具可以在MediaWiki名字空間中建立JavaScript頁面以進行添加。MediaWiki社區釋出了一篇全面的安裝指南[39]

標記

編輯

早期MediaWiki(及其前身UseModWiki)與其他維基引擎之間的差別之處在於代替駝峰式大小寫的「自由連結」。當MediaWiki被創造時,通常的wiki需要採用類似於「WorldWideWeb」一樣的文字建立關於「World Wide Web」(萬維網)頁面的連結。而MediaWiki中的連結則採取了另一種方法,是由雙括號括起來的字建立的,它們之間的空格保持不變,如[[World Wide Web]]。這種變化符合建立百科全書的邏輯,且十分講求名字的精確度。

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

MediaWiki語法 對應HTML代碼 渲染輸出
==== A dialogue ====

"Take some more [[tea]]," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take ''less''," said the Hatter: "it's '''very''' easy to take ''more'' than nothing."
<h4><span class="mw-headline" id="A_dialogue">A dialogue</span></h4>

<p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p>

<p>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</p>

<p>"You mean you can't take <i>less</i>," said the Hatter: "it's <b>very</b> easy to take <i>more</i> than nothing."</p>
A dialogue

"Take some more tea," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take less," said the Hatter: "it's very easy to take more than nothing."

(語出路易斯·卡羅愛麗絲夢遊仙境》)

編輯介面

編輯

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

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

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

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

作業系統及應用環境

編輯
  • 任何一種可以運行PHPMySQL的作業系統:
Windows 2000Windows Server 2003Windows Server 2008
OS X LionMac OS X 10.6.....

參考文獻

編輯
  1. ^ Security and maintenance release: 1.35.14 / 1.39.6 / 1.40.2. 2023年12月21日 [2023年12月21日]. 
  2. ^ Announcing MediaWiki 1.43.0. 2024年12月21日. 
  3. ^ Names.php · mediawiki. github.com. 2021-04-08 [2021-05-19]. (原始內容存檔於2021-07-15). 
  4. ^ MediaWiki所用的许可协议. mediawiki.org. [2016-12-05]. (原始內容存檔於2015-09-19). 
  5. ^ 例如:http://developer.novell.com/頁面存檔備份,存於互聯網檔案館) ;http://en.opensuse.org/頁面存檔備份,存於互聯網檔案館) ;存档副本. [2013-09-21]. (原始內容存檔於2013-09-21). 等。
  6. ^ Project:Copyrights. MediaWiki.org. [2009-10-24]. (原始內容存檔於2009-07-01). 
  7. ^ 7.0 7.1 MediaWiki history. MediaWiki website. [2007-07-19]. (原始內容存檔於2007-06-12). 
  8. ^ 8.0 8.1 What is MediaWiki?. [2013-08-04]. (原始內容存檔於2022-03-21). 
  9. ^ Česky. Wikipedia:Statistics – Wikipedia, the free encyclopedia. En.wikipedia.org. [2010-05-30]. (原始內容存檔於2021-08-28). 
  10. ^ Category:MediaWiki configuration settings. MediaWiki. 2011-02-07 [2011-02-07]. (原始內容存檔於2014-11-10). 
  11. ^ Extension Matrix. MediaWiki. [2011-02-07]. (原始內容存檔於2018-01-03). 
  12. ^ Wikipedia statistics – Bot editing activity. Wikimedia Foundation. 2012-10-31 [2012-11-15]. (原始內容存檔於2012-11-20). 
  13. ^ Sites using MediaWiki/corporate. MediaWiki. [2010-05-30]. (原始內容存檔於2022-03-16). 
  14. ^ Schacht, Paul, The Collaborative Writing Project, Using Wiki in Education (PDF), [2014-10-30], (原始內容存檔 (PDF)於2011-04-30) 
  15. ^ MediaWiki.org Project:Copyrights. [2009-08-17]. (原始內容存檔於2021-10-22). 
  16. ^ Project:PD help. MediaWiki. [2010-05-30]. (原始內容存檔於2020-10-29). 
  17. ^ Rafe Needleman, Wikipedia gears up for flood of video and photo files, C-Net, November 19, 2008 [2014-07-14], (原始內容存檔於2009-08-06) 
  18. ^ David Weinberger. Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books. 2007: 99. ISBN 0805080430. 
  19. ^ Wikipedia and MediaWiki. Presentation MediaWiki development (video). 2006-04-28 [2009-09-23]. (原始內容存檔於2011-02-01). 
  20. ^ Mayer, Daniel. Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity). Wikipedia-L mailing list archives. [2009-10-25]. (原始內容存檔於2014-06-20). 
  21. ^ Wikimedia contributors. International logo contest/results. Meta-wiki. 維基媒體基金會. 2007-01-10 [2007-03-14]. (原始內容存檔於2015-11-04). 
  22. ^ Wikimedia contributors. Historical/Logo history. Meta-wiki. 維基媒體基金會. 2007-01-17 [2007-03-14]. (原始內容存檔於2015-11-04). 
  23. ^ John K Waters and John Lester. The Everything Guide to Social Media: All you need to know about participating in today's most popular online communities. Adams Media. 2010: 171 [2014-09-17]. (原始內容存檔於2014-11-05). 
  24. ^ Henry K. Lee. Boyfriend charged with murder in Bernal Heights death. SFGate. 2014-08-29 [2014-09-17]. (原始內容存檔於2014-09-02). 
  25. ^ Special:Version. wikiHow. [2015-02-21]. (原始內容存檔於2014-07-13). 
  26. ^ About. WikiLeaks. [2012-10-11]. (原始內容存檔於2012-10-11). 
  27. ^ Examples of Bias in Wikipedia. Conservapedia. [2010-05-30]. (原始內容存檔於2010-07-07). 
  28. ^ 使用 MediaWiki 软件的站点. MediaWiki. [2015-07-29]. (原始內容存檔於2015-09-20). 
  29. ^ The story of Intelpedia: A model corporate wiki. Socialmedia.biz. 2010-07-08 [2015-07-29]. (原始內容存檔於2013-09-16). 
  30. ^ A. Maron, M. Maron. A stealth transformation: introducing wikis to the UN. Knowledge Management for Development Journal. 2007 [2010-10-09]. (原始內容存檔於2011-05-04). 
  31. ^ 參見:Translation statistics頁面存檔備份,存於互聯網檔案館)和Multilingual MediaWiki.
  32. ^ Lerner, Reuven M. Installing and Customizing MediaWiki. Linux Journal. 2006-01-23 [2015-07-29]. (原始內容存檔於2010-04-06). 
  33. ^ Petrazickis, Leons. Deploying PHP applications on IBM DB2 in the cloud: MediaWiki as a case study. Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research. 2009. 
  34. ^ Manual:$wgEnableUploads. MediaWiki. [2010-05-30]. (原始內容存檔於2016-09-28). 
  35. ^ Manual:$wgLogo. MediaWiki. December 12, 2009 [2010-05-30]. (原始內容存檔於2010-06-25). 
  36. ^ Manual:Configuration settings
  37. ^ 手册:LocalSettings.php. MediaWiki. 2007-03-29 [2010-05-30]. (原始內容存檔於2010-06-25). 
  38. ^ Extension:AbuseFilter. MediaWiki. [2010-05-30]. (原始內容存檔於2014-07-19). 
  39. ^ 手册:安装指南. MediaWiki. [2010-05-30]. (原始內容存檔於2008-12-02). 
  40. ^ Manual:Extending wiki markup. MediaWiki. [2010-05-30]. (原始內容存檔於2011-05-01). 
  41. ^ HTML to Wiki Converter – tables. WMF Labs. 2008-03-29 [2014-06-12]. (原始內容存檔於2014-07-13). 
  42. ^ Markup spec. MediaWiki. [2010-05-30]. (原始內容存檔於2007-12-19). 
  43. ^ Extricating Meaning from Wikimedia Article Archives (PDF). [2011-01-02]. (原始內容存檔 (PDF)於2011-03-10). 

外部連結

編輯

參見

編輯