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

See also CDP2ː Platform Evolution

Program outlineEdit

Teams contributing to the programEdit

Audiences Design, Documentation, MediaWiki Platform, Parsing, Performance, Readers Web, Services, WMDE

Annual Plan prioritiesEdit

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

Program GoalEdit

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 1Edit

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

Outcome 2Edit

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

Outcome 3Edit

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

CDP Budget Segment 1Edit

Team: Audiences Design

Outcome 2Edit

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 2Edit

Team: Documentation

Outcome 3Edit

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 3Edit

Team: MediaWiki Platform

Outcome 1Edit

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 2Edit

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 4Edit

Team: Parsing

Outcome 1Edit

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 2Edit

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 5Edit

Team: Performance

Outcome 2Edit

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 6Edit

Team: Readers Web

Outcome 2Edit

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 7Edit

Team: Services

Outcome 2Edit

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 8Edit

Team: WMDE (Daniel)

Outcome 1Edit

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)

TargetsEdit

Outcome 1Edit

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

WMF Staff and volunteers can view and understand the current architecture, proposed architecture, implementation plan as well as the parser unification plan

Measurement method

Ensure the architecture and plan documents exists, are publicly accessible, and are announced on public communication channels

Outcome 1Edit

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

Engineers can confidently port specific individual components of Parsoid and verify its correctness and performance without requiring a full port to be ready

Measurement method

Ensure that token transformers and DOM passes have unit tests and a unit testing framework with suitable mocks

Outcome 2Edit

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

Engineers can implement a REST API in MediaWiki using our routing infrastructure

Measurement method

Engineers develop or convert at least one service to REST in MediaWiki

Outcome 3Edit

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

Engineers can view the WMF production architecture, the exposed APIs and the coding standards in a centralized documentation portal

Measurement method

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

ResourcesEdit

Staffing FY2017–18 FY2018–19
MediaWiki Platform
  • .33 ✕ Engineer
  • .33 ✕ Engineer
  • Engineer (new hire)
  • Engineer (new hire)
  • Engineer (new hire)
  • Product Manager (new hire)
  • Technical writer (new hire)
  • Technical writer (contract)
  • Designer (contract)
  • 0.5 ✕ Product Manager (reallocation (Cindy))
Services
  • Engineer
  • 0.5 ✕ Engineer
  • Engineer
  • Engineer (new hire)
  • 0.5 ✕ Engineer
Performance
  • 0.25 ✕ Engineer
  • 0.25 ✕ Engineer (no change)
Parsing
  • Engineer
  • Engineer
  • 0.5 ✕ Engineer
  • Engineer (no change)
  • Engineer (no change)
  • 0.5 ✕ Engineer (no change)
Reading Infrastructure
  • Engineer
  • Engineer
  • Engineer (no change)
  • Engineer (no change)
Readers Web
  • Engineer
  • 0.75 ✕ Engineer
  • Engineer (no change)
  • 0.75 ✕ Engineer (no change)
Technical Collaboration
  • 0.25 ✕ person
  • 0.25 ✕ person (no change)
CapEx
  • None
Travel and Other
  • None