Wikimedia Engineering/Report/2011/June

Major news this month include:

Upcoming events

 * Wikimania (August 2-7, Haifa, Israel) —
 * wm2011:Developer Days


 * Check out the Software deployments page on the wikitech wiki for up-to-date information on the upcoming deployments to Wikimedia sites.

Job openings
Are you looking to work for Wikimedia? We have a lot of hiring coming up, and we really love talking to active community members about these roles.

The following positions have opened this month:
 * Product Manager — Analytics
 * QA Lead
 * Operations Engineer — Networking
 * Director of Features Engineering

RfPs:
 * Internationalization and Localization Outreach
 * Internationalization and Localization Feature Development

The following positions are still open:
 * Software Developer — Features
 * Systems Engineer — Data Analytics (previously Data Analytics Engineer)
 * Operations Engineer
 * Senior QA Engineer
 * Networking Contractor — Amsterdam
 * Software Developer, Rich Text Editing — Features
 * Product Manager — Features
 * Software Developer Front-end
 * Software Developer Back-end

In addition, we hope to post the following positions over the next few months:
 * Release Engineer
 * Technical Writer

Short news

 * http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/54365
 * http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/54365

Site operations
Virginia Data Center — Installation of a world-class primary data center for Wikimedia Foundation websites.
 * Status:

Media Storage — Improvement of our media storage architecture to accommodate expected increase in media uploads.
 * Status:

Testing environment
Virtualization test cluster — Environment to deploy temporary machines for testing and experimentation, for use by WMF staff and volunteers working on important projects (as capacity allows).
 * Status:

Backups and data archives
Data Dumps — Improvement of processes to create and provide public copies of public Wikimedia data.
 * Status:

Other activities

 * Backups —


 * HTTPS & IPv6 — Ryan Lane announced that Wikimedia sites would be switching to protocol-relative URLs in July, as part of the work to properly support HTTPS.


 * June 23 outage — Production wikis suffered from a 45-minute outage on June 23; a postmortem was drafted, as well as a more general incident response document.
 * Server decommission donations — Rob Halsell announced that decommissioned Wikimedia servers would be donated to non-profits, and called for applicants. Applications are now closed.

Editing tools
Visual editor 0.1 — Exploratory work to identify & prototype initial ideas for a visual editor for MediaWiki.
 * Status: Trevor Parscal continued to work on the front-end of the visual editor, and specifications for accessing the editing surface via the API. A hybrid rendering approach appears to be the best strategy for the visual editor. Neil Kandalgaonkar continued to work on the middleware, DOM and transactions. Neil also continued to work on a demo to integrate MediaWiki and Etherpad. With Alolita Sharma, they planned their upcoming sprints.

FlaggedRevs — A feature to allow changes made by logged-out and new users to be reviewed before they appear as the primary version of an article.
 * Status: Aaron Schulz improved user preferences and changed the way statistics are stored in the database, among other minor improvements .Chad Horohoe helped review the backlog of unreviewed commits.
 * Program manager: Alolita Sharma

Content Quality and Editorial Tools
Article Feedback — A feature to collaboratively assess article quality and incorporate reader ratings on Wikipedia.
 * Status: Additional features were added in June, like an additional dashboard, and tooltips. Roan Kattouw implemented an anonymized click tracking feature with an UDP back-end to provide metrics to assess user engagement. The community provided feedback and bug reports, and the development team addressed the concerns raised, for example by implementing a user preference to hide the tool. Dario Taraborelli continued to evaluate the data provided by the articles already showing the feature. The incremental roll-out to all articles on the English Wikipedia should be completed by mid-July.

Discussions and Interactions
WikiLove 1.0 — An extension to encourage praise and virtual gifts between users.
 * Status: Jan Paul Posma completed the back-end work and fixed bugs. Roan Kattouw reviewed the code and enabled the extension on a private production wiki for testing. The feature was then enabled on a public prototype wiki that was used for informal user testing. The extension is planned to be deployed to production wikis on June 29.

MoodBar 0.1 — A feature to encourage new users to provide feedback.
 * Status: Brandon Harris updated the feature's design, while Andrew Garrett started to work on the back-end (see code in SVN).

Multimedia Tools
Upload wizard — A feature that provides an easier way of uploading files to Wikimedia Commons, the media library associated with Wikipedia.
 * Status: Neil Kandalgaonkar continued to fix bugs, and added an additional functionality to show thumbnails before upload in modern browsers.

Other projects

 * Non-Roman character set localization — Alolita Sharma published two RfPs to assemble a dedicated team to tackle localization issues from a feature development and outreach perspective. She started to review applications and work out contracts.
 * ResourceLoader 2.0 — This project was mostly on hold in June due to the lack of engineering resources. Work is planned to resume in July.
 * LiquidThreads 3.0 — This project was mostly on hold in June due to limited resources, that were affected in priority to supporting the 2011 Board Election and the MoodBar.

Wikimedia Labs
Media projects — A set of features to improve media handling and key infrastructure support tools, many developed with Kaltura, such as Metavid, MwEmbed, and the Video Editor.
 * Status:

Parser — Groundwork for the next generation visual editor of MediaWiki.
 * Status: Brion Vibber continued to work on the parser plan, and also moved the "parser playground" gadget to an extension (read more).

Mobile projects
Mobile Research — A research project to help determine our Mobile strategy.
 * Status:

Mobile site rewrite — Port of our Ruby-based mobile gateway to PHP.
 * Status: Tomasz Finc sent a call for testers to help test the prototype in English, Japanese and Hebrew. Feedback is now being addressed.

Fundraising support
2011 Fundraiser — Support and development for the annual fundraiser of the Foundation.
 * Status: Arthur Richards, Ryan Kaldari and Katie Horn continued to plan and execute their work on CentralNotice, the donation pipeline and PHP unit tests.

Offline
Wikipedia version tools — Support and development of a series of tools to select Wikipedia content for offline use.
 * Status:

OpenZim for Collections — Integration of openZim into the Collections extension.
 * Status:

Kiwix — Improvement of the user experience of the Kiwix app to access offline Wikimedia content.
 * Status:
 * The videos of the usability testing sessions done in Berlin last month were also uploaded to Wikimedia Commons.

Short news

 * Mobile issues (500)

MediaWiki Core
MediaWiki 1.18 — The upcoming MediaWiki release.
 * Status: Tim Starling announced the release of MediaWiki 1.17.0. Thanks to the efforts of the code review team, the backlog of unreviewed commits for MediaWiki 1.18 was drastically reduced in June (see chart). Mark Hershberger started a discussion about which extensions to bundle with MediaWiki 1.18.

Code review management — Review of changes made to the MediaWiki code.
 * Status: The backlog of unreviewed commits continued to decrease in June. A long but productive discussion between developers happened on the wikitech-l list about how to further improve the code review process. It led to a proposal of a "20% policy", according to which every eligible Wikimedia engineer would spend 20% of their time doing "service work" that directly benefits the rest of the community.

Wikimedia analytics
Wikimedia Report Card 2.0 — Usability improvements and streamlining of the creation of the monthly report card.
 * Status: Erik Zachte and Nimish Gautam started a development sprint and worked on the back-end infrastructure. The information stored in a database is accessed via the MediaWiki extension API, and the visualization part uses JQplot. The team hopes to demonstrate a prototype for the next report card in early July.

Technical Liaison; Developer Relations
Bugmeistering — Management of our bug tracker.
 * Status:

Summer of Code 2011 — A sponsored community program allowing students to join the community as developers.
 * Status:

Engineering project documentation — An activity to ensure that project documentation of Wikimedia engineering activities is complete and up-to-date.
 * Status: Guillaume Paumier finalized the infrastructure for project pages, using templates and transclusion. Because of the tools' limits, full automation wasn't possible. He also continued to update project pages and statuses. A sprint is planned in July to catch up with the documentation of all projects.

Other activities

 * API maintenance — Sam Reed continued to fix bugs and to add new features to the MediaWiki API.
 * Shell requests — Priyanka Dhanda continued to process shell requests, after it appeared that a harmonization of wiki configuration options wouldn't be a significant time saver.
 * Access to Subversion — Volunteer development coordinator Sumana Harihareswara is now the primary point of contact for commit access requests. About 7 new developers were granted commit access in June, among which 2 Summer of Code students, and 2 Wikimedia Foundation employees.
 * Heterogeneous deployment — Priyanka Dhanda and Tim Starling added features and improved the code, which is now in SVN. Priyanka used it to deploy different versions of MediaWiki on a prototype. Tim and Priyanka are now discussing edge cases and remaining tasks.
 * translatewiki.net support — The list of 500 most used MediaWiki interface messages was updated to help translators focus on the messages with the most impact. The Translate extension may be reviewed in July to be used for content translation on Wikimedia sites, e.g. on meta-wiki.
 * Academic publications authentication proxy — Chad Horohoe started to a project whose goal is to allow selected Wikimedians to access third-party academic publishing sites to help with verifiability. The authentication challenges this project entails are not trivial; Ryan Lane is also involved in this project, particularly with his previous experience with OpenID.
 * HipHop support — HipHop support is still planned to be part of MediaWiki 1.20. In the meantime, we're looking for volunteers to help us package it for different distributions. Please contact Sumana Harihareswara if you have experience with packaging or would like to get involved in this area.
 * Projects on hold — The App-level monitoring, Configuration management and Disk-backed object cache projects were delayed, in favor of other work like the 1.17 release. Some of them will be resumed in July.