Wikimedia Engineering/Report/2012/February

 Engineering metrics in February:
 * unique committers contributed code to MediaWiki.
 * About code commits were reviewed.
 * The total number of unreviewed commits went from 44 to.
 * About shell requests were processed.
 * developers got commit access, among which volunteers.
 * Wikimedia Labs now hosts 59 projects, 97 instances and 126 users.

Major news in February include:
 * Swift deployment for thumbnails
 * 1.19 deployment to all Wikimedia sites except for most Wikipedia languages

Hover your mouse over the green question marks to see the description of a particular project.

Recent events

 * Pune hackathon (10–12 February 2012, Pune, India) — A few dozen participants came to this three-day developer outreach event cohosted with GNUnify. Participants focused on language support (i18n/l10n) and mobile applications.  Some new translations were created and the Wikimedia Mobile team received some improvements to the Android app for Wikipedia.


 * GLAMcamp DC (10–12 February 2012, Washington, D.C., USA)
 * The Wikipedia citation tool was developed as a web browser extension that allows users to obtain a citation from any online MARC library catalog, and in that specific language version of Wikipedia.
 * A mass upload script was written for importing the images and metadata of the Walters Art Museum. The results of the test run can be seen on Commons. The full collection (~20,000 images) will be uploaded in March. Documentation of the process can be found at http://notes.wikimediadc.org/p/upload-project.

Upcoming events

 * Chennai Hackathon March 2012 (17 March 2012, Chennai, India) — WMF's Yuvi Panda and volunteer Srikanthlogic are hosting this one-day hackathon for experienced developers. Volunteers can work with the MediaWiki API and other Wikimedia technologies and show off their accomplishments.


 * Berlin hackathon (1-3 June 2012, Berlin, Germany) — Wikimedia Germany is hosting this three-day "inreach" hackathon for the Wikimedia technical community, including MediaWiki developers, Toolserver users, bot writers and maintainers, Gadget creators, and other Wikimedia technologists. The event will mostly involve focused sprints, bugbashing, and other hacking, with a few focused tutorials and trainings on Git, Lua, Gadgets changes, or other topics of interest.  Wikimedia Germany will also use this event to consult on and discuss the Wikidata structured data initiative.  Wikimedia developers will soon get more information on travel sponsorships.


 * Wikimania hackathon (10-11 July 2012, Washington, DC, USA) — Katie Filbert, Gregory Varnum, and Sumana Harihareswara have begun planning the hybrid inreach/outreach hackathon occurring just prior to Wikimania. Experienced Wikimania technologists will collaborate while interested new developers will be able to learn introductory MediaWiki development.  The organizers are deciding on themes and focus topics for the event, possibly including accessibility.

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.


 * Developers and engineers:
 * Senior Software Engineer Front-end
 * Interaction Designer
 * Software Developer (Back-end, Data Analytics)
 * Software Developer (Rich Text Editing, Features)
 * Software Developer (Front-end)
 * Software Developer (Mobile)
 * Software Security Engineer
 * Operations Engineer (Labs)


 * Management & Product:
 * Technical Product Analyst


 * Requests for proposals:
 * Mobile QA — Help us set up testing and automation processes for all Wikimedia Mobile projects.
 * Lucene Search Operations Engineer — Help us maintain and improve our Search software stack and infrastructure.

Short news

 * David Schoonover joined the Platform engineering team as Systems Engineer for Data Analytics (announcement).
 * Jon Robson joined the Mobile engineering team as Software Developer for Mobile (announcement).
 * Terry Chay joined the Wikimedia Foundation as Director of Features Engineering (announcement).
 * Christian Aistleitner joined the Operations team as a contractor working on the XML dump infrastructure (announcement).

Site infrastructure

 * Ashburn data center — Mark Bergsma and Peter Youngmeister completed the setup and deployment of a new Squid-based caching infrastructure for text.wikimedia.org and api.wikimedia.org. Mark also added capacity and redundancy for bits.wikimedia.org. Leslie Carr upgraded and migrated ganglia.wikimedia.org out of the Tampa data center.


 * Tampa data center — The team completed a work plan on the search infrastructure, which includes short, medium and longer term fixes. Short term fixes (mainly consisting of configuration tweaking and moving data around) were implemented and brought back some stability. Medium term fixes involve puppetizing the current configuration, upgrading some of the components and building new infrastructure in the Ashburn data center. We also supported the deployment of MediaWiki 1.19, and the associated database schema changes. Last,  new database servers were added to the core clusters, to address capacity and performance requirements, and to retire some of the older servers.


 * Media Storage — February saw Swift deployed to production to serve thumbnail requests. A few bugs were fixed, but one was serious enough to revert the deployment and fall back to the legacy thumbnail infrastructure. Once the issue is fixed and Swift serves thumbnails again, the next steps will involve documentation and maintenance procedures, creating a mirror cluster in Ashburn, setting up Swift in Wikimedia Labs, and handling original media (not just thumbnails) with Swift.

Testing environment

 * Wikimedia Labs — We installed and peered the gluster volume storage, and switched the compute schedule to choose the compute host that has the least number of instances, rather than picking a random host. Ryan Lane gave a talk at FOSDEM on Labs entitled Infrastructure as an open-source project, with a good turnout of about 500 people. Sara Smollett replaced the   LDAP library with , to fix a bug when using TLS/SSL. Andrew Bogott has spent a long time working on adding gluster control to OpenStack, but has hit some technical issues; he's now working on fixing OpenStack's Unicode support.

Backups and data archives

 * Data Dumps — We now have a copy of all dumps on a secondary host in another data center. We've been working with two organizations on full mirrors of the dumps, sorting out performance issues before they can go live. Christian Aistleitner has started to work on a test framework for the dumps. We've made contact with the Internet Archive, and we're working on scripts using the S3 API to push our historical dump archive to their servers. We're also checking that dumps are generated correctly after the deployment of MediaWiki 1.19  in the middle of the transition to MW 1.19, checking that the dumps work correctly for migrated projects.

Other news

 * Domain names — The Wikimedia Foundation has started to move its domain names from GoDaddy.
 * Squid issue — An issue with Swift thumbnails led to an accidental restart of all Squid servers, which took longer than expected and caused site issues.
 * DDoS attack — Domas Mituzas noticed a distributed denial of service attack on February 27th. It involved flooding our Squid cache servers by POSTing 1MB files to the root directory. Mark Bergsma blocked the requests. The incident lasted for about 10 minutes and some Wikipedia users experienced slow response or timed-outs.

Mobile

 * Android Wikipedia App —

Over a million installs, with an updated version in beta now. Beta switches from Google Maps to OpenStreetMap for location displays, giving us better cross-platform compatibility. iOS version of the app continues to make progress towards beta.


 * WikipediaZero —


 * Wikipedia over SMS/USSD —


 * GPS Storage/Retrieval —


 * FeaturedFeeds —


 * Wiktionary app —

Fundraising support
Adding support for recurring globalcollect donations was the primary engineering focus in February, with work on this functionality carrying over into March. Several deployments were made to the payments cluster to better our form localization in several countries in Africa. A subset of those forms were used in a week-long banner and landing page test that also ran in February. A great deal of effort was expended in February in the name of building out the team by two more people; The search for new fundraising engineers is ongoing.

Offline

 * Kiwix UX initiative —

Future
The engineering management team continues to update the Software deployments page weekly, providing up-to-date information on the upcoming deployments to Wikimedia sites, as well as the engineering roadmap, listing ongoing and future Wikimedia engineering efforts.