Roadmap

Background: In recent years, Wikimedia Foundation's engineering planning has primarily taken place in a combination of internal goals documents and public project-level documentation. The purpose of this page is to establish a practice of sharing holistic engineering goals, initially primarily with a short term horizon, as a public document with open participation.

See also:
 * Product Whitepaper for Wikimedia Foundation product priority justifications; Strategic Plan for long-term WMF  goals, some of which are engineering goals
 * Roadmap/Archive for an earlier effort to create a roadmap more focused on point releases of the MediaWiki software

Previous months:
 * /2011/September
 * /2011/October
 * /2011/November
 * /2011/December
 * /2012/January
 * /2012/February
 * /2012/March
 * /2012/April
 * /2012/May
 * /2012/June

Item syntax:
 * Project name
 * [Qualifier keyword] Action item [Owner(s)] [Completion keyword]

Examples:
 * New unicorn engagement
 * [Needs consensus] Deploy unicorns [Brion/Tim]
 * Deploy unicorns [Brion/Tim] [DONE]

Tech Ops

 * Swift
 * Swift replaces ms5@tampa as primary storage [Ben/Mark]
 * Seeding Swift with contents in Commons @ tampa - progress [Aaron/Ben]
 * Test new multi-write file backend in production (precondition for enabling both NFS and Swift backends) [Aaron/Ben]
 * Fundraising infrastructure buildup@ EQIAD
 * deploy payment clusters
 * deploy applications
 * Deploy Memcached @TAMPA [Mark/Asher]
 * Limited Apache-on-Precise deployment [Asher/Peter/Mark]
 * Deploy new parser cache (pc1) @ Tampa [Asher] - done
 * Varnish
 * incorporate persistent store and test [Mark] - in progress
 * deploy Varnish with persistent store [Mark]
 * labs
 * deploy 3 more project nodes [Ryan] - done
 * migrate lab projects using GlusterFS to local filesystem - in progress
 * evaluate Ceph as an option to replace GlusterFS - in progress
 * Create new Gerrit database @ Eqiad and make it primary DB [Asher/Ryan]

Mobile / Offline

 * Continued work on WLM app
 * Additional Mobile Nav UI Features
 * Evaluate additional features:
 * Mobile Article Feedback feature definition [Phil]
 * Minor Editing [Phil]
 * Offline saving [Phil]

Features

 * Article feedback
 * Increase AFTv5 coverage on English Wikipeida (timetable still in flux, but will start week of July 2)
 * Increased to 5% [DONE]
 * Continued to deployment to 10% expected
 * Central notice to registered users [DONE]
 * [Jun-Jul] Refactor AFTv5
 * [July] Final features for enwp release: browser support, i18n, mobile …


 * Article Creation Workflow
 * Changes to visual design to make ACW consistent with Design Toolkit


 * New Pages Feed (fka Page Triage)
 * Continue developing curation toolbar features: Deletion Tagging, WikiLove
 * Public launch of curation toolbar feature: TBD
 * Other potential changes to be prioritized (e.g., message to article author, visual changes to New Pages Feed, etc.)
 * Increase visibility of Special:NewPagesFeed (e.g., notice on Special:NewPages)
 * Additional socialization


 * Echo_(Notifications)
 * Begin development of prototype for Mediawiki.org [Werdna/Vibha]


 * E3
 * E3 Analytics Server provisioned [DONE]
 * Post-edit Feedback
 * Bucketing system test initiated [RESULTS PENDING]
 * UI for post-edit feedback deployment (pending successful test of bucketing system)


 * ResourceLoader 2 -- mostly the Gadgets-extension work which is (as of June 2012) in a branch.
 * Set up a first working setup in WMF labs [Roan, Timo] [IN PROCESS]
 * "Gadgets 3.0": Includes getting a version deployed/integrated, then a review of Salvatore's "Gadgets user preferences" work, then a merge of Salvatore's work


 * TimedMediaHandler
 * Establish transcoding infrastructure (Jan)
 * Working TMH implementation in Labs (Jan/Antoine)

Platform / Dev-Ops

 * Configuration management overhaul [Chad]
 * Evaluate WikiFactory from Wikia
 * Extension management -- depends on config mgmt revamp
 * Git/Conversion [Chad/Antoine/Sumana]

MediaWiki Core

 * Lua scripting
 * Debugging tools [DONE]
 * Beef up the labs instance
 * Spam cleanup on labs site
 * Documentation


 * MediaWiki 1.20/Roadmap
 * Bi-weekly deployment cycle continues
 * Complete 1.20wmf6 deployment [DONE]
 * Complete 1.20wmf7 deployment [DONE]
 * Deploy 1.20wmf8 through to enwiki


 * Continuous integration


 * Git/Conversion [Chad/Antoine/Sumana]
 * Gerrit evaluation - Revisit Gerrit, git-review, and other code review/workflow tools (3 months after the git switch) to see whether to switch to Phabricator or another code review tool [Brion, David, Chad] (ongoing)
 * Gerrit 2.4 upgrade [Chad/Ryan]


 * Replicated session handling [Tim Starling]
 * Memcache client replacement [Tim Starling]


 * SwiftMedia
 * Populate cluster with originals (Aaron)


 * OAuth
 * Finalize specifications, identify/recruit developers [ChrisS]


 * CentralAuth
 * Bugfixing [Chris Steipp] [ongoing]


 * AbuseFilter
 * Bugfixing [Chris Steipp] [ongoing]


 * Memcache client replacement
 * Deploy memcache client to Apaches (RT 3155) - possibly blocked on Precise deployment to eqiad
 * Configuration change (to be scheduled)


 * Site performance


 * Category collation: https://gerrit.wikimedia.org/r/#/c/3367/

Engineering Community Team

 * Running Wikimania hackathon [OpenHatch] - DONE
 * Bug Wrangling [Bug Wrangler + volunteers]
 * Monthly report and other engineering communications [Guillaume]
 * Google Summer of Code mentoring & administration [Sumana]

QA

 * Continuing feature testing work [Chris]
 * Beta cluster & Labs improvements [Chris]

Technical Operations

 * Swift
 * Cutover Originals (multi-media) on Swift - Tampa [Aaron/Ben]
 * Initial testing stage with NFS as backup
 * Full switch-over (disable NFS)
 * upgrade Swift to 1.5 from 1.43 [Ben]
 * build up Eqiad Swift and start replication [RobH / Ben]
 * Fundraising infrastructure buildup@ EQIAD [Leslie / Jeff]
 * deploy payment clusters
 * deploy applications
 * Deploy Memcached @TAMPA [Mark/Asher]
 * Deploy Etherpad Lite [Daniel]
 * Install new passive optics system between the 2 datacenters in Tampa
 * CWDM Optics to increase bandwith capacity [Leslie]
 * Install new MX80 @ Evoswitch [mark]
 * Wide Apache-on-Precise test deployment @ Tampa [Asher/Peter/Mark]
 * Limited ImageScalers-on-Precise deployment @ Tampa [Asher/Peter/Mark]

Features

 * Article feedback
 * Continued productization and transitioning feature from OmniTI


 * New Pages Feed (fka Page Triage)
 * Additional feature development (prioritization pending)
 * Default deployment of Curation Toolbar (when pages are linked to from Special:NewPagesFeed; currently happens through url parameter)


 * Echo_(Notifications)
 * Continued development of prototype for Mediawiki.org [Werdna/Vibha]

Continuous Responsibilities

 * Code review
 * RT review / ops tasks
 * Community extension review and deployment
 * Bug triages and general bug fixes
 * New extension deployment (Review queue)
 * Labs maintenance
 * Test infrastructure maintenance
 * Recruitment and encouragement of volunteers

Platform / Dev-Ops

 * Git/Conversion [Chad/Antoine/Sumana]
 * Finalize decision on Gerrit vs other tools [Brion, David, Chad]

Parking lot and todos

 * Details of git migration (extension mgmt, permissions, code review tool, Gerrit-Jenkins integration, etc.)
 * More work on product backlogs for features and mobile
 * Ops section
 * Fundraising flesh-out
 * cf Wikimedia Platform Engineering and merge as appropriate
 * Namespace hacks for development of simple language wikipedias in languages other than English without server, database, or major wiki installation provisioning
 * Most popular related articles


 * Replicated session handling
 * HipHop deployment (deferred because Facebook has a different shiny new thing)
 * Extension:Configure (merge with config management?)
 * Unicode normalization considerations
 * Schema handling improvements (Abstracted database schema description, schema updaters to make the multiple schema variants for MySQL 4.0 and 5/UTF-8 more maintainable)
 * Parallelizable, restartable dump runner (notes; Clean up the currently fragile externaldump process, make our internal backups more reliable
 * OAI cleanup (Clean up OAI exporter and importer, add time-delay features
 * audit users of OAIPMH and check how search indexing uses it
 * Deletion queue system (notes; Human-helpful process improvements
 * Integrated heuristic checks, improved patrolling (human-helpful process improvements)
 * On-wiki namespace manager (Special:Namespaces) (original wikidata branch specs and see notes)
 * Wikidata (WMDE)
 * BlameMaps (WMDE)
 * graphical UI on top of improved backend for configuration management
 * Various HTTPS support fixes
 * Wikimedia server error page
 * Wikimedia operations history and architecture document
 * Disk-backed object cache
 * DB sharding


 * Help features
 * Mentoring features
 * Other real-time features, chat
 * Affiliation tools for WikiProjects [build on GlobalProfile]
 * Gadgets 2.0?


 * Interwiki transclusion
 * WMF cannot commit the time to merge this.