Wikimedia Technology/Annual Plans/FY2019/CDP2: Platform Evolution

See also CDP2ː Platform Evolution

Teams contributing to the program
Audiences Design, Documentation, MediaWiki Platform, Parsing, Performance, Readers Web, Services, WMDE

Annual Plan priorities
Knowledge as a Service/Foundational Strength: Evolve our systems and structures

Program Goal
Empower the Wikimedia Foundation to accomplish its goals of Knowledge Equity and Knowledge as a Service by evolving and investing in our technology stack to improve its flexibility, maintainability, and sustainability

Outcome 1

 * Engineers have a clear understanding of our technology stack and the plan to better scale, maintain and test it

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Outcome 3

 * Engineers better understand our current architecture and coding standards and where to find them

CDP Budget Segment 1

 * Team:	Audiences Design

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.8
 * Improved OOUI Library

Outcome 3
 * Engineers better understand our current architecture and coding standards and where to find them

Output 3.4
 * Wikimedia Style Guide Version 2

CDP Budget Segment 2

 * Team:	Documentation

Outcome 3

 * Engineers better understand our current architecture and coding standards and where to find them

Output 3.1
 * Wikimedia developer documentation portal

Output 3.2
 * Architecture pages on developer portal

Output 3.3
 * Coding standards pages on developer portal

CDP Budget Segment 3

 * Team:	MediaWiki Platform

Outcome 1

 * Engineers have a clear understanding of our technology stack and the plan to better scale, maintain and test it

Output 1.2
 * MediaWiki REST API Design

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.1
 * MediaWiki REST API Infrastructure

CDP Budget Segment 4

 * Team:	Parsing

Outcome 1

 * Engineers have a clear understanding of our technology stack and the plan to better scale, maintain and test it

Output 1.3
 * Parser Unification Plan

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.5
 * Initiation of Parser Unification

CDP Budget Segment 5

 * Team:	Performance

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.4
 * Personalized and non-personalized content can be assembled into a page outside of the MediaWiki application

CDP Budget Segment 6

 * Team:	Readers Web

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.7
 * Refactor presentation layer away from business logic code in MediaWiki

CDP Budget Segment 7

 * Team:	Services

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.2
 * Modularized RESTBase

Output 2.3
 * Session Management system

CDP Budget Segment 8

 * Team:	WMDE (Daniel)

Outcome 1

 * Engineers have a clear understanding of our technology stack and the plan to better scale, maintain and test it

Output 1.1
 * Architecture Spec for the WMF technology stack

Outcome 2
 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Output 2.6
 * TBD Refactoring Output (Scope pending architecture - potentially: Use Service Container throughout MediaWiki core)

Outcome 1

 * Engineers have a clear understanding of our technology stack and the plan to better scale, maintain and test it

WMF Staff and volunteers can view and understand the current architecture, proposed architecture, implementation plan as well as the parser unification plan Ensure the architecture and plan documents exists, are publicly accessible, and are announced on public communication channels
 * Target
 * Measurement method

Outcome 1

 * Engineers have a clear understanding of our technology stack and the plan to better scale, maintain and test it

Engineers can confidently port specific individual components of Parsoid and verify its correctness and performance without requiring a full port to be ready Ensure that token transformers and DOM passes have unit tests and a unit testing framework with suitable mocks
 * Target
 * Measurement method

Outcome 2

 * Engineers are able to access more functionality of the stack using well encapsulated components and well defined APIs

Engineers can implement a REST API in MediaWiki using our routing infrastructure Engineers develop or convert at least one service to REST in MediaWiki
 * Target
 * Measurement method

Outcome 3

 * Engineers better understand our current architecture and coding standards and where to find them

Engineers can view the WMF production architecture, the exposed APIs and the coding standards in a centralized documentation portal Ensure this portal exists [cf. https://doc.wikimedia.org/], is accessible by engineers inside and outside the organization, and is announced on public communication channels
 * Target
 * Measurement method