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
 * Software deployments schedule

Previous months:
 * /2011/September
 * /2011/October
 * /2011/November

Item syntax: Examples:
 * Action item
 * [Needs consensus] Deploy unicorns [Brion/Tim]
 * Deploy unicorns [Brion/Tim] [DONE]

Platform / Dev-Ops

 * Continuous integration improvements
 * TestSwarm integration [Antoine, Timo, Chad]
 * Move towards continuous integration via git, goalpost: weekly deployment
 * Jenkins (Testswarm/PHPUnit tests) on git branches


 * Git conversion
 * prelim test conversions early in month [Chad/Brion] in progress
 * Git workflow architecture review [Chad/Brion]
 * CI tests get run when a developer chooses to push to the stage between their branch and the mainline branch
 * Agree on implementation strategies regarding remaining development process questions, e.g. how to handle multi-repo commits
 * Finish up specific Git management scripts
 * SVN import, post-release/deployment make r/o switch
 * Deployment scripts


 * Code review management
 * Under 500 revs to code review on trunk


 * Real-time visualization of all MediaWiki profiler data [Asher]
 * include visualization timepoints of all code deploys


 * Engineering project documentation
 * Publish December report [Guillaume]


 * Wikimedia blog maintenance
 * Implement Wikimedia blog theme & features tweaks [Guillaume]

---
 * Volunteer coordination and outreach
 * Consolidate and integrate the content from the training materials [Sumana, Guillaume]
 * Swift
 * Thumbnail deployment [Aaron/Ben/Mark B]
 * FileBackend refactoring work [Aaron]

Mobile / Offline

 * Feature iteration
 * User login [in progress]
 * Full screen search to production
 * WikipediaZero features
 * Photo upload
 * Articles near me without photos - API
 * Other features started at India Hackathon
 * Publish high-level mobile roadmap
 * Kiwix release
 * Default .m for all sibling projects
 * Publish the mobile research documentation sent by Parul [Guillaume]

Features

 * New Page Patrolling: Limited test release (stretch goal: release to production)
 * AFT
 * Test versions of Feedback Form in production
 * Design and development of Feedback Page, using data from test versions of Feedback Form
 * Moodbar/Feedback Dashboard: continued development and bug fixes
 * Test deployment of visual editor for limited use case, possibly only experienced editors; collect feedback from community and evaluate for adding to product backlog for visual editor features
 * RL2/Gadgets improvements deployed with MW 1.19 (dependent on Rel 1.19 schedule)
 * Multimedia
 * Upload Wizard in maintenance mode
 * TMH deployment (contingent on getting fixes completed based on code review comments)
 * Full scale WebFonts deployment

Operations

 * Squid deployment @ Eqiad
 * Lily [Mailman] server replacement [PY/DZahn]
 * DB servers refresh
 * /home move to NetApp [Mark] [in progress]
 * Swift integration for media storage [Ben/Aaron] (see above)
 * https support for mobile (https:// *.m.wikipedia.org)
 * External storage recompression [Ben/Tim]

Platform / Dev-Ops

 * MediaWiki roadmap/1.19
 * Cut 1.19 release branch
 * 1.19 deploy (from SVN)
 * Postmortem 1.19 after the 1.19 deployment
 * ResourceLoader 2


 * 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
 * possibly break out parsing from rest of MediaWiki


 * Begin developing framework for integration testing
 * possibly Selenium


 * Make decision regarding project parameters for inline template scripting [discuss in SF Hackathon]
 * Lua or Javascript V8 or something else?


 * [Needs review] Database-backed session handling


 * First release from git mainline development branch
 * Log collection (udp2log) improvement [Tim]
 * Deployment to locke in January


 * Superprotection feature (private notes to be copied to wiki somewhere by RobLa or Tim)

Features

 * Global Profile: continue design work, begin development
 * Addition moderation tools: TBD; moderation tools in support of contribution features that are not captured elsewhere
 * Personal Image Filter development presumed to begin, may be done via vendor development. Support third party block lists instead of categories?
 * Deploy AFT improvement iteration

Platform / Dev-Ops

 * HipHop decision point and development schedule
 * Wikipedia operations history+architecture document [Guillaume]
 * New error page [Guillaume]

Features

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

Platform

 * Interwiki transclusion

Mobile / Offline

 * First MobileFrontend feature related to mobile editing (e.g. section editing or annotation)

Features

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

Features

 * Small scale production/default deployment of visual editor

Mobile / Offline

 * First MobileFrontend feature related to mobile uploads (e.g. media upload beta).

Mobile / Offline

 * USSD gateway rollout
 * SMS gateway rollout
 * Varnish as default cache for Mobile
 * New article creation
 * Watchlists
 * Diffs
 * Search improvements
 * Kiwix on Android
 * Partner integration (various)
 * Lazy loading articles
 * reduce bandwidth requirements for some users
 * WikipediaZero

Features

 * Affiliation tools for WikiProjects [build on GlobalProfile]
 * Re-energize LiquidThreads (rename it?!) (may need refactoring for notification streams)
 * Photo/media moderation tools; additional patrolling and moderation tooling
 * Help features
 * Mentoring features
 * Other real-time features, chat

Platform / Dev-Ops

 * Config management overhaul
 * Extension management?

Continuous Responsibilities

 * Code review
 * RT review / ops tasks
 * Community extension review and deployment
 * Bug triages and general bug fixes
 * New extension deployment (Review queue)

Parking lot and todos

 * Details of git migration (extension mgmt, permissions, code review tool etc.)
 * More work on product backlogs for features and mobile
 * Ops section
 * Fundraising flesh-out
 * cf http://www.mediawiki.org/wiki/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