October 2011 Coding Challenge/New developer intro
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
General new developer resources
editBecoming a MediaWiki hacker
editHere's a good introduction on what's involved in becoming a MediaWiki hacker, including instructions for installing your own MediaWiki instance.
IRC: #mediawiki
editIRC is short for Internet Relay Chat, and open source developers talk on IRC all the time. The IRC Primer is a good overview of how IRC works. Friendly MediaWiki developers can be found on the #mediawiki channel on irc.freenode.net (web interface). If you are having difficulties figuring out how to write MediaWiki code, you can ask for help there. Be aware, though: if you want someone to help you, do some homework first. If the answer to your question can be found easily by typing the question into Google, you might not want to ask it on IRC.
Mailing list: wikitech-l
editIf someone isn't immediately available to help you on IRC, you can also join the wikitech-l mailing list and ask questions there. The same rules for asking questions on IRC apply for asking questions on mailing lists.
Coding conventions
editCoding conventions are extremely important in the MediaWiki universe. Read them and understand them. If you do not conform to them, your chances of winning go down significantly.
Pre-commit checklist
editHere's a useful pre-commit checklist. Before you decide that your submission is final, go through this checklist. You'll be glad you did.
Security for developers
editWikipedia gets half a billion visits every month, so good security practices are extremely important. Be sure to review the security documentation for Mediawiki developers.
Unit testing
editGreat code starts with a good test. We (as well as your peers, employers or customers) are greatly impressed by thorough unit testing. Of course, before your code is included in Wikipedia itself, good unit tests will be required. Here's some good documentation for writing unit tests in PHP and Javascript.
Browser Compatibility
editBecause Wikipedia is viewed by so many users, browser compatibility matters. (Remember: 0.1% of 500 million users is still half a million users.) Your new code may not work on every browser, but you must not break older browsers, either. Be sure to familiarize yourself with Wikipedia's browser compatibility policy.