Developer Advocacy/Developer Portal/Content Draft
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. See https://developer.wikimedia.org/ instead. |
Each use case links to its most relevant documentation (i.e. to pages on wikitech or mediawiki.org).
This is not a design or layout proposal, and this is not a ranking or order.
- For the same content rendered per section instead (which could be easier to read), see this HTML page.
- For general info and context, see Developer Portal.
Main Page / Overview
editWikimedia is a global movement with a mission to bring free knowledge to the world.
We run the free encyclopedia Wikipedia, the multi-lingual structured database Wikidata, the media repository Wikimedia Commons, and other free knowledge projects. We keep the Wikimedia sites fast, reliable, and available to all. Our sites run on our own servers in five data centers across the world.
We build and use Free and Open software to make it easy to read, edit, and share from the Wikimedia sites. Our technology empowers diverse users and communities around the world to contribute and access free knowledge.
Our vibrant free and open-source community of staff and volunteers contributes to the core software MediaWiki, supports curation workflows through tools that enhance the user experience, innovates on new forms of content creation and consumption, and interacts with our data and APIs to visualize or analyze data.
Use Wikimedia content in your software
editQuery, pull, and reuse content from Wikimedia sites.
Use the REST API to get machine-readable content and metadata from Wikimedia sites.
The MediaWiki Action API allows you to programmatically interact with data on your MediaWiki installation.
For companies and organizations to consume and re-use Wikimedia data for commercial purposes.
Access publicly available data from Wikimedia sites for offline use.
Build tools, gadgets, and bots for your Wikimedia community
editWrite, run, and host bots
editAutomate and perform repetitive tasks on a wiki.
Write a bot to help perform repetitive work.
Find the most popular bots used on Wikimedia sites.
Toolforge enables you to make your bots and tools available to project editors, technical contributors, and other volunteers.
Build and host web applications on Wikimedia Cloud Services
editHost your Wikimedia tools to perform analytics, run webservices, and create tools that help project editors, technical contributors, and other volunteers who work on Wikimedia projects.
Toolforge enables you to make your bots and tools available to project editors, technical contributors, and other volunteers who work on Wikimedia projects.
Set up and host your software to make it available to volunteers who work on Wikimedia projects.
Have more underlying infrastructure managed on Toolforge or have more personal freedom on Cloud VPS.
Browse the tools used by the Wikimedia communities.
Learn about data services that allow direct access to databases and dumps, as well as web interfaces for querying and programmatic access to data stores.
Enhance reader and editor functionality via on-wiki code
editWrite code on wiki without using repositories or special server permissions.
Use templates for standard text when you want to include it on multiple pages.
Find the most popular templates used on Wikimedia sites.
Write Lua modules to simplify complex templates and handle string, mathematical and logical operations.
Use TemplateStyles to define a stylesheet to load for a template on a wiki page.
Write JavaScript and save it on a wiki page to quickly enhance functionality.
Find the most popular gadgets for Wikimedia sites.
Create interactive dynamic maps with the Kartographer extension.
Use and write Node.js and Python code that can run on Wikipedia servers. Wikifunctions is intended to support the automatic generation of article text and data representation in every supported language.
Machine Learning and Natural Language Processing
editBuild and train machine learning models and infrastructure on Wikimedia sites.
Add, manage, and improve your content and structured data on Wikimedia sites
editShare data with the world, and make free knowledge more reliable and accessible.
Donate institutional data to Wikidata and Wikimedia Commons
editBulk-upload freely licensed media to Wikimedia Commons.
Make your organization's public data available, and improve open knowledge.
Use Structured Data with Wikidata and Wikibase
editExplore Wikidata tutorials.
Make files on Wikimedia Commons easier to view, search, edit, organize, and re-use.
Learn how to search and extract data from Wikidata with SPARQL queries.
Contribute to the MediaWiki software platform and stand-alone applications
editEnhance the MediaWiki software platform
editExtend functionality of the MediaWiki core software via extensions, or change its appearance via skins.
Build the basic skills you need to start developing MediaWiki core and MediaWiki extensions.
Find development policies, debugging, testing, architecture and subsystems, writing extensions, skins, and third-party libraries to use with MediaWiki.
Browse through existing extensions.
Find all extensions deployed on Wikimedia servers at a glance.
Wikibase enables you to manage structured data in your own MediaWiki installation.
Improve page editing and help new Wikipedia editors
editHelp newcomer editors on Wikipedia sites in their first weeks.
The talk pages project seeks to improve the experiences of individuals who use MediaWiki talk pages to communicate.
Contribute to native applications to edit, curate, and display Wikimedia content
editAccess, edit, and upload to Wikimedia websites from your mobile device.
- Mobile Commons Android app – https://commons-app.github.io/
- Mobile Wikipedia KaiOS app – mw:Wikipedia for KaiOS
- Mobile Wikipedia Android and iOS apps – mw:Wikimedia Apps
Use software (such as Kiwix) to read Wikimedia content without having an internet connection.
Use local software to perform repetitive work as a Wikimedia editor.
- Huggle – Deals with vandalism on Wikimedia projects – m:Huggle
- AutoWikiBrowser – A semi-automated editor to make repetitive editing tasks – w:en:Wikipedia:AutoWikiBrowser
- WPCleaner – Helps with various Wikipedia maintenance tasks – w:en:Wikipedia:WPCleaner
Get metrics and statistics about Wikimedia sites for research and decision-making
editUse and query metadata about Wikimedia sites to create insights and identify trends.
Metrics and visualizations about reading, editing, and content on Wikimedia sites.
Make data informed decisions by querying Wikimedia's dataset systems.
Find graphs about the performance of Wikimedia sites.
Access Wikimedia databases and dumps from your tool on Toolforge, as well as web interfaces for querying data stores.
Turn research questions about Wikimedia into public knowledge.
Get started as a newcomer
editNew to the Wikimedia movement? Get an overview, understand some development basics, and learn about our communities.
Find out how to get started as a technical newcomer to Wikimedia.
Find out where to talk to and collaborate with other contributors and how to find support.
Set up and use Gerrit, Wikimedia's collaborative code review system to submit patches for most projects.
Phabricator is used by Wikimedia technical contributors to collaboratively plan projects and track issues.
Read stories about Wikimedia's technologies and software development.
Wikimedia takes part in several internship and outreach programs. Find out how to participate.
Meet other developers and work on software projects together.
Need to contact a code maintainer or steward? This is a list of teams who maintain MediaWiki core, key extensions, and Wikimedia servers.
Learn about Wikimedia wikis, data centers, backups, CDN, and anything related to site reliability (SRE).
Create quality software
editRead about contribution standards and guidelines to make better software for everyone.
Learn about caching, backend and page load performance guidelines.
Learn best practices for creating accessible code.
The Technical Forum connects teams to stakeholders with the WMF, affiliates and volunteer community to make sound technical decisions.
Best practices and checklists to develop secure and robust code.
Explore style guides and resources for writing better technical documentation.
The interactive Design Style Guide provides guidelines and best practices for designing Wikimedia products.
Make your MediaWiki code work with all human languages.