Core Platform Team/Initiative/API Gateway/Epics, User Stories, and Requirements

Personas

 * Client Developer - A developer working with Wikimedia project data and content. Could be internal or external.
 * Administrator -

Epic 1
At the end of this epic, we will have a single preferred API server to point developers to.

Epic 2
In this epic, we begin to have focused APIs around domain-level concepts. Note that these user stories concentrate on the developer; the main painpoint here is the impedance mismatch between CMS-level abstractions like pages and page versions and domain-level abstractions like travel guides, dictionary words, and structured data items. Developers, when they bother, usually have to satisfice by doing their own parsing from CMS objects to domain objects. Each of these "user stories" could probably be an initiative on its own.

Epic 3
In this epic, we concentrate on API endpoints that give cross-wiki functionality. Note that this epic shifts to the needs of the end users, since it is providing functionality that's not available elsewhere.


 * User - Any person with a registered account in the project
 * Reader - A person reading content on the project
 * Contributor - A person who adds new information to the project
 * Curator - A person who edits and organizes existing information in the project
 * Administrator - A person who manages users, groups, roles, and monitors bad behaviour