This is a proposal for an initial
of a developer portal.
Each use case links to its most relevant documentation (i.e. to pages on
a design or layout proposal, and this is
a ranking or order.
Main Page / Overview [ edit ] Wikimedia 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 [ edit ]
Query, pull, and reuse content from Wikimedia sites.
Access Wikimedia's content and metadata
Use the REST API to get machine-readable content and metadata from Wikimedia sites.
Use the MediaWiki API
The MediaWiki Action API allows you to programmatically interact with data on your MediaWiki installation.
Use Wikimedia Enterprise
For companies and organizations to consume and re-use Wikimedia data for commercial purposes.
Download database dumps
Access publicly available data from Wikimedia sites for offline use.
Build tools, gadgets, and bots for your Wikimedia community [ edit ]
Write, run, and host bots [ edit ]
Automate and perform repetitive tasks on a wiki.
Create a bot
Write a bot to help perform repetitive work.
Explore popular bots
Find the most popular bots used on Wikimedia sites.
Set up and host your bot on Toolforge
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 [ edit ]
Host 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.
Set up and host your tool on Toolforge
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 on Cloud VPS
Set up and host your software to make it available to volunteers who work on Wikimedia projects.
Understand the difference between Cloud VPS and Toolforge
Have more underlying infrastructure managed on Toolforge or have more personal freedom on Cloud VPS.
Explore tools available on Toolforge
Browse the tools used by the Wikimedia communities.
Access data services
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 [ edit ]
Write code on wiki without using repositories or special server permissions.
Avoid duplicated work with templates
Use templates for standard text when you want to include it on multiple pages.
Explore commonly used templates
Find the most popular templates used on Wikimedia sites.
Write complex templates using the Lua scripting language
Write Lua modules to simplify complex templates and handle string, mathematical and logical operations.
Define CSS to load for a template
Use TemplateStyles to define a stylesheet to load for a template on a wiki page.
Change the behavior of the software with user scripts and gadgets
Explore commonly used gadgets
Find the most popular gadgets for Wikimedia sites.
Use and embed maps in Wikimedia wikis
Create interactive dynamic maps with the Kartographer extension.
Collaborate on crowdsourced Node.js and Python functions
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 [ edit ]
Help improve content quality on Wikimedia sites via machine learning
Build and train machine learning models and infrastructure on Wikimedia sites.
Add, manage, and improve your content and structured data on Wikimedia sites [ edit ]
Share data with the world, and make free knowledge more reliable and accessible.
Donate institutional data to Wikidata and Wikimedia Commons [ edit ]
Upload and manage the content of your gallery, library, archive, or museum (GLAM) on Wikimedia Commons
Bulk-upload freely licensed media to Wikimedia Commons.
Upload, manage, and reuse data in Wikidata
Make your organization's public data available, and improve open knowledge.
Use Structured Data with Wikidata and Wikibase [ edit ]
Learn about Wikidata, the central knowledge base and storage for structured data in Wikimedia sites
Explore Wikidata tutorials.
Use structured data for multilingual and machine-readable information on Wikimedia Commons
Make files on Wikimedia Commons easier to view, search, edit, organize, and re-use.
Search and extract data from Wikidata
Learn how to search and extract data from Wikidata with SPARQL queries.
Contribute to the MediaWiki software platform and stand-alone applications [ edit ]
Enhance the MediaWiki software platform [ edit ]
Extend functionality of the MediaWiki core software via extensions, or change its appearance via skins.
Learn how to develop MediaWiki code
Build the basic skills you need to start developing MediaWiki core and MediaWiki extensions.
Key documents, resources, and tools for MediaWiki developers
Find development policies, debugging, testing, architecture and subsystems, writing extensions, skins, and third-party libraries to use with MediaWiki.
Explore existing MediaWiki extensions
Browse through existing extensions.
Explore existing MediaWiki extensions deployed on Wikimedia servers
Find all extensions deployed on Wikimedia servers at a glance.
Store, manage and access structured data with Wikibase
Wikibase enables you to manage structured data in your own MediaWiki installation.
Improve page editing and help new Wikipedia editors [ edit ]
Onboarding new editors on Wikimedia sites
Help newcomer editors on Wikipedia sites in their first weeks.
Improve contributors' talk page experiences
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 [ edit ]
Contribute to mobile applications
Access, edit, and upload to Wikimedia websites from your mobile device.
Contribute to offline applications
Use software (such as
Kiwix) to read Wikimedia content without having an internet connection.
Contribute to desktop apps to save experienced Wikimedia editors' time
Use local software to perform repetitive work as a Wikimedia editor.
Get metrics and statistics about Wikimedia sites for research and decision-making [ edit ]
Use and query metadata about Wikimedia sites to create insights and identify trends.
Gather statistics about data and activity on Wikimedia sites
Metrics and visualizations about reading, editing, and content on Wikimedia sites.
Perform data analytics on Wikimedia sites
Make data informed decisions by querying Wikimedia's dataset systems.
Gather statistics on the performance of Wikimedia sites
Find graphs about the performance of Wikimedia sites.
Access data services (Quarry, PAWS, Data dumps, etc) from your tool
Access Wikimedia databases and dumps from your tool on Toolforge, as well as web interfaces for querying data stores.
Perform scientific research on Wikipedia and its sister projects for scientists and engineers
Turn research questions about Wikimedia into public knowledge.
Get started as a newcomer [ edit ]
New to the Wikimedia movement? Get an overview, understand some development basics, and learn about our communities.
Learn about Wikimedia's software projects and infrastructure
Find out how to get started as a technical newcomer to Wikimedia.
Connect with others in the Wikimedia community
Find out where to talk to and collaborate with other contributors and how to find support.
Propose code changes and participate in code reviews
Set up and use Gerrit, Wikimedia's collaborative code review system to submit patches for most projects.
Manage and plan software tasks, report bugs, and request new features
Phabricator is used by Wikimedia technical contributors to collaboratively plan projects and track issues.
Follow the Wikimedia Tech blog
Read stories about Wikimedia's technologies and software development.
Find out about internships and outreach programs
Wikimedia takes part in several internship and outreach programs. Find out how to participate.
Join our Hackathons
Meet other developers and work on software projects together.
Find code base maintainers and stewards
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 the infrastructure that keeps Wikimedia sites up and running
Learn about Wikimedia wikis, data centers, backups, CDN, and anything related to site reliability (SRE).
Create quality software [ edit ]
Read about contribution standards and guidelines to make better software for everyone.
Write performant code
Learn about caching, backend and page load performance guidelines.
Write inclusive, accessible, barrier-free code
Learn best practices for creating accessible code.
Make sound technical decisions for software running on Wikimedia servers
The Technical Forum connects teams to stakeholders with the WMF, affiliates and volunteer community to make sound technical decisions.
Write secure code
Best practices and checklists to develop secure and robust code.
Contribute to technical documentation
Explore style guides and resources for writing better technical documentation.
Implement a consistent user experience
The interactive Design Style Guide provides guidelines and best practices for designing Wikimedia products.
Learn about localization and internationalization
Make your MediaWiki code work with all human languages.