Wikimedia Technology/Goals/2018-19 Q2

= Introduction = The Technology Department has a number of annual goals in support of the Wikimedia Foundation's Annual Plan; this work is detailed in the Annual Plan. Our remaining work falls into four broad areas—foundational, sustaining, supporting our technical community, and supporting the overall community health.

All Technology programs fall under the primary goal of Knowledge as a Service/Foundational Strength - evolve our systems and structures, with the exception of TEC5: Scoring Platform and TEC9: Address Knowledge Gaps which fall under the primary goal of Knowledge Equity - grow new contributors and content.

Purpose of this document
Goals for the Wikimedia Technology department, for the second quarter of fiscal year 2018–19 (October - December 2018). The goal owner in each section is the person responsible for coordinating completion of the section, in partnership with the team(s) and relevant stakeholders.

Goals for the Audiences department are available on their own page

Legend
ETA (Estimated Time of Arrival) fields may use the acronym EOQ (End of Quarter) or EOY (End of Year).

Status fields can use the following templates:, , , ❌, ❌, , or ✅

= Technology Departmental programs =

TEC1: Reliability, Performance, and Maintenance

 * Goal Owners: Mark Bergsma; Ian Marlier; Nuria Ruiz; Bryan Davis

Q2 Goals are

 * Detailed status here.

Analytics

 * Continue upgrading to Debian Stretch ✅
 * Order and configure hardware for dbstore1002's replacement ✅
 * Add prometheus metrics for varnishkafka
 * Working on a strategy and scripts for updating superset (http://superset.wikimedia.org)

SRE

 * Refresh hardware and perform necessary maintenance - will be ✅ by end of December

SRE / Traffic

 * ATS production-ready as a backend cache layer will be ✅ by end of December
 * Migrate most standard public TLS certificates to CertCentral issuance ✅
 * Increase Network Capacity, will be completed in Q3 due to ongoing fundraising efforts

RelEng

 * Determine the procedure and requirements for an automated MediaWiki branch cut ✅

Performance

 * Train feature developers on the use of performance metrics to detect and address regressions
 * Deliver high-traffic images as WebP ✅
 * Improve Navigation Timing data, by moving it from Graphite to Prometheus
 * Expand mobile testing
 * Expand outreach and engagement to wider Performance community
 * Test the effect of MediaWiki commits
 * Ongoing maintenance of components owned by Performance is always ; for this quarter's work, we're ✅
 * Anonymized data publishing is ❌ and deferred to Q3
 * Research performance perception in order to identify specific metrics that influence user behavior ✅ with follow-up in Q3

WMCS

 * Continue replacing Trusty with Debian Jessie/Stretch in infrastructure layer and will continue in Q3
 * Communicate Trusty deprecation to Cloud VPS community ✅
 * Develop Trusty deprecation plan for Toolforge ✅ and communicate that timeline to community
 * Track progress towards full removal of Trusty from Cloud VPS, will continue in Q3
 * Migrate 50% of Cloud VPS projects to the eqiad1 region and its Neutron SDN layer ✅, will continue in Q3

TEC2: Modern Event Platform

 * Goal Owner: Nuria Ruiz

Q2 Goals are ✅

 * Detailed status here.

Wrap-up for Q2:

 * Development of intake service for events whose transport is JSONSchema/http ✅

TEC3: Deployment Pipeline

 * Goal Owner: Greg Grossmeier

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Formalize the collection of CI infrastructure and tooling metrics is will continue in Q3 to expose the interface metrics
 * Develop set of metrics to assess incident reports/post mortems is ✅, will probably do follow-up work in Q3
 * Adopt more services into Deployment pipeline - migrate graphoid to the Deployment pipeline is ❌ as Graphoid is now recommended for stewardship review, zotero v2 is ✅
 * Deploy blubberoid ✅
 * Reprise the work on the logging infrastructure and will continue in Q3

TEC4: PHP7 Migration

 * Goal Owners: Mark Bergsma and Ian Marlier

Q2 Goals are ✅

 * Detailed status here.

Wrap-up for Q2:

 * Ability to serve a % of production traffic from PHP7 are mostly ✅ with final code reviews {{in progress}
 * Sampling profiler for PHP7 has been identified and is prepared for use in the WMF production environment ✅
 * Identify and address code issues and opportunities under PHP 7.2 ✅

TEC5: Scoring Platform

 * Goal Owner: Aaron Halfaker

Q2 Goals are ✅

 * Detailed status here.

Wrap-up for Q2:

 * Upgrade Celery ￼✅
 * Fix logging for logstash ￼✅
 * Implement edit quality models for translatewiki ￼  and will wrap up by end of December
 * Document Feature Injection in The ORES Manual ✅
 * Blog announcement of Undisclosed Paid Editors dataset ✅
 * Resubmit ORES paper to the Journal of Computing ❌
 * JADE --> Production to be finished up in Q3

TEC6 Address Infrastructure Gaps

 * Goal Owner: Mark Bergsma

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Begin the implementation of Q1's Logging Infrastructure design is mostly complete and will be ✅ by end of December
 * Expand modern metrics infrastructure coverage is mostly complete and will be ✅ by end of December
 * Design and prepare infrastructure for database binary backups is and will continue in Q3
 * Test Performance implications of MySQL TLS connectivity ❌ on DBA technology selection/implementation due to other work requirements that have higher priorities
 * Start migrating watchlist last-view updates is ❌ due to emergent work and other higher priority work, we hope to get it done in early Q3
 * Expand Spicerack library and SRE Cookbooks conversion is and will continue into Q3
 * Expand Netbox usage ✅ with stretch goals to be done in Q3

TEC7: Environmental Sustainability

 * Goal Owner: Erika Bjune

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Identify and contract with an organization that can assess WMF's environmental footprint is ✅
 * Work on an actionable plan for reducing WMF's environmental footprint is now and will be on-going for ~6 months.

TEC8: Search Platform

 * Goal Owner: Erika Bjune

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Find and hire a contractor to help with NLP work ✅
 * Begin working on one internal NLP project
 * Improve autocomplete of Wikidata items and will continue in Q3
 * Prototype a feature that is based on collected data and will continue in Q3
 * Finish up the Korean morphological library analysis and get ready for deploy into production when ES6 is completed ✅
 * General language support is always
 * Search for licenses in Commons is ❌ as we await further instructions from SDoC program
 * Split the search clusters to increase stability ✅
 * Continue replacing ElasticSearch servers (end of life maintenance) ✅
 * Separate the Wikidata ElasticSearch implementation into a separate extension and will continue in Q3
 * Migrate ElasticSearch cluster restart scripts as cookbooks using Spicerack as more testing is needed
 * Performance and bug fixes for WDQS is always
 * Service Level Objective (SLO) work for WDQS is and will continue in Q3
 * Investigate Blazegraph support options and alternatives ✅

TEC9: Address Knowledge Gaps

 * Goal Owner: Leila Zia

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Iterate on and improve the report of the state of the art on bias detection and algorithm audibility is ❌
 * Build a section recommender system based on the section mapping algorithm is and will be finished by end of December
 * Build a test API for the section recommendation algorithm is ❌ until Q3
 * Improve article recommendation API to completion (of the second stage improvements) is and will be finished by end of December
 * Expand the taxonomy of Wikipedia readers is ✅
 * Preparing the infrastructure for conducting the survey is and will be finished by end of December
 * Devise the framework for matching newcomers to improve the first design of the framework and will be continued in Q3
 * Develop and test a new experiment plan for testing the quality of the algorithm to elicit user interests ✅
 * Finalize the documentation for the research on characterizing Wikipedia readers ✅
 * A series of presentations about the results on characterizing Wikipedia readers ✅

TEC10: Build Technical Community

 * Goal Owner: Bryan Davis

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Plan and visibly improve Toolforge technical documentation is and will continue in Q3
 * Survey Wikimedia Foundation staff to gauge interest and support for reviving Tech Talks is ✅
 * Develop plan for Tech Talks reboot is and will continue in Q3
 * Update visual design and content of MediaWiki.org Main Page will be by end of January 2019
 * Support Outreachy Round 17 ✅
 * Support Google Code-In 2018 ✅
 * Review and improve top viewed overview pages of the Action API ✅
 * Submit a proposal for the Wiki Research Workshop ✅

TEC11: Support Fundraising Activities

 * Goal Owner: Erika Bjune

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Support Advancement in all Q2 activities and will continue in Q3

TEC12: Developer Productivity

 * Goal Owner: Greg Grossmeier

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * The Annual Developer Productivity Survey results are synthesized and shared, creating a first year baseline is and will continue in Q3 to get additional feedback

TEC13: Code Health

 * Goal Owner: Greg Grossmeier

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Update/refresh review queue is and will continue in Q3
 * 5 of the 15 prioritized repositories have at least 1 end-to-end test is as the team talks with stakeholders
 * Assess Platform unit test practices and define improvement plan is and will continue in Q3
 * Core Platform and Search Platform teams are using TDM PoC and will continue in Q3
 * Identify key Tech Debt areas and add a process for management and will continue in Q3
 * Metrics defined and deployed for all 4 Code Health areas

TEC14: Smart Tools for Better Data

 * Goal Owner: Nuria Ruiz

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Create report for "articles with most contributors" in Wikistats2
 * Create report for Active editor metrics per project family
 * Provide easier mapping between Wikistats1 metrics and Wikistats2 metrics
 * Provide ability to query metrics per project family in Wikistats2 ✅
 * Add per family unique devices to analytics query service ✅
 * Automatic ingestion from eventlogging data into turnilo datasets that area available for easy exploration ✅
 * Automation of data sanitization for eventlogging schemas in the hadoop backend ✅
 * Presto cluster online and infrastructure accessible by Cloud (labs) users ✅
 * Edit Data Lake Quality - resolve known issues (ongoing)
 * POC More efficient Bot filtering on pageview data ✅
 * Productionize MediaWiki content processing, ngest and process XML dumps ✅

= Cross-departmental programs =

Segment 2 - Security

 * Goal Owner: John Bennett

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Review and mature our security policies and awareness functions is ✅ but the phishing campaign is ❌ to be completed in Q3
 * Testing campaigns:
 * CSP changes are now ✅
 * 1st round of pen testing (on en wikipedia) is ✅
 * OIT assessment is ❌, might be picked up in 2019.
 * NIST CSF assessment is ❌, should be picked up again in early 2019.
 * Initial discussion is to include Phan into MW core and should be completed by end of December.
 * Finalize and test our Incident Response documentation is and will continue in Q3

Segment 3 - Analytics

 * Goal Owner: NRuiz (WMF)

Wrap-up for Q2:

 * More restrictive Firewall rules for Kafka. ❌
 * Review the requirements for a service implementing a stronger user authentication scheme for the Analytics Hadoop cluster and possibly for other related tools (like Zookeeper). ✅
 * STRETCH GOAL: implement a prototype in labs that the Analytics team can test and evaluate. ✅

Segment 7 - Core Platform

 * Goal Owner: Corey Floyd (WMF)

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Define and implement a session management service ✅

Segment 8 - Core Platform (WMDE)

 * Goal Owner: Corey Floyd (WMF)

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Wikimedia Technical Conference: participate and analyze session output is ✅ and will be published soon

Segment 1 - Research

 * Goal Owner: Dario Taraborelli

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Design a machine learning framework to identify why statements need a citation in English Wikipedia ✅
 * Submit a paper summarizing the modeling work for unsourced statement detection ✅
 * Run the second round of data collection to understand Wikipedia citation usage ✅
 * Prepare the data and analyze the data collected in the second round ✅
 * Perform first round of survey data collection of reader citation usage on English Wikipedia ✅
 * Analyze first round survey data of reader citation usage and will continue in Q3
 * Host WikiCite 2018 event ✅

Segment 2 - Search Platform

 * Goal Owner: Erika Bjune

Q2 Goals are

 * Detailed status here.

Wrap-up for Q2:

 * Allow search by type of license ❌ until Q3