Jump to content

开发者中心

本頁使用了標題或全文手工轉換
From mediawiki.org
This page is a translated version of the page Developer hub and the translation is 94% complete.
  • 用户
  • 系统管理员
  • 开发者
  • 翻译人员
This technical manual is intended for developers and technical contributors, and may be difficult for general MediaWiki readers to understand. For general guidance on using MediaWiki, refer to the MediaWiki Handbook .

這是一個高级的MediaWiki开发的概述,包括关键文件的連結、资源、和MediaWiki开发者的可用工具。它是为已使用过MediaWiki的熟练LAMP 程序员写的

概要

MediaWiki是维基百科與其姊妹项目,还有世界各地数以千计的维基网站使用的软件。

MediaWiki以PHP编程语言书写[1]。 它使用jQuery作为客户端JavaScript库。

MediaWiki主要为LAMP平台开发[2],并可以在大多数操作系统上运行。 MediaWiki首要使用MySQL与MariaDB数据库服务器。[3]

开发以开源形式进行[4], 儘管志願者社區開發人員也發揮了很大的作用,但它在很大程度上是在線協調的,並得到了Wikimedia基金會的支持。

  • 开发讨论可以在各种邮件列表IRC 频道中。 主要开发者列表为wikitech-l,主要的开发者 IRC 频道为#mediawiki 在线
  • 源代码 使用Git版本控制系统进行管理。[5]
  • 大多数项目代码审查Gerrit 执行。参考这个入门以配置Git和Gerrit来提交补丁。
  • 漏洞报告与任务是在Phabricator 中管理的。
  • MediaWiki中的开发者扩展接口(而不修改核心代码)有几个便捷的扩展点 ,包括 API钩子系统。

主要文档

编码、开发和规范

调试和测试

架构

子系统

  • API——MediaWiki的API对包含在MediaWiki数据库中的数据,提供了直接、高级别的访问。
  • 内容处理器 – MediaWiki在支持页面內容的自定义型態的框架。
  • 数据库访问 – 在MediaWiki中使用数据库的综述,包括一個数据库抽象层的简明指南。
  • 作业队列 – MediaWiki對长时间任务异步运行的框架。
  • 系统消息API – MediaWiki在通过PHP或JavaScript提供本地化程序消息的框架。

扩展MediaWiki

MediaWiki已設計為允許修改但无须改动核心代码。这也使得用户可以很方便地升级MediaWiki而无须手动把自己的修改重新加入到舊的擴展功能的代码中。有幾个擴展點 可以让开发人员修改或擴展MediaWiki所能做的事。

扩展功能的开发人员的帮助文档

皮肤的开发人员的帮助文档

Help for gadget developers

Help for module developers

备注

  1. 不是所有MediaWiki代码都由PHP书写。一些支持工具是用其他语言书写的,包括批处理文件shell脚本makefilesPython
  2. MediaWiki可以运行在大多数支持PHP的平台上,然而在非LAMP平台上,由于缺少某些实用工具或操作系统功能,可能会限制MediaWiki的功能或性能。
  3. MediaWiki此外支持DBMS,包括PostgreSQL以及SQLite等。
  4. 开发者是志愿者和多个组织的带薪职员(或承包商)的组合。有關使用MediaWiki代碼的人員的完整列表,請閱讀开发人员 文章。
  5. Gerrit浏览源代码和代码存储库的修订,或使用Gerrit 下载源代码至您的系统。