Wikimedia Technology/Annual Plans/FY2019/CDP2: Platform Evolution/CDP Budget Segment 7/Goals

From mediawiki.org

Program Goals and Status for FY18/19[edit]

  • Goal Owner: Corey Floyd
  • Program Goals for FY18/19: 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
  • Annual Plan: Segment 7 - Core Platform

Note: Segment 8 has been folded into Segment 7 (this page) as of the beginning of Q3 FY18/19


[edit]

Outcome 2 / Output 2.2[edit]

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

Modularized RESTBase

Primary team: Services

Goal(s)[edit]

  • Research, document and develop a specification for the storage API. N Postponed
  • Propose an RFC. To do To do

Status[edit]

Note Note: July 2018

  • In progress In progress

Note Note: August 16, 2018

  • In progress In progress Spec for the storage API is still in progress.

Note Note: September 19, 2018

  • N Postponed This goal has been moved to Q2 work due to other issues having priority.

[edit]

Outcome 2 / Output 2.3[edit]

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

Session Management system

Dependencies on: Core Platform Team

Goal(s)[edit]

  • Define and implement a session management service.

Status[edit]

Note Note: November 20, 2018

  • In progress In progress

Note Note: December 14, 2018

The RFC was approved last week and this portion is now Yes Done

[edit]

Outcome 1 / Output 1.2[edit]

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

Goal(s)[edit]

Develop 3-5 year road map.

This roadmap will include major platform goals such as initiatives around APIs, Storage, Parsing and other enabling technology improvements. It will also include short term refactoring work to enable some of those larger changes. The work outlined will be primarily based on the information gathered by the PE team before TechConf and the work done by attendees during TechConf.

Status[edit]

Note Note: January 17, 2019

We're working on creating the documentation portal and getting things setup — defining outcomes and breaking them down into outputs.

Note Note: February 25, 2019

we are breaking down projects and working on dependency tracking In progress In progress

Note Note: March 19, 2019

This is still In progress In progress and in a draft state right now.


Outcome 2 / Output 2.3[edit]

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

Session Management system

Dependencies on: Core Platform Team

Goal(s)[edit]

Production-ize and deploy session management service to unblock multi-DC

Status[edit]

Note Note: January 17, 2019

RFC, language selection, and hardware was completed in Q2, this quarter, we are implementing servers and getting things set up.

Note Note: February 25, 2019

CI is getting setup and ready to deploy soon, and also working on documentation - so fully In progress In progress

Note Note: March 19, 2019

We are still In progress In progress with this and the work for deployment will extend into Q4


Outcome 2 / Output 2.6[edit]

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

Goal(s)[edit]

Spec, plan, and implement MCR page layout enhancement.

Status[edit]

Note Note: January 17, 2019

We are currently gathering requirements and writing the product plan.

Note Note: February 5, 2019

We are a bit N Stalled with this work, but hope to be working on it again in March.

Note Note: March 19, 2019

This goal has been N Postponed into next fiscal

Outcome 2 / Output 2.5[edit]

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

Goal(s)[edit]

Design and begin integrating Parsoid into core

Dependencies on: Parsing Team

Status[edit]

Note Note: January 17, 2019

We are just now starting development for this.

Note Note: February 25, 2019

We are working on this, and is fully In progress In progress with the migration and translating of file and getting things integrated back into core; we hope to get it done by end of this fiscal year.

Note Note: March 19, 2019

We'd like to work further on calling Parsoid from MediaWiki, so this is still In progress In progress with the goal of finishing up in Q4.

[edit]

Outcome 1 / Output 1.2[edit]

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

Goal(s)[edit]

Initial design of API documentation portal.

Status[edit]

Note Note: May 29, 2019

  • This is In progress In progress and should have a prototype by the end of the quarter.

Note Note: June 27, 2019

  • This is In progress In progress and we'll have a complete definition of done on July 1 (will wrap up by July 15)

Note Note: July 9, 2019

  • This is Incomplete Partially done and will be completed by July 15, 2019.


Outcome 2 / Output 2.1[edit]

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

MediaWiki REST API Infrastructure

Dependancies on: Parsing

Goal(s)[edit]

Implement Parsoid API

Status[edit]

Note Note: May 29, 2019

Note Note: June 27, 2019

  • This is In progress In progress and we'll have a complete definition of done on July 1 (will wrap up by July 15)

Note Note: July 9, 2019

  • This is Incomplete Partially done - the REST infra will be merged, we'll add the MW extension and more tests - all to be Yes Done by July 15, 2019.


Outcome 2 / Output 2.2[edit]

Modularized RESTBase

Dependancies on: Release Engineering, SRE

Goal(s)[edit]

Finish implementation of RESTBase split

Status[edit]

Note Note: May 29, 2019

  • This is also In progress In progress and should still be done by end of the quarter with the ramping up of traffic to it next FY.

Note Note: June 27, 2019

  • This is now Yes Done


Outcome 2 / Output 2.3[edit]

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

Dependancies on: SRE

Goal(s)[edit]

Deploy and serve sessions for group 0 wikis

Status[edit]

Note Note: May 29, 2019

  • This is currently N Stalled but still hoping to be done by end of quarter; we will do additional coordination with SRE team.

Note Note: June 27, 2019

  • This is In progress In progress and will get deployed to testwiki in the next few days. We'll have a complete definition of done on July 1 (will wrap up by July 15)

Note Note: July 9, 2019

  • This is Incomplete Partially done - this is deployed and can be considered Yes Done but it is not yet turned on on group 0 wikis. This can take up to 6 weeks to be fully rolled out.


Outcome 2 / Output 2.6[edit]

Refactoring output

Goal(s)[edit]

  • Decouple Permission Manager
  • Implement API integration testing infrastructure to run locally
  • Finish MCR Storage changes to unblock DBAs Incomplete Partially done
  • Revision Table RFC
  • Rank ordering of hooks based on usage
  • Implement 2FA in OATHAuth
  • Release automation: Generate 1.33 release tarball and announcement

Status[edit]

Note Note: May 2019

  • Decouple Permission Manager Yes Done
  • Implement API integration testing infrastructure to run locally is currently N Stalled, conversation is ongoing (the MVP is Yes Done)
  • Finish MCR Storage changes to unblock DBAs Incomplete Partially done
  • Revision Table RFC N Postponed to next FY
  • Rank ordering of hooks based on usage N Postponed to next FY
  • Implement 2FA in OATHAuth is still scheduled to be done this quarter, but slightly delayed due to an unforeseen incident.
  • Release automation: Generate 1.33 release tarball and announcement is still In progress In progress to be finished this quarter.

Note Note: June 27, 2019

  • The Revision table RFC is N Not done and will be investigated next year. 2FA for OATHAuth is currently N Blocked for now.
  • The rest is In progress In progress and we'll have a complete definition of done on July 1 (will wrap up by July 15)

Note Note: July 9, 2019

  • 2FA for OATHAuth is currently In progress In progress and should be done by end July, pending security review.
  • Release automation: Generate 1.33 release tarball is now Yes Done.


Outcome 2 / Output 2.5[edit]

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

Goal(s)[edit]

Integrating Parsoid into core

Dependencies on: Parsing Team

Status[edit]

Note Note: May 2019

  • About 75% of this is complete (initial port is Yes Done), and seems to be well on it's way to being completed by end of quarter.

Note Note: June 27, 2019

  • Parsoid is 100% ported now - Yes Done