本页使用了标题或全文手工转换

MediaWiki

维基百科,自由的百科全书
跳转至: 导航搜索
MediaWiki
MediaWiki标志

Chinese Wikipedia's Main Page screenshot zh.png

中文维基百科首頁截圖
開發者 维基媒体基金会
布里昂·维伯(发布经理)
初始版本 2002年1月25日
穩定版本 1.25.2(2015年8月10日,19天前2015-08-10[±]
預覽版本 1.22.0rc2(2013年11月17日,20個月前2013-11-17[±]
编程语言 PHP
操作系统 跨平台
语言 215[1]
类型 Wiki引擎
许可协议 GPLv2+
網站 mediawiki.org (英文)

MediaWiki是一套基于网络Wiki引擎維基媒體基金會的所有项目乃至众多wiki网站皆採用了这一软件。MediaWiki软件最初是为自由内容百科全书维基百科所开发的,今日已被一些公司机构部署为内部的知识管理内容管理系统Novell甚而还在多个高流量的网站中使用了该软件。[2]

MediaWiki採用PHP编程語言寫成,並可使用MySQLMariaDBPostgreSQLSQLite之一作為其关系数据库管理系统。MediaWiki在GNU通用公共许可证第2版及其后续版本的条款下分发,其文档则按知识共享-署名-相同方式共享3.0版协议释出,部分文档还被释入了公有领域[3],这使其成为了自由软件

出于服务维基百科的需求,软件的第一个版本于2002年被部署[4],后来,维基百科和其他维基项目继续定义了MediaWiki的大部分功能[5]。为了有效地处理大型项目,MediaWiki得到了很好的优化,使其可以承载万亿字节的内容和每秒数十万次的访问请求[5][6]。因为维基百科是全球最大的网站之一,需要MediaWiki能为开发者实现通过多层次的实现可伸缩性缓存和数据库响应,对开发者来说,这一直是一个让他们很头疼的大问题,而MediaWiki很好的解决了这一问题。

MediaWiki有700多个配置设置[7]和超过1800个扩展[8],可以使各种特性被添加或更改。在维基百科上,超过1000个自动化和半自动化的机器人和其他工具用于协助编辑。[9]

它也被一些公司部署为一个内部知识管理系统[10],一些教育机构也让学生使用MediaWiki来进行小组项目的管理和维护[11]

许可[编辑]

MediaWiki是遵循GNU通用公共许可证的最新版本(截至发布日期)发布的自由软件。它的文档则是部分基于知识共享许可证发布,部分隶属于公有领域[12]。MediaWiki.org上的指南等内容具有知识共享许可证,而用于拷贝和/或包含在MediaWiki安装文件内的帮助页面则属于公有领域。这是为了避免由于拷贝帮助页面而引起的违背知识共享许可证条例的法律纠纷[13]。MediaWiki总体使用开放源代码的多媒体格式。[14]

歷史[编辑]

马格努斯·曼斯克(Magnus Manske),摄于2012年
布里昂·维伯 (Brion Vibber),摄于2012年

科隆大学的学生及开发员马格努斯·曼斯克设计的用户介面基础上,李·丹尼尔·克罗克英语Lee Daniel Crocker维基百科编写了现在的这一软件。维基百科最初曾经使用Perl语言编写的小型wiki引擎UseModWiki作为后台,其后则换用了Manske用PHP编写的软件来提供更多的功能。随着使用量的日益增长,页面加载的问题日益严重,这促使克罗克重写了该软件,采用了扩展性更强的MySQL后台数据库。

后来,维基媒体基金会首席技术官布里昂·维伯(Brion Vibber[15]成为了该软件的发布经理及其最活跃的开发者。[4][16]

随着曼斯克程序第一版的释出,该软件曾被赋予了多项昵称,以表示当时的开发状态——“PHP脚本”(the PHP script)、“第二期”(phase II)、“第三期”(phase III)、“新代码库”(the new codebase)——但并无正式的产品名称。2003年6月20日,随着维基媒体基金会的宣布成立,作为对“Wikimedia”(维基媒体)的戏称,维基百科贡献者丹尼尔·迈耶(Daniel Mayer)创造了“MediaWiki”一词来称呼这一软件,[17]并在2003年8月开始逐步得到采用。由于这一名称有意地相似于“Wikimedia”一名(而“Wikimedia”还相似于“Wikipedia”),因而经常造成混淆。该软件的标志由埃里克·默勒(Erik Möller)基于弗洛朗丝·尼巴尔-德伍阿尔拍摄的太阳花照片制作,最初用于参加维基百科在2003年年中举行的国际性标志竞赛。[18]该标志被评为第三名,并被选作MediaWiki的标志;第二名的标志则被选为维基媒体基金会的标志。[19]太阳花两侧的双重方括号象征着MediaWiki用来建立超連結到其他wiki页面的语法。

发行历史[编辑]

MediaWiki的第一个版本1.1,发布于2003年12月。MediaWiki 1.25.1是当前稳定版本,发布于2015年5月。

顏色 意思
红色 旧版本;不再支持
黄色 旧版本;仍受支持
绿色 当前版本
蓝色 未来版本

下表包含了MediaWiki发行历史,展示了该软件的所有发行版本。

版本号 发行日期 链接 重大更新
1.1 2003年12月8日 完整版本说明
  • 新的wiki表格语法。
  • 用户可通过“MediaWiki”名字空间编辑界面消息。
  • XML格式的页面源码导出功能,可选历史版本。
  • “魔术字”功能——特殊的变量和解析器指令。
1.2 2004年3月24日 完整版本说明
  • 试验基于网络的安装程序。
  • 缩放图像和生成缩略图。
  • 方便学习wiki语法的编辑工具栏。
  • 在wiki内对用户权限进行管理。
1.3 2004年8月11日 完整版本说明
  • 新的高度使用CSS呈现的默认外观(“MonoBook”皮肤),并进一步地遵从网络标准。
  • 模板参数功能。
  • 分类功能。
  • 在可能时自动合并编辑冲突。
  • 改善安装程序。
1.4 2005年3月20日 完整版本说明语言支持
  • 用户可修改其用户界面语言。
  • 显著的性能改善。
  • 支持对条目的旧修订进行压缩以减少存储需求。
  • 支持生成图廊,最近上传图像列表。
  • 支持将SVG点阵化(需要外部工具支持)。
1.5
(支持MySQL 3的最后版本)
2005年10月5日 完整版本说明语言支持
  • 大幅重新设计数据库,令文本存储脱离对修订溯查的依赖,导致:
    • 显著提升部分操作的性能。
    • 为所有修订提供永久链接功能。
    • 支持在主数据库外存储大批数据。
  • 支持在发生更改时以电子邮件提醒。
  • 强制以UTF-8编码页面内容。
1.6
(支援PHP 4的最后版本)
2006年4月5日 完整版本说明语言支持
  • 使用新的扩展框架处理页面的保护和解除保护。
  • 后台更新采用“工作队列”。
  • 改进对模板使用的溯查。
  • 模板参数可使用默认值。
1.7 2006年7月7日 完整版本说明语言支持
  • MediaWiki 1.7需要使用PHP 5(推荐使用5.1),不再支持PHP 4。
  • 可恢复已删除文件。
1.8 2006年10月10日 完整版本说明语言支持
  • 完全支持PostgreSQL(8.1或更高版本)后台数据库
  • 支持DjVu缩略图和多页导航
  • 对用户封禁的多项改进;封禁可只影响到使用特定IP地址的未注册用户
  • 从公开可访问的URL地址上传文件,倘若相关功能已被启用
1.9 2007年1月10日 完整版本说明语言支持
  • “撤销修订”功能
  • 对封禁和特殊页面缓存的多项改进
  • 支持列排序的表格
  • Addition of an edit counter field to the user database
  • 在监视列表和最近更改中显示修订的大小
  • Special名字空间的页面名称可被本地化,令非英语网站的链接和URL地址更易于辨识
1.10 2007年5月9日 完整版本说明语言支持
  • “连锁保护”功能
  • 改进工具提示和快捷键功能
  • 对封禁和特殊页面缓存的多项改进
  • 支持IPv6
1.11 2007年9月10日 完整版本说明语言支持
  • 增加全局变量$wgAddGroups和$wgRemoveGroups以更好地管理用户组
  • 清理并默认启用基于AJAX的页面监视功能
1.12 2008年3月20日 完整版本说明语言支持
1.13 2008年8月14日 完整版本说明语言支持
  • 新的特殊页面:FileDuplicateSearch(搜索重复文件)、ListGroupRights(群组权限列表)
  • 重新设计Special:UserRights(用户权限)和Special:SpecialPages(特殊页面)
  • 隐藏分类功能:在分类页面添加__HIDDENCAT__魔术字将能在条目页面中隐藏该分类。
  • 对点击红链但不能编辑的用户友好化
  • 可自动修复因页面移动而创建的双重重定向
1.14 2009年2月22日 完整版本说明语言支持
  • 支持纯文本的著作权提醒(除知识共享或GFDL外)
  • 图像可链接到任意的标题或URL
  • Search engine indexing can be controlled on a per-page basis
  • 对手持设备的更好的CSS支持
  • 页面的历史页面可选择日期
  • 文件上传的历史页面可为每一文件版本显示缩略图
1.15 2009年6月10日 完整版本说明语言支持
  • 支持文件名移动
  • 增加魔术字{{GENDER:||}}、{{NUMBEROFACTIVEUSERS}}和{{REVISIONUSER}}
1.16 2010年7月28日 完整版本说明语言支持
  • 新的Vector皮肤
  • 能从Special:Emailuser禁止用户发电邮
  • 提供監視列表清單的RSS
  • 可於特殊頁面封禁用戶
  • 改進使用SQLite資料庫的支援
1.17 2011年6月22日 完整版本说明语言支持
1.18
(支援MySQL 4的最后版本)
2011年11月28日 完整版本说明语言支持
  • 自1.18版起,math語法自MediaWiki核心中抽離,改為以外掛Extension:Math來支援
  • 更好的書寫方向支持。
  • 調整用戶連結以反映用戶性別。
  • 支持Protocol-relative URL。
1.19(LTS)
(支援PHP 5.2.3的最后版本)
2012年5月2日 完整版本说明语言支持
  • 只支持MySQL 5.0.2以上的版本。
  • 更多性別支持(如用戶列表)。
  • 語言轉換器及一些魔術字從此版本開始基於該頁面的語言。
1.20 2012年11月7日 完整版本说明语言支持
  • 只支持PHP 5.3.2以上的版本。
  • 改進清晰度,以及對色盲用戶更友善。
1.21 2013年5月25日 完整版本说明语言支持
1.22 2013年12月7日 完整版本说明语言支持
1.23(LTS) 2014年6月5日 完整版本说明语言支持
1.24 2014年11月27日 完整版本说明语言支持
1.25 完整版本说明语言支持

使用网站[编辑]

MediaWiki最著名的一次运用是在维基百科上,程度较小的运用是在维基媒体基金会的其他项目上。wiki农场Wikia也运行MediaWiki[20][21]。其他运行MediaWiki的公共wiki站包括wikiHow[22]维基解密[23]

许多替代维基百科的维基百科全书也运行MediaWiki,包括大众百科MetapediaScholarpedia保守百科[24]。MediaWiki也在许多大型公司的内部使用,包括Novell英特尔[25][26]

政府内部对MediaWiki值得注意的使用包括由美国情报体系使用的情报百科英语Intellipedia美国国务院使用的Diplopedia联合国开发计划署INSTRAW英语United Nations International Research and Training Institute for the Advancement of Women联合国机构使用MediaWiki来落实他们的wiki站,因为“这个软件在维基百科上的软运行,因此能保证测试彻底进行,继续未来的美好发展,未来这些wiki站的技术人员将有可能接触MediaWiki多过其他wiki软件[27]。”

主要功能[编辑]

MediaWiki提供丰富的核心功能集和增加提供附加功能的扩展程序的机制。

国际化和本地化[编辑]

由于维基媒体计划大力强调多语言,国际化和本地化受到开发商的显著关注。Translatewiki.net将用户界面完全或部分翻译成超过300种语言,网站管理员还可以进一步定制(整个界面可以透过wiki编辑)[28]。几个扩展程序,最明显的是收集在MediaWiki语言扩展包中的,旨在进一步提升MediaWiki的多语种和国际化。

安装和配置[编辑]

安装MediaWiki要求用户拥有管理权限能同时运行PHP和兼容类型SQL数据库的服务器。有些用户发现设置虚拟主机有助于很大程度上不兼容MediaWiki的网站大部分内容在框架下(如ZopeRuby on Rails)运行[29]云主机可以让用户省去手动建立新服务器的工夫[30]

安装PHP脚本能透过网络浏览器访问来初始化wiki的设置。软件为用户提示了必备参数的最小化设置,留下启用上传功能[31]、增加网站标志[32]、安装扩展等进一步的变更可透过修改包含在文件LocalSettings.php中的配置设置实现[33][34]。MediaWiki的某些方面可以透过特殊网页或编辑某些页面进行配置。例如,滥用过滤器需要透过专门的页面设置[35],某些小工具可以在MediaWiki名字空间中创建JavaScript页面以进行添加[36]。MediaWiki社区发布了一篇全面的安装指南[37]

标记[编辑]

早期MediaWiki(及其前身UseModWiki)与其他维基引擎之间的差别之处在于代替驼峰式大小写的“自由链接”。当MediaWiki被创造时,wiki的典型现象是需要文本像“WorldWideWeb”一样创建关于万维网页面的链接:MediaWiki中的链接从另一方面来讲,是由双括号括起来的字创建的,它们之间的空间保持不变,如万维网。这种变化符合创建百科全书的逻辑,且十分讲求名字的精确度。

MediaWiki使用了一种可扩展、轻量级的维基标记语言来设计[38],它比HTML更容易学习和使用。工具存在将表格在MediaWiki标记和HTML之间切换的转换内容[39]。尽管有过创造MediaWiki标记语言规范的尝试,但共识似乎已经达到了维基代码需要上下文有关文法的程度[40][41]。下面的对比分析展现了维基标记语言与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属性。

应用程序编程接口[编辑]

丰富内容[编辑]

追踪编辑[编辑]

导航[编辑]

内容组织[编辑]

自定义[编辑]

模版[编辑]

用户组和访问限制[编辑]

可扩展性[编辑]

安装要求[编辑]

硬件配置[编辑]

操作系统及应用环境[编辑]

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

参考文献[编辑]

  1. ^ https://translatewiki.net/wiki/Special:SupportedLanguages
  2. ^ 例如:http://developer.novell.com/http://en.opensuse.org/http://www.ifolder.com/等。
  3. ^ Project:Copyrights. MediaWiki.org. [2009-10-24]. 
  4. ^ 4.0 4.1 MediaWiki history. MediaWiki website. [2007-07-19]. 
  5. ^ 5.0 5.1 What is MediaWiki?. [2013-08-04]. 
  6. ^ Česky. Wikipedia:Statistics – Wikipedia, the free encyclopedia. En.wikipedia.org. [2010-05-30]. 
  7. ^ Category:MediaWiki configuration settings. MediaWiki. 2011-02-07 [2011-02-07]. 
  8. ^ Extension Matrix. MediaWiki. [2011-02-07]. 
  9. ^ Wikipedia statistics – Bot editing activity. Wikimedia Foundation. 2012-10-31 [2012-11-15]. 
  10. ^ Sites using MediaWiki/corporate. MediaWiki. [2010-05-30]. 
  11. ^ Schacht, Paul, The Collaborative Writing Project, Using Wiki in Education 
  12. ^ MediaWiki.org Project:Copyrights. [2009-08-17]. 
  13. ^ Project:PD help. MediaWiki. [2010-05-30]. 
  14. ^ Rafe Needleman, Wikipedia gears up for flood of video and photo files, C-Net, November 19, 2008 
  15. ^ David Weinberger. Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books. 2007: 99. ISBN 0805080430. 
  16. ^ Wikipedia and MediaWiki. Presentation MediaWiki development (video). 2006-04-28 [2009-09-23]. 
  17. ^ Mayer, Daniel. Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity). Wikipedia-L mailing list archives. 
  18. ^ Wikimedia contributors. International logo contest/results. Meta-wiki. 维基媒体基金会. 2007-01-10 [2007-03-14]. 
  19. ^ Wikimedia contributors. Historical/Logo history. Meta-wiki. 维基媒体基金会. 2007-01-17 [2007-03-14]. 
  20. ^ Henry K. Lee. Boyfriend charged with murder in Bernal Heights death. SFGate. 2014-08-29 [2014-09-17]. 
  21. ^ 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]. 
  22. ^ Special:Version. wikiHow. [2015-02-21]. 
  23. ^ About. WikiLeaks. [2012-10-11]. (原始内容存档于2012-10-11). 
  24. ^ Examples of Bias in Wikipedia. Conservapedia. [2010-05-30]. 
  25. ^ 使用 MediaWiki 软件的站点. MediaWiki. [2015-07-29]. 
  26. ^ The story of Intelpedia: A model corporate wiki. Socialmedia.biz. 2010-07-08 [2015-07-29]. 
  27. ^ A. Maron, M. Maron. A stealth transformation: introducing wikis to the UN. Knowledge Management for Development Journal. 2007 [2010-10-09]. 
  28. ^ 参见:Translation statisticsMultilingual MediaWiki.
  29. ^ Lerner, Reuven M. Installing and Customizing MediaWiki. Linux Journal. 2006-01-23. 
  30. ^ Petrazickis, Leons. Deploying PHP applications on IBM DB2 in my butt: MediaWiki as a case study. Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research. 2009. 
  31. ^ Manual:$wgEnableUploads. MediaWiki. [2010-05-30]. 
  32. ^ Manual:$wgLogo. MediaWiki. December 12, 2009 [2010-05-30]. 
  33. ^ Manual:Configuration settings
  34. ^ Manual:LocalSettings.php. MediaWiki. 2007-03-29 [2010-05-30]. 
  35. ^ Extension:AbuseFilter. MediaWiki. [2010-05-30]. 
  36. ^ 引用错误:无效<ref>标签;未为name属性为WikEd的引用提供文字
  37. ^ Manual:Installation guide. MediaWiki. [2010-05-30]. 
  38. ^ Manual:Extending wiki markup. MediaWiki. [2010-05-30]. 
  39. ^ HTML to Wiki Converter – tables. WMF Labs. 2008-03-29 [2014-06-12]. 
  40. ^ Markup spec. MediaWiki. [2010-05-30]. 
  41. ^ Extricating Meaning from Wikimedia Article Archives. [2011-01-02]. 

外部連結[编辑]

參見[编辑]