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.

Timeframe of roadmap draft: September 2011-March 2012

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

September 2011

 * MW1.18 deployment (~9/19-10/4)
 * Continuous Integration improvements (by ~10/31)
 * Stable Jenkins setup for PHPUnit tests
 * TestSwarm integration

October 2011

 * Git - prelim test conversions early in month
 * "git boot camp" @ WMF tech days and/or NOLA hackathon
 * MediaWiki 1.18 tarball release
 * Push code review on trunk toward zero
 * Git workflow architecture review
 * CI tests get run when a developer chooses to push to the stage between their branch and the mainline branch
 * this stage is roughly equivalent to merge requests on github & gitorious -- show test results to reviewers on a more or less completed chunk of code (may be one or several commits, and can be updated & resubmitted)
 * Agree on implementation strategies regarding remaining development process questions, e.g. how to handle multi-repo commits
 * Database-backed session handling
 * SwiftMedia deployment [original target date, may need to be revised]

November 2011

 * Finish code review on trunk
 * Cut 1.19 release branch
 * Git migration begins \o/
 * Finish up specific Git management scripts
 * to support WMF workflow
 * i18n updates
 * new developers
 * SVN import, post-release/deployment make r/o switch
 * Deployment scripts
 * Make Gerrit behave like we want it to
 * 1.19 deploy (from SVN)
 * Move towards git-based development and release process

December 2011

 * First release from git mainline development branch
 * Move towards continuous integration via git, goalpost: weekly deployment
 * Jenkins (Testswarm/PHPUnit tests) on git branches

January 2012

 * HipHop deployment preparation
 * Create HipHop instance that includes a full production image
 * run CI tests on HipHop as well as Zend
 * push further necessary fixes into the detail plan
 * Begin developing framework for integration testing
 * possibly Selenium

February 2012

 * HipHop decision point and development schedule

September 2011

 * Finalize UploadWizard multi-file selection
 * Begin TimedMediaHandler code review
 * Implement basic MoodBar fixes; simple initial activation improvements
 * Implement read-only feedback dashboard based on MoodBar comments (->early Oct)

October 2011

 * Finalize UploadWizard chunked uploads (to ensure reliable large file uploads)
 * Make decision regarding follow-up MoodBar/feedback dashboard development based on capacity availability
 * Begin development on article creation flow and NPP projects
 * Small WikiLove fixes (no more than a week)
 * Finalize TimedMediaHandler review and complete first round of fixes
 * Kick-off AFT vendor development project with initial focus on free-text comments + moderation

November 2011

 * Prototype deployment of new page patrolling tool, article creation flow iteration 1
 * TimedMediaHandler limited test deployment
 * RL2/Gadgets improvements deployed with MW 1.19

December 2011

 * Test deployment of visual editor for limited use case, possibly only experienced editors
 * First limited production deployment of AFT improvement iteration

January 2012

 * Production deployment of new page patrolling + article creation flow improvements
 * Personal Image Filter development presumed to begin, may be done via vendor development
 * Deploy AFT improvement iteration

February 2012

 * GlobalProfile development to kick off in Januray, provided development capacity is available
 * Finalize development of iteration 2 on NPP / aticle creation flow
 * Deploy AFT improvement iteration

March 2012

 * Prototype deployment of GlobalProfile
 * Deploy iteration 2 on NPP / aticle creation flow
 * Deploy AFT improvement iteration

April 2012

 * Small scale production/default deployment of visual editor

Later in the year
Potentially:
 * Affiliation tools for WikiProjects
 * Re-energize LiquidThreads (rename it?!)
 * Photo/media moderation tools; additional patrolling and moderation tooling
 * Help features
 * Mentoring features

Open questions

 * Details of git migration (extension mgmt, permissions, code review tool etc.)

Todos

 * complete, review, discuss, iterate
 * cf http://www.mediawiki.org/wiki/Wikimedia_Platform_Engineering and merge as appropriate