社区中心
注册
Advertisement

本文翻译自2020年5月7日的英文社区中心博客(有改动)。

如果这是您第一次看到有关统一社区平台计划的信息,请在评论之前阅读本文以了解有关计划整个范围的更多信息。

随着Fandom在今年继续推出我们的统一社区平台,您看到我们对“为什么建立这个新平台”这件事所引用的一个原因是:新平台可以让我们整个wiki的网络在同一版本的MediaWiki上共存。这意味着——尤其是对已在Fandom平台上的社区来说——我们将升级到MediaWiki 1.33版本。

这个解释对于我们最资深、最有经验的用户而言可能意义非凡,但对于许多用户而言,“MediaWiki”这个单词仍是个谜。什么是MediaWiki?为什么Fandom对MediaWiki如此关注?Fandom不是有自己独特的代码吗?为什么升级MediaWiki要做那么多工作?

这些都是我们今天要回答的重要问题。让我们的社区了解Fandom和MediaWiki在何处、其如何交互和为什么现代MediaWiki能转变成现代Fandom平台至关重要。

什么是MediaWiki?[]

MediaWiki是一个内容管理系统(Content Management System,简称CMS)。嗯哼……什么是内容管理系统?

MediaWiki logo

内容管理系统是允许技术水平不同的用户建立网站的软件应用程序。内容管理系统是大型软件,因为其融合了所有架设成功网站需要的功能,包括但不限于:

  • 允许您创建用于相同格式页面的模板
  • 能够自定义和样式化网站设计及显示元素
  • 可以添加或更改内容的用户友善界面
  • 管理工具
  • 定义明确的内容结构
  • 可以轻松扩展,允许第三方开发者在软件中添加额外的代码以处理特殊的需求

CMS是所有发布平台的标准组成部分,其中最受欢迎的是WordPress。如果您今天已经在网络上待了一段时间,即便不包括您在使用CMS构建的这个网站上阅读本文的事实,您仍可能访问过一个使用CMS构建的网站。

MediaWiki于2001年开始开发,其完全是为了托管维基百科而设计的。wiki这一概念早在90年代中期就出现了。“wiki”一词源自夏威夷语的“WikiWiki”,本是“快点快点”之意。之所以选择这个单词,是因其意在允许快速地编辑访问网站时显示的内容。

MediaWiki的独特之处在于其能够将现代版本控制(用wiki的术语来说,就是页面历史)和页面的存储结合到MySQL中。这使得wiki能够以较其他系统更大的规模运行。这就是为什么Fandom能够在我们的平台上托管数十万个wiki的原因。

MediaWiki于2002年1月在维基百科上成功推出。开发者们的兴趣促成了维基媒体基金会的成立,维基媒体基金会至今仍维护着该软件。这使得人们可以使用该软件创建独立的wiki。

Fandom与MediaWiki的历史[]

由于Fandom是由著名维基百科人吉米·威尔士(Jimmy Wales)和安吉拉·贝丝蕾·斯塔林(Angela Beesley Starling)于2004年成立的,所以MediaWiki显然是托管我们所有wiki的最佳选择。

在Fandom成立之初,我们基本上只是个wiki农场:为人们提供wiki托管服务,与一般“原版”形式的MediaWiki几乎没有任何区别。事实上,Fandom和维基媒体基金会在2000年代末和2010年代初的时候就曾在一系列的计划中密切合作,包括两个平台的首个可视化编辑器。

但随着时间的推移,Fandom的需求和维基媒体基金会的需求开始有所不同。维基媒体基金会仍主要致力于支持维基百科,专注于非常特定类型资源网站的需求。与此同时,Fandom发现我们社区的需求有很大的不同。此外,我们拥有数十万个wiki的庞大规模意味着我们需要改变MediaWiki的代码来优化我们的网站性能。每当原版MediaWiki发布了新版本时,在进行升级之前我们都必须花费数周的工程时间比较代码差异并使我们的自定义代码兼容。

因此在2013年年中,Fandom决定从MediaWiki“分支”。也就是说,我们保留了已有的MediaWiki软件,但所有的代码都朝着完全定制化的方向发展。就这样,Fandom的wiki在MediaWiki的1.19版本停留了近7年之久。

是什么让MediaWiki与众不同[]

一般情况下,您和其他任何人都可以添加或编辑页面!!!……说真的,就这样。这几乎是MediaWiki与众不同的原因。

MediaWiki是唯一允许众包编辑的主流CMS。一般情况下,任何其他类似软件都可以将内容添加到网站,但仅限于网站所有者和其他手动添加的贡献者才行。

因为MediaWiki是围绕着这个独特的前提设计核心的,所以能够在一些方面做得非常出色:

CategoriesforMWBlog

MediaWiki具有扁平、灵活的分类系统,便于组织。

  • 编辑
    • MediaWiki有预设的权限结构,允许终端用户自由添加和编辑内容。
    • 具有相当简单的速写标记语言——Wiki语法,使您无需学习HTML或PHP即可链接页面、添加图片以及执行许多其他的操作。
    • MediaWiki的解析器——解释标记并将其转化为实际在浏览器显示HTML的引擎可以更好地处理复杂的标记,让编辑者们可以开发出非常详细的页面,而无需花费大量精力让其显示。
  • 结构
    • 原版MediaWiki有意在内容的结构和组织方式上没有太多的预设。
    • 这是一个优势,因为其允许社区以适合其需求的方式对页面进行分类和组织。
    • 大多数的页面分类是通过MediaWiki的“分类”工具添加的,用户可以轻松将一篇文章放入相似页面的集合中。页面的分类数量不限。
    • 此外,MediaWiki自带的“特殊页面”工具可以收集具有特定质量的页面,例如:Special:LongPages(特殊:长页面)。
    • 最后,命名空间允许在wiki上明确划分页面的类型。
  • 管理工具——管理员可以执行以下操作:
    • 在前端封禁用户。
    • 使用特殊工具检查编辑,例如最近更改(RecentChanges)和最近更改巡查(RecentChangesPatrol)。
    • 使用版本控制功能快速撤消和还原编辑。
    • 设置某些用户无法编辑的特定页面。
  • 电子邮件监视列表
  • 定制化
    • 网站管理员可以轻松设置顶层导航元素。
    • 用户可以添加个人使用的CSS和JS代码片段,以使网站编辑或阅读更加有趣。管理员可以在全域范围添加这些代码片段。
    • 可以通过编辑MediaWiki系统消息更改界面的一些标签。
  • 模板
    • 为了避免用户必须跨页面手动添加设计相同的、结构化的元素,MediaWiki允许您将这些元素的基本代码存储在“模板”页面中,然后在文章页面上调用。
    • 例如,在星球大战角色页面上,您可以调用角色模板,向其传入一些参数,然后保存该页面以显示类似于其他角色页面的表格。
    • 最常见的模板类型称为“信息框”。
  • 由于其开源特性,MediaWiki的发展比其他CMS软件要快。

为何Fandom要重新与MediaWiki保持一致?[]

Fandom之所以承诺迁移至统一社区平台,是有多个技术、商业和社会原因的。维护高度定制化代码所需的工程工作量远大于我们与现代MediaWiki保持一致的程度。Fandom和Curse Media合并后,Gamepedia也加入到了Fandom。因此像Gamepedia一直坚持的那样,运行在现代MediaWiki的平台上很有意义。多年来,我们一直听到了wiki编辑者希望我们升级的反馈。

一旦我们做出了这个决定,我们就必须决定我们希望的代码库工程方向。Gamepedia与原版MediaWiki非常贴近,这意味着最快的方法就是让Fandom赶上。但是升级现有的Fandom平台会有很多技术问题,因此在MediaWiki 1.33上建立一个新的平台来托管Fandom和Gamepedia的wiki是最有意义的。

此外,有些Fandom的用户认为我们从MediaWiki分叉是错误的,是公司朝错误方向发展的典型例证。有很长一段时间,我们太过专注于其他体验而牺牲了wiki平台,用户们大声疾呼我们过时的MediaWiki版本是如何让他们觉得我们不关心wiki编辑或wiki编辑者的。

升级到当前的MediaWiki意味着用户可以从2013年以来的核心软件中获得一些新的修改和内容功能(比如MediaWiki非常重要的集成移动版编辑器),这也让Fandom成为一个现代的wiki平台。更加简洁的代码库也意味着我们将更容易构建许多用户多年来一直要求的功能。

话虽如此,但升级MediaWiki仍非常困难。

Fandom维护着超过100万行代码。为了与MediaWiki代码兼容,我们必须检查每一行代码,并确保已弃用的功能(现已过时且不受支持的软件功能)已被替换。Fandom还有一系列的微服务,比如用户权限和讨论,这些微服务必须能够与MediaWiki正常“沟通”。

正如威尔(Will)在UCP推出阶段已经明确表示的那样,我们的工程团队目前正在逐一确认每个扩展、检查代码、然后将其移植到新平台上。这就是为什么在审核结束之前等待UCP处于完全完成状态是不切实际的原因——我们可以在站点上实时测试较简单的代码,并在后端上添加更复杂的功能和扩展时验证其是否正常运行。

最后,我们理论上将会得到您所熟悉和喜爱的wiki平台。虽然有些功能需要调整、有些功能需要替换,但我们会在第一阶段结束后建立一个为未来而生的、更强大的平台。第二阶段将是我们开始在您的帮助下建设未来的时候。在我们为大家完善wiki体验时,您的反馈将至关重要。

Advertisement