An Introduction to and an Overview of Wikimedia Tech: Technical areas, Infrastructure, and Communication.
- MediaWiki Core
- API: WebAPI: https://www.mediawiki.org/wiki/API:Main_page
- XML and SQL dumps: https://meta.wikimedia.org/wiki/Data_dumps
- Templates: https://www.mediawiki.org/wiki/Help:Templates
- Gadgets: https://www.mediawiki.org/wiki/Gadget_kitchen
- Bots: https://www.mediawiki.org/wiki/Manual:Bots (e.g. the Pywikibot framework)
- Labs and Tool Labs: https://wikitech.wikimedia.org/wiki/Help:Tool_Labs
- (Simplified: Compared to Bots, Tools always run, also when you're not around)
- MediaWiki extensions: https://www.mediawiki.org/wiki/Manual:Extensions
- MediaWiki Skins: https://www.mediawiki.org/wiki/Manual:Skins
- Testing: https://www.mediawiki.org/wiki/Quality_Assurance
- Mobile applications: https://www.mediawiki.org/wiki/Wikimedia_Apps (Objective-C, Java)
- External desktop applications: Huggle (C ), AutoWikiBrowser (C#), ...
- Programming languages: PHP, JavaScript, Lua, HTML, CSS/LESS, Objective-C, Java, C , C#, ...
- Site operations and technical infrastructure: https://github.com/wikimedia/operations-puppet , https://wikitech.wikimedia.org/wiki/Puppet_coding
- Infrastructure
- Communication: on-wiki, IRC chat (pretty common among developers), mailing lists: https://www.mediawiki.org/wiki/Communication
- Tracking and discussing tasks, bugs, enhancement requests: https://www.mediawiki.org/wiki/Phabricator
- Source code in Git and Code review in Gerrit: https://www.mediawiki.org/wiki/Gerrit
- High-level overview of MediaWiki development: https://www.mediawiki.org/wiki/Developer_hub
- Introduction to developing MediaWiki: https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker
- Find something to get started! Easy tasks: https://www.mediawiki.org/wiki/Annoying_little_bugs
- Get inspired by what's going on: https://meta.wikimedia.org/wiki/Tech/News
- Apart from code: https://www.mediawiki.org/wiki/How_to_contribute
- Explore, create, share, collaborate, have fun!
- What do you plan to work on? And how can we help you?