Wikimedia Developer Summit/2017/Building on Wikimedia services: APIs and Developer Resources

This a main topic discussed at the Wikimedia Developer Summit 2017, facilitated by Chase Pettet and Bryan Davis.

The problem
We want developers to succeed in building useful things. As a community it benefits us all to share knowledge, practices, frustrations, and outcomes. We currently have a large ecosystem of resources for developers and most of them are not well known, understood, or documented.

Edits welcome

---

How to improve moving data into and out of the wikis (distribution)?

(...) Ensuring that all new business logic is available via the Action API or other externally automatable means. If we could make a collective decision that a SpecialPage must just be a user interface over an API that can be manipulated programmatically both inside and outside of MediaWiki+extensions then we would be turning a corner towards the possibility of radical new user interfaces (single page app, service workers, rich desktop/mobile apps).

This is related to the Developer Experience (DX). The requirements for useful, consistent and well documented web APIs is largely the same as for useful, consistent and well documented PHP service interfaces or useful, consistent and well documented puppet roles for Labs (although the way these requirements will be implemented will of course be completely separate).

Gathering feedback about the usability of the action API. What pain points are there.

Proposals welcome

 * How can we better distribute information on our websites? (< -- Does this mean developer practices information?)
 * What data should we make available via API's or other means and what should those means be?
 * What tools are being built already and how to find them and participate?
 * How should I manage my tool in way that makes it sustainable?
 * How can we responsibly use shared resources like the Labs replica DB cluster?
 * What is included in dumps.wikimedia.org and what determines that? Who uses dumps and for what?
 * When should I request a Labs project and when should I join Tool Labs?
 * Understanding restbase
 * How can I consume a feed of recent changes?

Learn more
FIXME: useful links.