Major news in December include:
- a retrospective on Language Engineering events, including the language summit in Pune, India;
- the launch of a draft feature on the English Wikipedia, to provide a gentler start for Wikipedia articles.
Note: We’re also providing a shorter, simpler and translatable version of this report that does not assume specialized technical knowledge.
- 152 unique committers contributed patchsets of code to MediaWiki.
- The total number of unresolved commits went from around 1230 to about 1386.
- About 25 shell requests were processed.
Contents
Personnel
Work with us
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.
- VP of Engineering
- Software Engineer – Growth
- Software Engineer – VisualEditor (Features)
- Software Engineer – Language Engineering
- Software Engineer
- QA Automation Engineer
- Full Stack Developer – Analytics
- Analytics – Product Manager
- Operations Engineer
- Sr. Operations Engineer
- Operations Security Engineer
- Graphic Design Interns – Paid
Announcements
- Sherah Smith joined the Wikimedia Foundation as Fundraising Engineer in Features Engineering (announcement).
- Kunal Mehta joined the Wikimedia Foundation as contractor in Features Engineering (announcement).
- Andrew Green joined the Wikimedia Foundation as a contractor in Features Engineering, working on the Education Program (announcement).
Technical Operations
- As part of our ongoing work in selecting a new location for our next Datacenter, members of the team traveled to several candidate locations throughout the US to tour facilities, meet facility staff, and otherwise continue the selection process. Following this process, we have been able to shortlist our bid proposals, and have begun the final selection process. We hope to complete bid selection and legal review in January.
- Work continues on migrating our remaining services to our Ashburn datacenter. Consolidation and migration of databases, fundraising infrastructure, Labs, as well as progress on updating the configuration (puppetization) of several miscellaneous services was accomplished in December Additionaly, “triage” of the hardware within the facility was performed, with an eye towards what will be delivered to Ashburn, what will end up in our new facility, and what will be decommissioned.
- Andrew Bogott purged of empty projects and stale instances, resulting in more accurate usage statistics for Labs:
- Number of projects: 140
- Number of instances: 403
- Amount of RAM in use (in MBs): 1,592,832
- Amount of allocated storage (in GBs): 21,525
- Number of virtual CPUs in use: 797
- Number of users: 2,425
- Tool Labs saw a bump in usage as the winter holidays provided an opportunity for volunteers to migrate tools from the Toolserver and work on new projects; there are now 531 tools managed by 435 users, ranging from simple database queries to elaborate editing adjuncts using the new OAuth infrastructure.
- Work for the impending migration of Labs to the Ashburn data center is well on its way: hardware is set up, the new storage servers are configured, and a lot of fresh OpenStack puppet manifests are in progress.
Features Engineering
Editor retention: Editing tools
Our testing infrastructure is now exercising the entire stack including the web server, which will help to make sure that we also catch issues in HTTP libraries before deployment.
We wrote several RFCs about embracing a service architecture, PHP bindings for services, a general-purpose storage service based on our Rashomon revision store, and a public content API based on this.
Part of the team worked on a new PDF rendering infrastructure using Parsoid HTML, node and PhantomJS. Part of the team has also been mentoring two Outreach Program for Women (OPW) interns.
Core Features
Growth
Support
Mobile
Language Engineering
- Development of the TwnMainPage extension was completed; Translatewiki.net now has a new user registration process and a new dashboard for translators that provides insight in a user’s activity compared to that of other users.
- Plural rules for MediaWiki have been updated to comply with CLDR version 24. There were consequences for existing translations in Russian, languages that fall back to Russian, Serbian, Belarus and Ukrainian. These have been updated semi-automatically, and past contributors have been informed and asked to help in reviewing the updates.
- MediaWiki Language Extension Bundle 2013.12 was released. It is compatible with MediaWiki 1.21 and MediaWiki 1.22. The MediaWiki language extension bundle provides easy way to bring ultimate language support to your MediaWiki. The bundle is a collection of selected few MediaWiki extensions needed by any wiki which desires to be multilingual.
- A performance issue in the Translate extension that prevented use of the status field for translatable pages on Meta-Wiki was resolved.
Platform Engineering
MediaWiki Core
Site performance and architecture
The team wrapped up the Puppetization of Graphite and its migration to Ashburn, and configured Travis CI to run MediaWiki’s test suite under HHVM on each commit to core. They also added an initial HHVM role for MediaWiki-Vagrant and re-wrote MediaWiki’s profiling data aggregator to be more performant. Prior to the rewrite, it was constantly saturated and would drop data; the rewrite reduced average CPU utilization by more than two thirds.
Security auditing and response
The QA team, along with Multimedia team, is working on API level tests starting with UploadWizard. This is close to being done. Another API level testing activity is Parsoid, with help from VE and CI (Antoine) teams.
You can take a look at the first draft of the updated Development and Deployment process flow chart.
Quality assurance
mediawiki/services/parsoid
repository and is properly self-updating whenever a change is merged in that repository via a Jenkins job. Beta labs played a key role in finding and fixing some significant errors that, in combination, were causing users to see 503 errors in production, particularly on large pages and for Mobile users. For one thing, some timeouts on the Varnish caches had been set too low. We had increased those for the text Varnish servers but had not done so for Mobile Varnish servers. A tricky bug was also causing parts of large pages to be parsed multiple times. Last, the browser tests that incurred the 503 errors should have been capable of ignoring them. Thanks to Beta labs, the Varnish server timeouts are now correct, the multiple-parsing bug is addressed and the browser tests for MobileFrontend are running correctly.Engineering Community Team
/lib
subfolder) on the new server by using default distribution packages instead. Furthermore, Andre worked on a preliminary patch to display some common queries on the Bugzilla front page.Project management tools review
Round 7 of the FOSS Outreach Program for Women started and all projects and on track so far:
- Compacting interlanguage links.
- MediaWiki Homepage Redesign.
- Complete mediawiki API development course on codecademy.
- Clean up Parsoid round-trip testing UI.
- Clean up tracing/debugging/logging inside Parsoid.
- UploadWizard :OSM Embedding
We joined Facebook Open Academy almost at the last minute thanks to a reminder from developer Tyler Romeo. Six projects were accepted, which will be developed by teams of university students during the first half of 2014:
- Distributed cron replacement — Coren
- Cassandra backend for distributed round-trip test server — Gabriel Wicke, Marc Ordinas i Llopis
- Flow Right-To-Left language support — S Page (WMF) and Werdna
- Flow Edit Filter integration — S Page (WMF) and Werdna
- OpenBadges and Persona support for MediaWiki — Parent5446 and Qgil
Volunteer coordination and outreach
Multimedia
Fabrice Florin managed product development, spearheaded the team’s Multimedia Quarterly Review meeting, hosted more roundtable discussions and presented a Multimedia Vision 2016 to get more community feedback about our goals, with help from volunteer Aaron Arcos.
Bryan Davis, Aaron Schulz and other team members helped Dan Entous and David Haskiya release a first version of the GLAM Toolset for batch uploads by museum curators. We also started work on fixing bugs for the Upload Wizard, which we’ll aim to improve as our primary focus this quarter.
Last but not least, we are delighted to welcome Gilles Dubuc, who is joining our multimedia team as senior software engineer. To discuss these features and keep up with our work, we invite you to join the multimedia mailing list. .
Analytics
We analyzed the cause and impact of major over-reporting on page views in the last months of 2013. We filtered bogus traffic from the data, and published updated reports.
We also continued work on metrics standardization and presented the rationale for this project and the results of the initial round of analysis we conducted.
This month also saw the completion of the third volume of the research newsletter, which this year covered a total of 196 publications reviewed by volunteer contributors. A retrospective of research covered in the newsletter in 2013 will be published later in January.
Offline
- The Kiwix project is funded and executed by Wikimedia CH.
- We have released two new versions of Kiwix for Android this month (1.7 & 1.8), providing many new features; most of them were developed by young new developers as part of the Google Code-in program. Work continues around tools based on Parsoid output, especially as we need to rewrite the ZIM-related code for the MediaWiki offline toolchain, currently under heavy re-engineering. We have compiled download stats for 2013, and for the first time we have reached 700,000 downloads of the Kiwix app a year. Work to digitally sign the OSX and Windows binaries is ongoing and is the last step before releasing 0.9rc3. We have started experimenting with porting Kiwix-plug to RaspberryPi, and it looks good. Lots of new ZIM files were generated; we now generate a ZIM file of Wiktionary, as well as ZIM files without pictures.
Wikidata
The Wikidata project is funded and executed by Wikimedia Deutschland.
- The Wikidata development team continued to work on quantity values, including localization, support for scientific notation and the user interface. They also worked on performance by improving caching and database handling. DataValues Serialization 0.1 was released, as well as Ask Serialization 1.0 and Wikibase DataModel 0.6. A new DataModel serialization component was started, which will allow authors and people analyzing dumps to have the deserialization task solved for them.
Future
- The engineering management team continues to update the Deployments page weekly, providing up-to-date information on the upcoming deployments to Wikimedia sites, as well as the annual goals, listing ongoing and future Wikimedia engineering efforts.
This article was written collaboratively by Wikimedia engineers and managers. See revision history and associated status pages. A wiki version is also available.
Can you help us translate this article?
In order for this article to reach as many people as possible we would like your help. Can you translate this article to get the message out?
Start translation