如何成为MeaWiKi黑客

来自MyaWiki.Org
跳转到导航 跳到搜索

这篇文章是为了帮助开发人员学习需要贡献的基本技能。发展媒体核心和MiaWiKi扩展请注意,在大多数情况下,当使用MiaWiKi时,不想破解MyaWiKi内核除非你真的知道自己在做什么。

开始的主要路径维基媒体发展是为了有助于提供指导的维基媒体项目没有导师的另一种选择是固定一个良好的第一缺陷.

如果您是熟悉使用MeaWiKi的有经验的开发人员,请访问开发者集线器 相反。

对于其他方式参与维基媒体社区,请参见如何投稿 .

简介

是一款软件,它为维基百科、它的姊妹项目以及全世界成千上万的维基提供了动力。

MediaWiki is written in thePHP编程语言〔1〕它使用jQuery作为客户端JavaScript库。

主要是为灯台[ 2 ]MyaWiKi主要使用MySQL或MariaDB数据库服务器。〔3〕

发展发生在开源风格〔4〕基本上是在线协调的,维基媒体基金会支持,尽管志愿者社区开发者也发挥了巨大的作用。

这个页面可以帮助你成为MeaWiKi的贡献者。它不是一个教程;它只是指向你可以在任何地方学习任何必要的地方。

建立开发环境

大多数项目使用Git和Grit。跟随格瑞特辅导为了建立你的开发帐户。然后你可以继续下载我们的代码,进行修改,测试它们,并提交补丁。

虚拟漫游机

  • 流浪设施这些步骤将安装具有Linux Linux虚拟机上所有要求的MeaWiKi服务器(可以在Linux、Windows或Mac主机上使用)。

码头工人发展环境

手动安装

  • 安装要求-检查硬件要求,并安装灯、MAMP或WAMP服务器(Linux、MAC或Windows,再加上Apache、MySQL/MILADB和PHP)。
  • 从Git下载 -从Git下载最新的源代码。
  • 安装指南 -继续安装和初始配置。
  • 设置各种调试模式在您的环境中提前显示警告和错误。

没有必要下载维基百科数据库转储来开发MyaWiKi特性。事实上,在很多情况下,使用一些专门制作的测试页更容易使用一个几乎空的数据库。然而,如果出于某种原因,你想要一个维基百科的拷贝,你可以。得到一个垃圾场.

建议阅读

观察开发者在MealaWiKi扩展中修复bug,包括调查、GIT提交、审查和合并,以及关闭BugZILA票据(现在被替换)灭菌器

反馈、问题和支持

  • 你希望自己先做一些基础性的研究:看看代码,试着去理解它应该做什么,阅读相关的文档,尝试找出可能需要改变的地方来修复bug。
  • 如果你有一般的问题,这些问题与你想处理的特定任务无关,那么使用通用的通道维基媒体开发者支持或IRC或通讯名单但不是具体的任务。
  • 如果您对bug本身有一个特定的问题,请在相应的bug报告中进行注释(通常是一个任务)。灭菌器 你能给我更多的信息来修复这个bug吗?”不是一个开始的好问题你的问题越具体,人们就越有可能快速回答问题。如果你根本不知道如何修复这个bug,也许这个bug还没有给你——请考虑先找一个比较容易的。
  • 当问,解释你已经尝试和发现的,所以其他人可以帮助在正确的水平。具体地说,例如,复制和粘贴命令和输出(如果不是太长),而不是用自己的话进行释义。这避免了误解。
  • 避免在我们的私人电子邮件或支持请求社会媒体频道
  • 在输入和评论时要有耐心。在IRC,不要问,只是问:大多数问题都可以回答其他社区成员,如果你问一个IRC渠道。如果没有人回答,请询问有关问题的bug报告或wiki页面,不要只是放弃。
  • 了解更多通讯 .
  • 你也可以问任何问题。每周技术咨询会议关于弗里诺德IRC的维基媒体技术频道。



沟通你工作的任务

不要问你是否可以在一个任务上工作。你不需要在你开始工作之前宣布你的计划,但是这是受欢迎的。你可以把自己设定为一个任务的受让人:使用下拉加法动作……在PHBRICCORATER中分配/索赔。

还要注意的是,如果一个任务已经在GeRIT中有一个最近的链接,并且在PHBRICER中有一个“补丁补丁”的项目,那么选择一个不同的任务来工作,以避免重复的工作。拾起现有的补丁并改进它,基于GeRIT中的反馈和任务中的反馈。

如果你停止了一项任务,把你自己作为任务的受让人,这样其他人知道他们可以完成任务,也不会期望你继续工作。

通过早期交流,你会得到更多的关注、反馈和来自社区成员的帮助。


附录

MiTaWiKi撰稿人在印度班加罗尔工作。

PHP

MeaWiKi是用PHP编写的,所以你需要熟悉PHP来破解MyaWiKi的核心。

学习PHP
  • PHP教程-可用于多种语言。如果你不知道PHP,但知道如何用其他面向对象的编程语言编程,PHP将很容易为你学习。
  • PHP程序设计在维基书上。
  • PHP主题在维基大学。
PHP资源
知道的东西
  • 剧本维护/评估在MyaWiKi中提供了一个基本的PHP解释器,其中包含了MyaWiKi对象和类。
  • 此外,脚本维护/外壳在MiTaWiKi中是一个替代维护/评估基于PysH,参见手册:Sel.PHP.


数据库

许多特性需要一定数量的数据库操作,所以您通常需要熟悉MySQL/MILADB。

学习MySQL/MiRADB
MySQL/MiRADB资源
知道的东西
  • 用MySQL/MiRADB测试代码。
    • MiTaWiKi目前使用MySQL玛丽亚德作为主数据库后端。它还支持其他的数据库管理系统,如波斯特雷斯尔SQLite然而,几乎所有的开发人员都使用MySQL/MiRADB,不测试其他DBS,因此定期中断。因此,建议您在测试补丁时使用MySQL或MIALADB,除非您特别想改善对另一个DB的支持。在后一种情况下,确保您小心不要破坏MySQL/MiRADB(或者编写在其上非常低效的查询),因为MySQL/MiRADB是每个人都使用的。

JavaScript与CSS

JavaScript和CSS已经成为前端代码中无所不在的地方。你不必熟悉JavaScript、jQuery和CSS来处理MyaWiKi,但是你可能需要,取决于你选择的是什么。

学习JavaScript和CSS
JavaScript与CSS资源

维基百科

MeavaWiKi代码库很大,有些部分是丑陋的,不要被它淹没。当你第一次启动时,目标是编写特性或修复只触及小代码区域的bug。

MiaWiKi的基础知识,必须阅读
中维基资源

MeimaWiKi扩展

如果您选择使用MyaWiKi扩展代码,以下链接提供更多信息。

MIDAWIKI扩展基础
MiTaWiKi扩展资源

也见

  1. γ 并非所有的MeaWiKi都是用PHP编写的。一些支持工具是用其他语言编写的,包括批处理文件外壳脚本生成文件Python.
  2. γ MiTaWiKi在支持PHP的大多数平台上运行,但是,缺少某些实用程序或操作系统特性可能限制MeaWiWi在非LAMP平台上的功能或性能。
  3. γ MiTaWiKi支持数据库管理系统以外MySQL玛丽亚德包括Oracle波斯特雷斯尔SQLite微软SQL Server.
  4. γ 开发者是志愿者和有偿工作人员(或承包商)的混合体。对于Word在MealWiKi代码中的完整列表,请阅读开发商 文章
  5. γ 浏览源代码和代码库的修订HTTPS:/PHabRiabor或者使用GeRIT下载源代码到您的系统。