如何提交程序漏洞
- 有关维基媒体项目的技术性问题,参见m:Tech
- 有关非WMF之MediaWiki站点的技术性问题,参见Project:Support desk
此指引介绍了如何在维基媒体的错误追踪系统(更多信息参见Phabricator )中写一个好的漏洞报告或功能请求(一个任务/Task)。任务写得越好,越有可能会有人尽快处理问题。 任务需要用英语写。如果您不会英语,可以使用机器翻译,比如Google翻译(中国大陆用户可通过此处使用Google翻译)。
提交要领
- 精确
- 明确:请分章节的说明(1)如何一步一步的复现這個狀況、不留任何想像的餘地(2)预期的行为(3)实际的行为。
- 每个任务中只包含一个特定的bug或特定的功能要求
- 包含任何相关链接及示例
在您做任何事之前
您可以重现此问题吗?
尝试在最新版软件中重现你的bug,检查它是否已经被修复了。如果這個bug是在像维基百科一樣的wiki之中,您可以在test2.wikipedia.org 中测试最新版的軟體。
有人已提報此问题了吗?
使用维基媒体的错误追踪系统的搜索框查看您的bug是否已被提报,或者您要请求的新功能是否已经有人请求。您也可以在高级搜索页面执行更多高级搜索。
如果您不确定是否有人报告了bug,您也应该报告它。出现一个重复的bug总比一個没人报告的bug來得好。
可能是小工具/用户脚本问题吗?
一些问题源于一些的用户脚本和小工具的使用,這些都需要修复一下。 這裡有一個附有步驟的指引 讓你辯識出這樣的代碼,這些步驟說不定可以解決您的問題,這樣你就不需浪費時間去提報了。
是缓存问题吗?
有些问题与缓存的较旧的HTML与较新的JavaScript同时提供有关,这两者是不兼容的。为帮助确定这是否是问题的原因,请清除缓存,刷新页面并查看问题是否仍然存在,然后将此信息加入到错误报告中。
提报新的bug或功能请求
如果您在最新版中发现了没有提报过的bug,那么:
- 前往phabricator.wikimedia.org
- 如果您还没有登录(或注册),您可能需要登录(或者注册)您的账号(参见“创建您的账户 ”)。
- 单击右上角的书签按钮,然后选择“Report a Software Bug”(或“Report a Security Issue”到报告安全问题 )。
- 至少填写下列内容:
- 标题:一句话解释问题(而不是您建议的解决方法)。
- 好的标题:
"Selecting gender is not functional on Special:Preferences"
- 不好的标题:
"Software crashes"
- 好的标题:
- 描述:问题的完整说明,应尽可能详细。 如果您提供的信息不够详细,您将被要求补充更多信息(同时会指导您如何获取这些信息)。 这个字段应包括:
- 对于bugs:
- 重现步骤:能重现所述问题的最简且方便参照的步骤。需包含所有特殊设置步骤。
- 示例:
Go to https://en.wikipedia.org with Internet Explorer version 10.0;
Make sure you are logged in;
Select "My Preferences" menu;
Go to "Gender" and select female gender from box list;
Click "Save" button.
- 示例:
- 实际结果:在进行上述步骤后,软件出现的问题。
- 示例:
"There is no female gender in front of my username."
- 示例:
- 期望结果:程序正常时应实现的效果。
- 例子:
"My gender is shown in front of my username."
- 例子:
- 重现步骤:能重现所述问题的最简且方便参照的步骤。需包含所有特殊设置步骤。
- 对于功能请求:
- 描述您想要实现的目标,以及原因。 解释您希望该功能将解决的问题(实际的潜在问题)以及具体示例; 但不要求特定的解决方案,因为可能有其他/更好的解决方案。 一个用户故事是传达这一点的有效方式。
- 例子:
"As a new editor, I would like to be acknowledged for my contribution to the project, so that I feel welcomed and valued"
- 例子:
- 描述您想要实现的目标,以及原因。 解释您希望该功能将解决的问题(实际的潜在问题)以及具体示例; 但不要求特定的解决方案,因为可能有其他/更好的解决方案。 一个用户故事是传达这一点的有效方式。
- 也请您提供任何其他可能有用的信息,例如:
- 网页浏览器、皮肤或者您发现了漏洞的计算机系统;
- 到您遇到错误的一个或多个页面的链接或对比页;
- 该问题的出现是每次、偶尔、仅在某些页面或仅在特殊条件下。
- 对于bugs:
- 如需附上日志文件或者屏幕截图 (但请您确保上传的文件不包括任何机密信息),點擊「Description」欄位工具列中的「Upload File」按鈕(帶有雲朵和箭頭)。
- 选择您发现错误的标签(项目):
- 項目是用來讓開發人員找到需要處理的工作。為了確定合適的項目,使用在右上方的搜索功能來找到其描述。
- 例如:
MediaWiki-General
用于wiki软件自身,或Wikimedia-Site-Requests
用于维基媒体网站上的配置更改(参见Selecting projects )。
- 订阅者:如果您知道有用户对这则任务感兴趣,并乐意相关收到通知,您可以添加她们。 否则,请忽略它。
- 标题:一句话解释问题(而不是您建议的解决方法)。
检查报告是否完整,然后按下“Create Task(创建任务)”按钮。您的报告将保存至数据库。 这使得对报告感兴趣的人可以查看它并可能会对其进行操作 。
如果开发者有计划完成这项任务,她们会对其设置优先级(参见设置优先级)。
感谢您协助提升MediaWiki软件以及维基媒体项目!
報告 JavaScript 錯誤
- 參見: Help:定位损坏脚本
很多的功能,如插件、用户脚本以及其他MediaWiki上的部分依赖于JavaScript。
当您遭遇一个可能与JavaScript有关的错误时,尽您最大努力去确认错误消息,并将其复制在错误报告中。
提供所有您所擁有的信息至关重要,因為即使是系統管理員也无法访问錯誤日誌。
如果问题存在于用户脚本或小工具本身的代码中,那么Phabricator可能不是处理相关问题的地方。[1]如果确认了出问题的脚本,有人会将您引导至相关脚本的讨论页。
报告连接问题
如果您访问维基媒体网站时存在困难(如网络连接缓慢等),请参照本页。
报告登录问题
如果您在登录您的账户时存在问题,请查阅手册:如何调试/登录问题。
备注
参见
- 如何有效的报告bug 作者 Simon Tatham
- 维基媒体Phabricator
- 缺陷管理/缺陷管理生命周期
- 撰写一个好的错误报告或功能请求
- 错误报告和功能请求(来自英语维基百科)