
扩展手册
扩展允许您定制MediaWiki的外观和工作方式。
虽然许多扩展由MediaWiki的开发者维护,但其他由第三方开发者编写。 这样会导致一个结果,会出现bug,他们不能保证能够和其他扩展相互兼容。 一些扩展不被维护;并不是所有的扩展都能在所有的MediaWiki版本運作。 使用任何扩展,特别是那些标记着不稳定的扩展,当你使用时会有所风险。 當你使用需要修補核心軟體的擴展時,確認有備份資料庫。 這是避免導致維基出錯的意外。
扩展的类型
页面內容模型
MediaWiki 1.21 中引入的ContentHandler 使得Wiki頁面可以由除Wikitext之外的數據組成,例如JSON或Markdown。
浏览扩展插件
您可浏览分类:按分类排列的扩展 以了解已有插件的功能范围。 关于如何安装这些插件或者如何编写自己的插件,参见后续章节。
检查已安装的扩展
只有那些具备访问服务器文件系统的管理员可以安装用于MediaWiki的扩展插件,但是任何人都可以点击Special:Version页面获得当前有哪些扩展插件被用在这个MediaWiki网站上的信息。 例如,点击这里可以了解哪些扩展插件被用在了英文维基百科。
安装扩展插件
在安装完MediaWiki后即可安装扩展插件。 添加一个插件需要下面几个步骤:
- 在您开始之前
- 少数扩展插件需要安装补丁。其中大多数提供了专为unix安装命令而设计的使用说明。 这需要命令行权限(SSH)来运行这些在扩展插件帮助页面上给出的命令。
- 下载您的扩展。
- Extension Distributor可帮你选择和下载最受欢迎的扩展插件。
- 扩展插件通常以模块的程序包形式发布。 它们通常位于
$IP /extensions/
的子目录中。 在维基媒体Git存储库存储的扩展列表位于git:mediawiki/extensions。 一些不使用版本控制的扩展都不推荐使用。 - bundles、composer 或包存储库中也提供了一些扩展。
- 安装您的扩展。.
- 在
LocalSettings.php
文件的结尾添加下列代码: wfLoadExtension( 'ExtensionName' );
- 这一条将强制PHP解释器来读取文件扩展,从而使其到MediaWiki访问。
- 某些扩展可能与维护脚本冲突,例如它們能直接访问$_SERVER(不推荐)。
- 在这种情况下,他们可以被包裹在条件下进行运行,以让维护脚本仍然可以运行。
if ( !$wgCommandLineMode ) { wfLoadExtension ( 'ExtensionName' ); }
- 对于任何需要自定义命名空间的扩展,维护脚本importDump.php 将失败,这些命名空间在上面的条件中被包含,例如Extension:Semantic MediaWiki ,扩展:页面表单 。
- 在
- 确保为扩展设置了所需的权限!
- 虽然此安装过程对于大多数扩展来说已足够,但某些扩展需要不同的安装过程。 检查您的扩展文档以获取详情。
- 如果要在LocalSettings.php中更改配置变量,则必须在包含扩展名的之后执行此操作。 否则,分机中定义的默认值将覆盖您的设置。
升级扩展
当你升级你的MediaWiki时,部分扩展插件也需要升级,而其他部分扩展插件则可能支持向上兼容。 升级某个扩展插件到新版本:
- 下载新版本扩展插件
- 替换
extension/ExtensionName
目录下所有文件为新版本的文件。 不要删除LocalSettings.php中存在的扩展插件的配置。 - 如果扩展需要修改MediaWiki資料庫,你將需要运行Update.php维护脚本。 多数扩展插件会提及是否需要运行这个脚本。 (在执行脚本之前执行数据备份)。 如果你没有使用命令行的权限,你也可以使用网络更新。
這手冊包含超過99%的拓展。 如果該拓展有與你不同的標準,請跟隨該標準。
卸载一个扩展
从LocalSettings.php中删除带有扩展名的行以将其卸载:
wfLoadExtension( 'ExtensionName' );
- 您必须删除与扩展配置有关的所有行。