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

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]

TechOps

 * IPV6 rollout [Mark, Asher, Faidon, Ryan] - [DONE]
 * SWIFT software stack upgrade [Ben]
 * SWIFT Originals [Ben/Aaron]
 * Precise build of Apache [Peter]
 * Test Varnish new enhancement (persistent & streaming) [Mark]
 * Refactor PyBal to include BGP support for ipv6 [Mark]
 * *Fundraising infrastructure buildup@ EQIAD
 * own firewall
 * provision payment clusters


 * Labs
 * replace GlusterFS with local file system [Ryan]
 * stress test Ceph as a potential replacement for GlusterFS
 * add new compute nodes - to reduce memory swapping [Chris, Faidon, Ryan]

Editing tools

 * Visual editor
 * Document Synchronizer [Roan] [IN PROCESS]
 * HTMLConverter [Christian] [IN PROCESS]
 * UI: Node Trees [Trevor] [IN PROCESS]
 * Finish UI integration for contentEditable [Rob/Christian/Inez] (Surface Model, menu, etc.) [IN PROCESS]
 * UI: Toolbar [Rob] [IN PROCESS]
 * UI: Link inspector [Rob]
 * mediawiki: in-place editing integration [Rob]
 * [Late June] Limited release onto MediaWiki
 * [Aug] API for Visual Editor (via 2 extensions/templates support)
 * Parsoid
 * Parsoid-VE integration [IN PROCESS]
 * Bug fixes to pass tests on Parsoid [ONGOING]

Participation and editor engagement

 * Article feedback
 * Deploy Metrics Stage 4 [IN PROCESS]
 * Final feedback form [IN PROCESS]'
 * Deploy streamlined version of Option 1
 * [June] Complete development of features for AFTv5
 * [June] Potential deployment of AFT to broader list of articles on enwp
 * [Jun-Jul] Refactor AFTv5
 * [July] Final features for enwp release: browser support, i18n, mobile …


 * New Pages Feed (fka Page Triage)
 * Increase visibility of Special:NewPagesFeed (e.g., notice on Special:NewPages)
 * Curation Toolbar
 * Finalize design, including review of interaction model [DONE]
 * Deploy curation toolbar to enwp [TBD]


 * Article Creation Workflow
 * Template changes to draft flow [Mid/Late June]
 * Deployment of A/B to x% of new users to English Wikipedia [Mid/Late June]


 * Feedback Dashboard
 * Final research report [IN PROGRESS]


 * Echo/Flow
 * Examine hooks into current MW infrastructure for notifications
 * Look into PHP default synchronous notifications
 * Finalize decision on LQT3
 * Build PHP default synch notifications
 * Look into queue based infrastructure extension
 * [July] Start replacing current MW notifications with common notifications infrastructure

Multimedia tools

 * TimedMediaHandler
 * Complete testing [IN PROGRESS]
 * Final code review of new changes and deployment onto Wikimedia Foundation sites
 * [TBD] Release


 * TimedMediaHandler
 * Deployment Prep [IN PROGRESS]


 * UploadWizard
 * Review and deploy round of fixes and improvements
 * First round deploy [pending]

Feature support

 * Wikipedia Education Program
 * Final code review of changes [IN PROCESS]
 * [July?] Deploy Extension


 * Fundraising
 * Git migration deployment [IN PROCESS]

MediaWiki infrastructure

 * ResourceLoader
 * [Set up a first working setup in WMF labs [Roan, Timo] [IN PROCESS]
 * "Gadgets 3.0": Includes review of Salvatore's "Gadgets user preferences" work


 * FlaggedRevs/maintenance
 * Bugfixes based on enwiki deploy [ongoing]

Core

 * Start testing Apache DeviceMap

Mobile Web

 * Mobile default for sibling projects [Arthur, Patrick, Asher]
 * Community outreach [Phil]
 * Build out migration calendar [DONE]
 * Improved Mobile Device Detection [Patrick, Diedrik, Tomasz]
 * Deploy JS test for Apache Device Map
 * Deploy v1 Mobile nav

Apps

 * Wiki Loves Monuments [Yuvi, Brion]
 * Decide on metrics [IN-PROGRESS]
 * Release first testing version
 * Finalize WLM db updates

Wikipedia App
 * Release v1.2 completing decoupling the app from Mobile Frontend and making it fully API driven
 * RC1

Alternate Access

 * Begin work with Praekelt foundation on SMS/USSD
 * Begin work with Openpath on J2ME Wikipedia App

MediaWiki Core

 * Lua scripting
 * Test cases [ongoing]
 * Bugfixing and polish [ongoing]


 * MediaWiki 1.20/Roadmap
 * Bi-weekly deployment cycle continues
 * Complete 1.20wmf04 deployment [DONE]
 * Complete 1.20wmf05 deployment [ongoing]


 * Continuous integration
 * Complete beta labs so that it's suitable/trusted for testing (target completion in June) [Antoine, Chris] [ongoing]
 * Continue developing framework for integration testing [Antoine, Chris McMahon]
 * possibly Selenium - see Chris's mail to wikitech-l
 * TestSwarm reintegration with Jenkins [Antoine]


 * Git/Conversion [Chad/Antoine/Sumana]
 * Moving more projects to Git [Chad - ongoing]
 * GitHub mirroring (one-way read-only mirror, no pull requests)
 * 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] (mostly July and August)


 * SwiftMedia
 * Begin deployment work on originals
 * Bugfixing and cleanup on thumbnails [ongoing]
 * Deploy concurrent file operations - rewrite of external CloudFiles library [Aaron]


 * OAuth
 * Continue specification work [Chris Steipp] [ongoing]


 * CentralAuth
 * Bugfixing [Chris Steipp] [ongoing]


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


 * IPv6 support
 * Prepare for IPv6 Launch (June 6th) [Aaron, Mark, Chris Steipp] [DONE]


 * MathJax [Brion/TBD]
 * Fix remaining major bugs [Brion]

Analytics

 * Report card


 * Kraken


 * Analytics/Pageview logging

Engineering Community Team

 * Start Summer of Code 2012 students [Sumana]


 * Prepare tutorials for Berlin Hackathon 2012 [Sumana, Danielle Benoit]


 * Wikimedia blog maintenance [Guillaume]


 * Bug Squad training and growth [MarkH]


 * Continuing incoming bug triage [Sumana guiding volunteers]

QA

 * Improve beta labs so that it's suitable/trusted for testing (target completion in June) [Antoine, Chris]


 * Volunteer tester event (with Weekend Testing Americas) [Chris] [DONE] retrospective


 * Volunteer tester event with OpenHatch June 9. [DONE]

Engineering Community Team

 * Summer of Code 2012
 * midterm evaluations


 * blog maintenance [Guillaume]


 * Preparation for Wikimania
 * Helping Wikimedia engineers prepare talks
 * Preparing for hackathon [Sumana, OpenHatch]


 * Assessing/moving wikitech.wikimedia.org content [Guillaume leading]


 * Bug wrangling [Bug wrangler]

QA
...
 * Volunteer tester event 9 June, with OpenHatch [Chris]

Analytics

 * May
 * Release 0.95 Reportcard (mid-May)
 * First of 4 analytics machines will come operational
 * Configuration / installation of Hadoop-based and Cassandra based Analytics stack
 * Write documentation analytics cluster setup
 * Start of comparing Analytics stacks
 * Deployment Wikipedia Zero filters [May 9]
 * Sanitizing webstatscollector / udp-filters
 * Integration new mobile stats in stats.wikimedia.org


 * June
 * Release 1.0 Reportcard: targeting June Metrics Meeting [June 7]
 * Continuation of comparing Analytics stacks
 * Additional 6 machines become operational
 * Expect delivery of additional hardware
 * Reportcard 1.1 release (Metrics Meeting July)

Tech Ops

 * Swift
 * Swift replicas @ EQIAD
 * Rebuild Search Cluster@Tampa
 * Fundraising infrastructure buildup@ EQIAD
 * deploy payment clusters
 * deploy applications
 * Deploy Memcached  @TAMPA [Mark/Asher]

Mobile / Offline

 * Mobile Article Feedback feature definition [Phil]
 * Minor Editing [Phil]
 * Offline saving [Phil]

Features

 * Affiliation tools for WikiProjects [build on GlobalProfile]
 * Re-energize LiquidThreads (rename it?!) (may need refactoring for notification streams)
 * Respond to open design questions
 * Photo/media moderation tools; additional patrolling and moderation tooling
 * Help features
 * Mentoring features
 * Other real-time features, chat
 * Dependent on MediaWiki 1.20 deployment date, ResourceLoader 2 -- mostly the Gadgets-extension work which is (as of Feb 2012) in a branch.
 * Gadgets 2.0?

Platform / Dev-Ops

 * Configuration management overhaul [Chad]
 * Evaluate WikiFactory from Wikia
 * Extension management -- depends on config mgmt revamp

Engineering Community Team

 * Running Wikimania hackathon [OpenHatch]
 * 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]

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

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


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