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

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]

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
 * Monthly report and other engineering communications

Features

 * VisualEditor/Parsoid (Trevor, Roan, Rob, Gabriel, Subbu, MarkTraceur, + Wikia)
 * IE in VE [IN PROGRESS]
 * bug fixing on Visual Editor [ONGOING]
 * [Parsoid testing framework for semantic/superficial regressions|http://parsoid.wmflabs.org:8001] [IN PROCESS]
 * Node.js parsoid to completion [ONGOING]
 * limited production release on French, Hebrew Wikipedia [IN PROGRESS]
 * 5-month plan for VE [late Jan]
 * assessment for next steps in Parsoid [IN PROCESS]
 * Echo_(Notifications) (Kaldari, Benny, Werdna, Luke Welling) (roadmap)
 * Continued development of prototype on Mediawiki.org [ONGOING]
 * UI and bugfixing of Echo [ONGOING]
 * HTML e-mail [Luke] [IN PROCESS]
 * Global user changes [JamesF] [IN PROCESS]
 * i18n issues on Echo
 * JobQueue abstraction (zmq) [Luke] [IN PROCESS]
 * JobQueue abstraction (Redis) [Luke]


 * [Flow] (Werdna, JamesF, Brandon, Matthias)
 * Kickoff
 * reach out to Wikia [Terry, JamesF]


 * Article feedback (Matthias)
 * performance/db related changes to AFTv5 queries [Matthias] [IN PROCESS]
 * code review for performance/db patch [pending]
 * i18n messaging update [IN PROCESS]
 * Other minor changes prior to full English Wikipedia deployment [Jan]
 * refactored deployment on enwiki + dewiki pilot (may involve db pruning) [Late Jan/earlyFeb]
 * vertically partitioned database deploy [Feb]


 * New Pages Feed (fka Page Triage) (Kaldari, Benny, Nischay)
 * Bug fixes (no more feature development) [ONGOING]


 * E3 (Ori, S, MattF, Luke)
 * Clicktracking/Analytics
 * Funnel tracking of Community Portal [ONGOING]
 * Funnel tracking of Onboarding [IN PROCESS]
 * Account Creation User Experience
 * Transition to EventLogging (off of ClickTracking) incl. permanent campaign support [IN PROCESS]
 * Productization of ACUX [IN PROCESS]
 * Onboarding
 * Javascript bugs in guided tour [DONE]
 * get Guided Tour ready for deployment incl. creating onboarding tour [IN PROCESS]
 * version two of Special:GettingStarted [IN PROCESS]
 * tagging edits made through onboarding [IN PROCESS]
 * Other Account Creation Funnels
 * 22k Donor Survey email [IN PROCESS]
 * Contribution banner [DONE]
 * Donor Thank You email [DONE]


 * MicroDesign
 * other edit window templates [IN PROCESS]
 * (see Agora)

Technical Operations

 * Datacenter migration (eqiad)
 * Updating the scap scripts to deal with multi-datacenter
 * change to git-deploy?
 * deploy memcached@eqiad
 * deploy parser cache@eqiad
 * deploy apache app servers@eqiad
 * deploy API servers@eqiad
 * deploy jobrunner servers@eqiad
 * database failover from Tampa to Eqiad
 * deploy parsoid servers@eqiad


 * Deploy Etherpad Lite [Daniel/RobH]

Mobile

 * Quarterly planning session with team: focus on photo uploads (e.g., commons app, productizing mobile photo uploads)
 * Getting MobileFrontend onto beta labs
 * Mobile Web
 * Beta
 * Mobile diff
 * Watchlist CTA
 * User Testing of Beta Editing, next steps TBD
 * Production
 * Push beta features to product (TBD, but currently shooting for):
 * Watchlist (reader + recent changes views)
 * Watchlist CTA
 * Account Creation
 * Login
 * History
 * Better resource loader support

MediaWiki Core

 * Datacenter migration (see TechOps section above) [Tim, Aaron, Sam, ChrisS]  39106
 * git-deploy migration (43338) and file path issues for eqiad migration (43340) [Brad, Antoine, Sam, ChrisS]
 * Remove production MediaWiki dependency on NFS (43495) [Aaron, Tim]
 * Git/Conversion (Chad)
 * LDAP fixes for our Gerrit use (current patch) [Chad]
 * Upgrade to 2.6 [Chad]
 * Replace gitweb with GitBlit [Chad]
 * MediaWiki 1.20/Roadmap
 * MediaWiki 1.21/wmf7
 * MediaWiki 1.21/wmf8
 * Admin tools development [Chris]
 * Build and deploy Global RenameUser extension [CSteipp]
 * Lua scripting [Tim, Chad, Brad]
 * Install Lua (Scribunto) on other Wikimedia wikis ( see Goals)
 * Detailed deployment plan [TBD]

Multimedia

 * TimedMediaHandler
 * Bugfixing (Jan)

QA

 * QA and testing
 * Browser testing
 * Beta labs (beta cluster)
 * Add specific reviewer in Gerrit on SQL changes [IN PROCESS] [Antoine]
 * Continuous integration

Analytics
See also: Analytics/Roadmap

Kraken

 * Storm pom [dsc] (Jan)
 * Storm ETL
 * Get Storm set up [dsc + otto] (Dec) [DONE]
 * Storm ETL bolt for GeoIP [dsc + otto] (Jan)
 * Storm ETL bolt for HDFS Import [dsc + otto] (Jan)
 * HDFS Import enforces product-code directories and permissions [dsc + otto] (Jan)
 * Storm ETL bolt for Anonymization [dsc + otto] (Jan)
 * Storm ETL bolt for Kafka Checkpointing [dsc + otto] (Jan)
 * Puppetize Kraken [otto] (Ongoing)

Limn

 * Refactor charting to use d3 [dan + dsc] (Jan)
 * Feature Parity with Dygraphs (plus bugfixes, etc) (Jan)
 * Bugfixes (like Save-As, UI Error Notifications, ...) [dan] (Jan)
 * Migrate Dario's dashboards to Limn [dsc + dan] (Jan)
 * Improve Limn wiki, docs, & guides (esp those shameful screenshots) [dan] (Jan)
 * Coke ( for Coco) task to create symlinks into   from an existing data repository (such as, say, analytics/reportcard/data) [dsc] (Jan)
 * Coke task to download and setup dummy testing data for ease of development [dsc] (Jan)
 * UI support for remote datasets via proxy [dsc + dan] (Jan)
 * Deploy reportcard / gerrit-stats on stat1001 (aka, "the Debian packaging discussion") [otto + dsc] (Jan)
 * Support the Global Dev dashboard [evan] (Ongoing)
 * Support the Gerrit Stats dashboard [diederik] (Ongoing)

Legacy Log Collection

 * udp2log filters
 * Update filters for Wikipedia Zero [otto] (Ongoing)
 * Filter by X-Carrier headers. [otto + asher + diederik] (Jan) [Waiting for Fundraiser to finish]'
 * udp-filter to filter by http status. [otto] (Jan) [Waiting for Fundraiser to finish]

Infrastructure

 * Access/support requests for stat1, stat1001 [otto] (Ongoing)
 * Maintenance of oxygen/emery/locke [otto] (Ongoing)
 * Migrate Reportcard off Labs onto stat1001 -- reportcard.wikimedia.org [otto + dsc] (Jan)

Data Releases

 * Blogpost about what awesome stuff you can do with the AWS datasets [diederik] (Jan)
 * Deploy stats.grok.se on stat1001 [diederik/dario/andrew] (Dec/Jan)
 * Create Data Release Practices Task Force [diederik/dario] (waiting for feedback from Dario) (Sept)
 * Publish Monthly Report Card -- deal with monthly data processing irregularities, perform correction/validation [ezachte + diederik + dsc] (Ongoing)

Engineering Community Team

 * Bug Wrangling [Andre + volunteers]
 * working especially on reducing backlog of unprioritized issues
 * mentoring Valerie in bug triage
 * Mentorship programs - ongoing [Quim, Sumana, Andre]
 * Outreach Program for Women kickoff
 * LevelUp kickoff
 * Volunteer coordination and outreach
 * Technical communications [Guillaume]
 * Kickoff of first tech collaboration experiment
 * Misc Engineering community proposals' followup [Sumana]
 * Code of Conduct [Sumana] -- in process - target 11 Jan

Features

 * VisualEditor/Parsoid (Trevor, Roan, Rob, Gabriel, Subbu, MarkTraceur, + Wikia)
 * experimentation into C/C++ version


 * Echo_(Notifications)
 * Global preferences for echo delivery [Deferred to 2013]
 * centralization and cross wiki notification delivery [Deferred to 2013]
 * first experimental release on the English Wikipedia (February 2013)
 * Article feedback (Matthias)
 * Full deployment to English Wikipedia [2013]

Parking lot and todos

 * Configuration management overhaul [Chad]
 * Fundraising flesh-out
 * HipHop deployment (deferred because Facebook has HipHopVM)
 * 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
 * Wikidata (WMDE)
 * BlameMaps (WMDE/Luca de Alfaro; see proof of concept)
 * Various HTTPS support fixes
 * Wikimedia server error page
 * Disk-backed object cache
 * Relicense our Lucene contributions [future Lucene search engineer]
 * OAuth [ChrisS]
 * related to potential API redesign (Wikia)
 * Changes to visual design to make ACW consistent with Design Toolkit [TBD]
 * Features parking
 * Queuing infrastructure work for Echo (probably using Aarons JobQueue abstraction)
 * Article creation workflow deferred
 * Gadgets 2.0?
 * Affiliation tools for WikiProjects [build on GlobalProfile]
 * Git/Gerrit
 * Have Lucene work underway upstream for 2.6 release cycle [Chad]

Archive
Previous months:
 * Roadmap/Archive for an earlier effort to create a roadmap more focused on point releases of the MediaWiki software
 * /2011/September
 * /2011/October
 * /2011/November
 * /2011/December
 * /2012/January
 * /2012/February
 * /2012/March
 * /2012/April
 * /2012/May
 * /2012/June
 * /2012/July
 * /2012/August
 * /2012/September
 * /2012/October
 * /2012/November
 * /2012/December