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: Previous months:
 * 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
 * /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

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

Technical Operations

 * Swift @ Tampa upgrade from 1.5 to 1.74 [Faidon/Ariel]
 * Ceph evaluation [Asher / Mark / Faidon] [on-going]
 * Copy thumbnails from Swift  to nas01 [Aaron/Faidon/Mark]
 * Productionize 2 extra parser cache servers (pc2, pc3) @ Tampa [Asher]
 * Deploy Varnish for upload@ESAM [Mark]
 * Swift Servers swap out (C2100 to R720XD) @ Tampa [Chris, Ariel]
 * Provision Memcached servers @ Eqiad [Peter]
 * Provision parser cache servers @ eqiad [RobH, Peter, Asher]
 * Git deployment system - alpha release [Ryan]


 * Labs
 * Push OpenStackManager changes to show SSH fingerprints for instances [Ryan Lane] (not a high-priority item, will probably be December 2012 or  later)
 * Add DNS support to Nova (in essex, but we must migrate to using it)
 * Add Gluster support to Nova (Gluster plugin is mostly written but we don't really have plugin support until folsom, so will happen in Q3 when  we are ready to upgrade to Folsom)

Features

 * VisualEditor/Parsoid (Trevor, Roan, Rob, Gabriel, Subbu, MarkTraceur, + Wikia)
 * Iteration on Visual Editor for Dec release [IN PROCESS]
 * Parsoid testing framework for semantic/superficial regressions [IN PROCESS]
 * Node.js parsoid to completion [ONGOING]
 * limited production release on English, French, Hebrew Wikipedia


 * New Pages Feed (fka Page Triage) (Kaldari, Benny, Nischay)
 * Descriptive statistics on NPF (revised dashboard on toolserver) [Dario] [IN PROCESS]
 * Bug fixes (no more feature development) [ONGOING]


 * Echo_(Notifications) (Kaldari, Benny, Werdna, Luke Welling)
 * Continued development of prototype for Mediawiki.org [ONGOING]
 * Deployment on mediawiki.org [Dec 18]
 * UI and bugfixing of Echo [ONGOING]
 * HTML e-mail [IN PROCESS]
 * Global user changes [JamesF] [IN PROCESS]
 * (see Performance engineering for infrastructure prep work:)
 * queueing & Echo
 * Database sharding & Flow


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


 * Article feedback (Matthias)
 * sharding (see Database sharding) [Matthias] [CANCELLED]
 * performance/db related changes to AFTv5 queries [Matthias] [IN PROCESS]
 * Other minor changes prior to full English Wikipedia deployment


 * E3 (Ori, S, MattF, Luke)
 * Clicktracking/Analytics
 * Funnel tracking of Community Portal [ONGOING]
 * Account Creation User Experience
 * Data model [IN PROCESS]
 * Productization of ACUX [IN PROCESS]
 * Data analysis once experiment is complete [IN PROCESS]
 * Onboarding
 * Extensionize guided tour [IN PROCESS]
 * Deploy first version of onboarding to production [Dec 6]
 * Continue working with SuggestBot author to develop list of tasks -- [IN PROCESS]
 * MicroDesign
 * other edit window templates [IN PROCESS]
 * (see Agora)


 * List of other projects on radar
 * ResourceLoader2
 * Article creation workflow
 * LiquidThreads 3.0

Fundraising (Katie,Adam,MattW,PeterG)

 * Fundraiser - 5 countries [IN PROGRESS]

Mobile

 * Mobile Web
 * Beta
 * photo upload [DONE]
 * Watchlists [DONE]
 * Better table support [DONE]
 * lots of bug fixes [DONE]
 * Account Creation
 * Reader-friendly Watchlist
 * Last Modified
 * History
 * User Testing of Beta Editing, next steps TBD
 * Production
 * Push beta features to product (TBD)

MediaWiki Core

 * Datacenter migration (see TechOps section above) [Tim, Aaron]
 * Git/Conversion (Chad)
 * LDAP fixes for our Gerrit use [Chad]
 * Usability improvements for Gerrit (collaboration at Gerrit Summit) [Chad]
 * Upgrade to 2.6 [Chad]
 * Have Lucene work underway upstream for 2.6 release cycle [Chad]
 * Replace gitweb with GitBlit [Chad]
 * Swift
 * Copying thumbnail files from Swift into NFS [Aaron]
 * MediaWiki 1.20/Roadmap
 * Bi-weekly deployment cycle continues
 * MediaWiki 1.21/wmf5 -- ongoing
 * MediaWiki 1.21/wmf6
 * Holiday break
 * Continuous integration
 * Admin tools development [Chris]
 * Build and deploy Global RenameUser extension [CSteipp]
 * Wikidata deployment
 * Deploy Wikibase client to test2 [Chad]
 * Site performance
 * Lua scripting [Tim, Chad, Brad]
 * Additional APIs to replicate parser functions [Tim, Chad, Brad]
 * Detailed deployment plan [TBD]

Multimedia

 * TimedMediaHandler
 * Deploy new async upload API support to UploadWizard [Aaron, Jan]
 * Bugfixing deployment related issues [Jan]
 * Score deployment to test2 [Tim] - deployment to test2 done, further deployment waiting on OggHandler-TMH dependency fix

QA

 * QA and testing
 * Visual Editor
 * VE user interface is being re-written in November, following stability issues for beta support and UI testing [NOT DONE]
 * E2
 * Significant AFTv5 testing on hold pending sharding, creating browser regression tests meanwhile [DONE]
 * PageTriage development moving slowly, focusing on support in beta labs [ONGOING]
 * Browser testing
 * Mobile
 * Create first Mobile browser tests [DONE]
 * Beta labs (beta cluster)
 * Continue refining beta labs performance [Antoine/Chris/Željko] [ONGOING-- upcoming spike to support Mobile Front End in beta labs]
 * PageTriage code is hosted reliably on beta, state of db contents may not be up to date [IN PROCESS] [Antoine]
 * Continuous integration
 * Ported reporting frameworks from raw RSpec to Cucumber (see below) [DONE]
 * Make Cloudbees Jenkins public/read-only and publishing information to WMF Jenkins (Netherlands hackathon did not get to this) [ONGOING]
 * Fixing glitches with file handling in Jenkins (works locally) [DONE]
 * Creating new tests for AFTv5 [DONE]
 * Updating test backlog page. Cucumber format and backlog should enable wider participation in ATDD (Acceptance Test Driven Development) [ONGOING]
 * Coverage goals: regression tests from backlog page, extensions managed on beta. [ONGOING]
 * Socializing & training developers in writing automated tests -- ongoing [Chris & Quim]

Analytics
See also: Analytics/Roadmap

Kraken

 * Set up full pixel/firehose (w/o ETL) via  [otto] (Dec) (Ready to go, holding off on flipping switch)
 * Core Jobs: aggregation, bucketing, indices [dsc, DvL, erosen] (Dec/Ongoing)
 * Product Codes: Email stakeholders and gather feedback [dsc] (Dec)
 * Set up Maven / Somatype Artifact Repository (continuous integration) [dsc] (Dec)
 * WMF Maven parent pom [dsc] (Oct) [DONE]
 * Walkthrough to get up and running with Maven in Eclipse [dsc] (Dec)
 * Storm pom [dsc] (Dec)
 * Storm ETL [dsc + otto] (Dec)
 * Get Storm set up [dsc + otto] (Dec)
 * Storm ETL bolts for (some of) GeoIP, Anonymization, HDFS Import, Kafka Checkpointing [dsc] (Dec)
 * Consume some fraction (1:1000, 1:10000?) of web access logs [otto] (Dec)
 * Consume 1:1 web access logs into HDFS with ETL + Bucketing + Tagging [otto] (Jan)

Limn
Major release (0.8) planned for 5 Dec (prior to Metrics Meeting on 6 Dec)


 * Bugfixes (like Save-As, UI Error Notifications, ...) [dan] (Dec)
 * Mirror GitHub to Gerrit [dsc] (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] (Dec)
 * Migrate Dario's dashboards to Limn [dsc] (Dec)
 * Deploy reportcard / gerrit-stats on stat1001 (aka, "the Debian packaging discussion") [otto + dsc] (Dec)

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] (Dec)

Data Releases

 * Blogpost about what awesome stuff you can do with AWS Datasets [diederik + ?] (Oct) [Status: BABYMAKIN]
 * Finalize scripts to massively compact dammit.lt data [erik] (Oct!!??1) [???]
 * Create Data Release Practices Task Force [diederik] (Sept!1?) [Status: BABYMAKIN]
 * Publish Monthly Report Card -- deal with monthly data processing irregularities, perform correction/validation [ezachte + diederik + dsc] (Ongoing)

Engineering Community Team

 * Bug Wrangling [Andre + volunteers]
 * Updating BZ maintenance documentation -- ongoing [Andre]
 * Improving workflow for highest-priority bugs escalation -- ongoing [Andre]
 * Mentorship programs - ongoing [Quim, Sumana, Andre]
 * Summer of Code 2012: Pushing on merges -- ongoing [Sumana]
 * Outreach Program for Women - ongoing [Quim, Sumana, Andre]
 * LevelUp [Sumana] -- ongoing - socialized internally, soon to launch for real
 * Volunteer coordination and outreach
 * Event planning & followup -- ongoing [Sumana, Quim]
 * Bangalore followup
 * Grace Hopper followup [Sumana]
 * OpenStreetMap and 2013 Developers Meeting meetings
 * Planning online or in-person QA trainings for the community -- ongoing [Quim]
 * Planning community testing events -- ongoing [Quim]
 * Encouraging technical user groups -- ongoing [Quim]
 * Implicit knowledge transfer from Sumana to Quim -- ongoing with target of end of December
 * Technical communications [Guillaume]
 * Tech Ambassadors Network [Guillaume] -- ongoing on meta
 * Review of consultation results & creation of new experiment - target Dec 7
 * Volunteer product management program -- ongoing [Sumana]: target for new intake, end of December
 * Misc Engineering community proposals' followup [Sumana]
 * CoC [Sumana] -- in process - target 15 Dec

Technical Operations

 * Datacenter migration (eqiad)
 * Updating the scap scripts to deal with multi-datacenter
 * change to git-deploy?
 * Deploy Etherpad Lite [Daniel/RobH]

Features

 * VisualEditor/Parsoid (Trevor, Roan, Rob, Gabriel, Subbu, MarkTraceur, + Wikia)
 * experimentation into C/C++ version [DEFERRED UNTIL JAN 2013]


 * Echo_(Notifications)
 * Global preferences for echo delivery [Deferred to 2013]
 * centralization and cross wiki notification delivery [Deferred to 2013]


 * Article feedback (Matthias)
 * Full deployment to English Wikipedia [2013]

Parking lot and todos

 * Install Lua (Scribunto) on other Wikimedia wikis (probably sometime in 2013; see Goals)
 * Category collation
 * Patch waiting on Liangent for more work for full deployment
 * Queuing infrastructure work for Flow
 * Configuration management overhaul [Chad]
 * Evaluate WikiFactory from Wikia
 * Extension management -- depends on config mgmt revamp
 * graphical UI on top of improved backend for configuration management
 * 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
 * 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
 * Wikidata (WMDE)
 * BlameMaps (WMDE/Luca de Alfaro; see proof of concept)
 * Various HTTPS support fixes
 * Wikimedia server error page
 * Wikimedia operations history and architecture document
 * Disk-backed object cache
 * DB sharding
 * Affiliation tools for WikiProjects [build on GlobalProfile]
 * Gadgets 2.0?
 * Interwiki transclusion
 * WMF cannot commit the time to merge this.
 * Replicated session handling [Tim Starling]
 * Relicense our Lucene contributions [future Lucene search engineer]
 * OAuth [ChrisS]
 * related to potential API redesign (Wikia)
 * Article Creation Workflow: Postponed
 * Changes to visual design to make ACW consistent with Design Toolkit [TBD]