WIKIMEDIA TECHNICAL AREAS Wikimedia Technical Areas

MediaWiki Skins

MediaWiki Extensions Mobile Apps Web and REST Templates

Gadgets and User MediaWiki Core Desktop Apps Machine Learning Bots scripts

Cloud Services

Site Operations

Quality Assurance /

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

Screenshot of Echo notification extension. CC BY-SA 4.0 Ethanlee16 Mobile Apps

● Available for and ● 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 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: 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 from your User Preferences ○ Or write a custom CSS > Userpage/commons. ● 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!