Good first bugs

This page is meant to be a curated list of bugs that are relatively easy for a new MediaWiki coder to fix, or tiny features you could add. These are a good way to start getting familiar with the MediaWiki code base.

Relevant Bugzilla queries:
 * bugs with the "easy" keyword
 * bugs with the "easy" keyword sorted by most votes

Defects to fix

 * API query siteinfo namespacealiases should be sorted numerically, not by source
 * This should just need a sort with an appropriate custom sort function in appendNamespaceAliases in includes/api/.
 * show creation date on Special:GlobalUsers
 * This is in the CentralAuth extension.
 * Add PLURAL support for MediaWiki:Recordadmin-notset
 * The RecordAdmin extension lets you link HTML forms to wiki templates, to give you the ability to keep records in a MediaWiki installation. Source code.
 * Make cite expand template arguments inside &lt;ref&gt;'s.
 * Requires passing the  to  .  Look in the codebase of the Cite extension.
 * Random occurrences of "svn" and "phase3" in code
 * We used to use Subversion and our code path included words like |phase3|trunk&sr=1 "trunk" and "phase3" and "svn". Now we use Git and ought to make sure the MediaWiki codebase no longer refers to those old paths. See Carl Fürstenberg's comment for the list of files to change.  It's ok to just start by changing one or two.
 * last search results page contains next page link if result count is multiple of limit (edit)
 * Article.php should check permissions before advising
 * "My new messages" badge number is wrong
 * See Parsoid TODO

System messages
System messages often need small corrections to the English text, but the source text can only be changed in the code by developers, contrary to translations; this has grown into a large backlog of usually very easy fixes (which might be as easy as fixing a typo).

Also, many messages are unclear and require better documentation (see Localisation if you're not convinced this is crucial). Missing documentation can also be added by just editing the  subpage of the message on translatewiki.net, like all translations, but may require some study of the code to understand what a message is for: it's therefore optimal to start understanding the code, and very useful for the translators (which don't have such skills).

All the simple issues of this sort are (or should be) listed at the tracking bug 38638 as blockers: pick one and start committing patches!

Little enhancements to add

 * make Special:Whatlinkshere includable
 * This is a "special page". Look in the MediaWiki core codebase, in particular the directory and the  file.
 * Add block-options to Special:CentralAuth
 * In the CentralAuth extension (source), figure out how to add the user's block options to the section "Blocked status". Talk with us in the #mediawiki channel on FreeNode IRC.
 * Document all configuration variables (usable in LocalSettings.php)
 * Look at . It's okay to start by just adding one comment.
 * Improve pagination of special page reports
 * Look in the MediaWiki core codebase, in particular the directory and the  file.
 * "Replace all" is very slow: WikiEditor should do a one-step replace when replacing all occurrences
 * other message for user without 'editinterface' right
 * look in AbuseFilter.i18n.php, and ask in #mediawiki (see MediaWiki on IRC) to find out where to add a line like:
 * StructureTest::testUnitTestFileNamesEndWithTest should use a dataprovider
 * "StructureTest::testUnitTestFileNamesEndWithTest should be rewritten to use a dataProvider that will give out an array of PHP files under the test directory." This is in mediawiki/core.git / tests / phpunit / structure /.
 * Improve user feedback in upload errors.
 * After global blocking, user is sent to http://meta.wikimedia.org/w/index.php
 * See Parsoid TODO

If you have any trouble or questions, please feel free to contact sumanah or Quim Gil or ask for help via IRC.