WIKIMEDIA TECHNICAL AREAS Wikimedia Technical Areas
MediaWiki Skins
MediaWiki Extensions Mobile Apps Web and REST APIs Templates
Gadgets and User MediaWiki Core Desktop Apps Machine Learning Bots scripts
Cloud Services
Site Operations
Quality Assurance / Continuous Integration
Translation
Design
Documentation MediaWiki Extensions
● Extends the functionality of MediaWiki software ● Most recommended area for newcomers to get started ● Help develop new or improve existing extensions
Skills required: PHP, jQuery, Javascript, CSS/ LESS, MySQL/MariaDB MediaWiki Extensions
Extension Echo ● Provides a notification system that can be used by other extensions too ● Mentors Moriel and Matt attending Wikimania
Screenshot of Echo notification extension. CC BY-SA 4.0 Ethanlee16 Mobile Apps
● Available for Wikipedia and Wikimedia Commons ● Wikimedia Commons App ○ Allows uploading, or viewing nearby missing pictures ○ Featured project for new developers ● Mentor Vojtěch Dostál attending Wikimania
Skills required: Objective-C/Swift (IOS), Java (Android)
Commons app screenshot CC BY-SA 3.0 Yuvipanda Desktop Apps
Kiwix ● A third party, offline content reader ● Allows access to Wikipedia content through Zim file format ● Featured project for new developers ● Mentors Matthieu, Emmanuel, Stephane attending
Wikimania Screenshot of Kiwix running Wikipedia on an OLPC laptop. CC BY-SA 3.0, Victor Grigas
Skills required: Swift (IOS), HTML5/JS (browser extension), Java (Android), C++/Python (tools & common codebase)
Desktop Apps
Huggle ● An anti-vandalism tool that helps revert edits that are problematic ● Featured project for new developers ● Mentor Petr Bena attending Wikimania
Skills required: C++ & Qt framework
Screenshot of desktop application Huggle Machine Learning
Objective Revision Evaluation Service (ORES) ● Machine learning web service & API, allows scoring and evaluating an edit ● Featured project for new developers ● Mentors Aaron & Adam attending Wikimania
CC BY-SA 4.0, Mun May Tee
Skills required: HTML, JS, CSS, Python, Redis, Postgres, Python Scikit-learn, PHP (MediaWiki), MariaDB
Cloud Services
Empowers the work of technical contributors ● Provides a hosting environment for running bots and tools ● Support the operation, creation, and maintenance of these tools
● 1000+ tools hosted via these services CC BY-SA 4.0, Brandon Harris Cloud Services
Tool example: Wiki Ed Dashboard ● Web application that supports Wikipedia education assignments, provides data and course management for instructors and students ● Featured project for new developers ● Mentor Sage Ross attending Wikimania Screenshot of WikiEd’s Program and Events Dashboard
Skills required: Ruby, Javascript, HAML Web and REST APIs
● Look things up, write bots, create tools or visualizations, etc. ● Kind of stuff you can do: create or edit a page, view revisions, list citations, etc. Web and REST APIs
● Look things up, write bots, create tools or visualizations, etc. ● Kind of stuff you can do: create or edit a page, view revisions, list citations, etc.
Listen to Wikipedia > MediaWiki Skins
● Look and feel of MediaWiki ● As a user ○ Choose your favored skin from your User Preferences ○ Or write a custom CSS > Userpage/commons.css ● As a developer ○ Help improve an existing or develop a new skin Templates
Standard wiki pages embedded inside other pages
Template:OP tabs
{{OP tabs}}
Skills required: Wikitext, HTML, CSS, Javascript, Lua Gadgets and User scripts
Standard, on-wiki user scripts that extend the functionality of MediaWiki
Navigation Popups
Skills required: JS &/ CSS Bots
● Automated tools that help perform tedious or repetitive tasks related to a wiki (e.g. spell check, revert vandalism) ● Example Bot: Pywikibot
Skills required: Python & related libraries Wikimedia Technical Areas
MediaWiki Skins
MediaWiki Extensions Mobile Apps Web and REST APIs Templates
Gadgets and User MediaWiki Core Desktop Apps Machine Learning Bots scripts
Cloud Services
Site Operations
Quality Assurance / Continuous Integration
Translation
Design
Documentation Resources
1. How to contribute https://www.mediawiki.org/wiki/How_to_contribute 2. New Developers https://www.mediawiki.org/wiki/New_Developers Follow-up
● Email [email protected] ● Twitter @srish_aka_tux ● IRC #wikimedia-devrel on freenode Thank you!