The report covering Wikimedia engineering activities (including upcoming
events, new hires, and open positions) in February 2013 is
now available. Thanks to Guillaume Paumier, Priyanka Nag, Tilman Bayer
and the engineers who helped put this together.
We're also providing a shorter, simpler and translatable version of this
report that does not assume specialized technical knowledge:
Below is the full HTML text of the report, as previously requested.
As always, feedback is appreciated about the usefulness of the report
and its summary, and on how to improve them.
Major news in February include:
- The Wikipedia Zero
a Knight News Challenge grant.
- Additional input
made available for jQuery.IME.
- The Translate extension introduced a new iteration of the Translation
- The Wikimedia mobile web team launched the ability to view or add
— all from mobile devices.
- Echo is A new notification system for
- The Technical Operations team found ways to stop
- Wikipedia Mobile hit 3 billion monthly page
*Note: We’re also providing a shorter, simpler and translatable version
does not assume specialized technical knowledge.
There are many opportunities for you to get involved and contribute to
MediaWiki and technical activities to improve Wikimedia sites, both for
coders and contributors with other talents.
For a more complete and up-to-date list, check out the Project:Calendar.
Date Event Contact Mar 7 QA: General MediaWiki reports Bug
13 Increase the
Given/When/Then explained, with examples from Search tests and suggestions
18 QA: LiquidThreads (LQT) Bug
19 Office hour about Wikimedia’s issue
management <https://www.mediawiki.org/wiki/Bug_management> in
AKlapper <https://www.mediawiki.org/wiki/User:AKlapper_%28WMF%29> Mar
Spring 2013 <http://semantic-mediawiki.org/wiki/SMWCon_Spring_2013> (New
York City, USA)
Mar 22 LibrePlanet
Mar 25 QA: Collaborate with Weekend Testers Americas: test new tools for
new users (E3)
Personnel Work with us <https://wikimediafoundation.org/wiki/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.
- Software Engineer – Editor
- Software Engineer –
- Software Engineer –
- Software Engineer –
- Software Engineer – Multimedia
- Software Engineer – Multimedia User
- Software Engineer –
- Product Manager –
- Director of User
- Visual Designer <http://hire.jobvite.com/Jobvite/Job.aspx?j=oomJWfw9>
- Partner Solutions
- Dev-Ops Engineer
- Operations Engineer – Database
- Senior Program Manager –
- Ed Sanders joined the Features
as Software Engineer working on Visual Editor (
- Christian Aistleitner joined as a contractor specializing in work on
- Marc-Andre Pelletier joined the Technical Operations team as
Operations Engineer (contractor), focusing on the Wikimedia Labs
infrastructure and migration of tools
- Kirsten Menger-Anderson joined the Features group as a part-time
contractor Technical Writer focusing on Editor Engagement Experiments.
- Greg Grossmeier joined the Platform
as Release Manager (
- Site Performance Engineer and Senior Technical Advisor Patrick
Reilly’s last day with WMF was February 19th
Both Asher Feldman and Peter Youngmeister are proceeding cautiously in
broadening MariaDB deployment in our clusters. We have one MariaDB instance
for each of the database clusters (s1 to s7). The MariaDB support team has
been quick in resolving bugs we encountered along the way. In another
database administration task, Asher reviewed and deployed the Wikidata
schema changes and migrated it from s3 cluster to s5, adding more growth
capacity.We put sixty new application servers into production in each of
the two datacenters. This is in anticipation of expected traffic growth
coming from both our regular and mobile sites in the coming year.Lately we
have been experiencing short time-out failures in the nightly search
indices built with search-pool4. Asher is experimenting with a fix. He
redistributed the search-pool4 indices in the Tampa data center based on
sizes and what seems to be a more acceptable index size-to-ram ratio. We
essentially have a virtual search-pool5 shard, but with the spelling and
highlight indices for pool4 and pool5 sharing the same servers. The pool4
wikis are using the new setup in Tampa, with everything else continuing to
use our Ashburn cluster. We should know soon if it works.The TechOps team
had a in-person team meeting the week of 25th February in WMF’s San
- The highlights of the meeting were:
- Discuss the upkeep of the “failover” datacenter and capture the
lessons learned from the recent datacenter switchover. For example, we
think we could reduce the switchover “readonly” time from 32
minutes to 10
minutes by automating more of the database and caching failover
- Improve and streamline our hiring process and our security access
- Organize a coordinated sprints process to fill the gap between
smaller tasks (for which we use the RT ticketing system) and
(which require department coordination) by collecting some
started brainstorming and forming teams via the Projects
- Face-to-face meetings with the Engineering teams from Platform,
Mobile, Analytics and Wikidata.
- Short TechOps sprints to reduce cronspams and our RT queue.
- Review budget needs for the 2013-2014 fiscal year.
*Data Dumps <https://www.mediawiki.org/wiki/WMF_Projects/Data_Dumps>*
Numerous bug fixes were made to the mwxml2sql tool, and a set of SQL files
bsed on an English language Wikipedia XML dump was published for use by
A tool to convert SQL dumps to escaped tab-delimited format is now
available for use with MySQL’s LOAD DATA INFILE command, much faster than
INSERTs. All SQL fles from the same dump were converted to this format and
.A new mirror has come on line, initially mirroring historical archives of
XML files as well as MediaWiki releases, page view statistics and other
Thanks to Robert Smith and Wansecurity.com
for providing the resources to
make this happen.
*Wikimedia Labs <https://www.mediawiki.org/wiki/Wikimedia_Labs>*
This month was mostly spent stabilizing Labs components. Labs
fixed to report instance
statistics properly. Adminbot was updated to
fix utf8 issues, and to fix package issues when upgrading. A number of
changes were made to the glusterfs support to bring more stability. Gluster
was upgraded to 3.3.1 to fix a memory leak on both the client and server.
Gluster isn’t matching our use case of multitenancy, as the glusterd daemon
isn’t handling the large number of volumes well. To help with this, until
we either fix the issue in gluster, or replace it, we’ve made a change to
not create/manage Gluster volumes for projects unless they opt in. We’ve
also disabled and deleted Gluster volumes for projects that are currently
unused. Work was done to turn Puppet classes for installing MediaWiki in
Labs into modules, so that they can be reused more easily.We merged
(our operations and infrastructure documentation)
together into wikitech.wikimedia.org
is available as a backup, in case all access
to our cluster is unavailable. Work was started on supporting saltstack
reactors, to replace the bootstrapping for instance creation. This month we
have new member of the Labs team, Marc-Andre
also known in the community as Coren. Coren will be working on the new Tool
Labs infrastructure and we’re very excited to have him on-board. Asher and
Peter started work on replicated databases for Tool Labs during the last
week of the month.
retention: Editing tools
In February, the team worked on improving the design, user interface
components and API infrastructure of VisualEditor, preparing for the new
features that will be added in the coming months. The objective is for
VisualEditor to be the default editor for all users, capable of letting
them edit the majority of content without needing to use the wikitext
editor, in July 2013. This will mean adding support for references, (at
least) basic templates, categories and images, each of which is a very
large piece of work. During this time, the team has expanded with the
recruitment of Ed
who will focus on the data infrastructure of VisualEditor’s platform. The
alpha version of VisualEditor on mediawiki.org
and the English Wikipedia
was updated twice
adding support for Microsoft Internet Explorer (version 9 and above),
fixing a number of bugs reported by the community, improving
internationalisation, and restructuring the data model layer so that the
code interfaces are ready for the new features.
The Parsoid team continued to improve support for non-English wikis. This
involved exposing more configuration information through the MediaWiki API
and using it throughout Parsoid. The support is now reasonably complete,
but needs testing. The round-trip testing framework needs to be adapted to
support running tests on pages from multiple wikis.
A new contributor, C. Scott Ananian, improved Parsoid’s performance by
switching the DOM library from JSDom <https://github.com/tmpvar/jsdom> to
Domino <https://github.com/fgnass/domino>. He also improved image handling
and contributed numerous other
The tokenizer was modified to parse one top-level block at a time, which
helps to spread out API requests and minimize the number of tokens in
flight. The serializer is in the process of being rewritten to work on DOM
input to benefit from the context provided by the DOM. This rewrite is
expected to simplify the logic significantly, and help fix some more
selective serialization issues that are blocking a deployment to production.
We also used the ops and core hackathon to discuss and refine our storage
Finally, we wrote a blog post about Parsoid on the WMF tech
Editor engagement features
This month, we continued development on the Notifications project
(code-named *Echo*), which is now being tested on mediawiki.org
Kaldari and Benny Situ developed new features such as
as well as refactored the code for the fly-out, archive page and email
notifications. Luke Welling continued to develop a more robust job
Fabrice Florin spearheaded discussions about notifications for both new and
experienced users, and updated requirements for this first set
our upcoming release. We will develop these notifications and final
features in coming weeks, and are aiming for a first release on the English
Wikipedia next month; in the meantime, you can help us test the current
version <https://www.mediawiki.org/wiki/Echo/Testing> on mediawiki.org
learn more, read this project
the Wikimedia blog. If you are a software engineer, check out this job
opening <http://hire.jobvite.com/Jobvite/Job.aspx?j=ovvXWfwD&c=qSa9VfwQ> to
join our team and develop more editor engagement projects like Echo.
In February, we analyzed and collated user research concerning talk pages.
Early designs were shown to members of the Board of Trustees to ask for
their input. Jeff Atwood (from StackOverflow and Discourse) came in to give
us a brain dump of his work. Design work was done on secondary “modules” as
examples for how existing workflows can be rebuilt within the Flow system.
Community engagement strategies saw the beginnings of implementation with
the creation of a “Portal” that will engage discussion about Flow at three
and the English Wikipedia).
*Article feedback <https://www.mediawiki.org/wiki/Article_feedback>*
This month, our team completed feature development for Article
and prepared to release an updated version on English, French and
German Wikipedias. Developer Matthias Mullie developed a final set of new
features, including simpler moderation
a new feedback
on a talk
Designer Pau Giner posted a usability study
the effectiveness of the new moderation tools. Community liaison
Oliver Keyes contributed to this request for
which concluded with a request to remove AFT4 and provide an opt-in version
of AFT5 on the English Wikipedia (going forward, editors who wish to enable
AFT5 for articles they watch can simply add the special Category:Article
Feedback 5 <http://en.wikipedia.org/wiki/Category:Article_Feedback_5> on
those pages). Product manager Fabrice Florin collaborated with members of
is now testing the tool in its
with a vote expected in May) and the French
just voted to start its own six-month pilot). We plan to deploy
AFT5′s final version on these projects by the end of the month, as
described in this 2013 release
Editor engagement experiments
In February, the Editor Engagement Experiments team (“E3″) continued
working toward completing its goals for the quarter ending in March, which
includes updates on the following projects.
After the intial launch of guided
Matt Flaschen and other team members worked on A/B testing the
effectiveness of guided tours as part of the onboarding new
currently enabled on English Wikipedia. Results from these
controlled tests are vital to understanding the impact of tours on editor
engagement. In the meantime, the GuidedTour
enabled on Wikimedia Commons and six Wikipedias (including French,
German, and Dutch), so that local administrators and volunteer developers
could take advantage of the feature.
In addition to working on polishing and quantifying the effect of guided
tours, significant progress was made on a new landing page for the
onboarding project, with plans to launch early in March. The new Getting
Started page will be expanded to include a wider variety task types offered
to new editors. It will also be generated from a basic recommender system
coupled with the GettingStarted
rather than relying on a bot.
<https://meta.wikimedia.org/wiki/User:Kmenger>joined the team as
Technical Writer mid-month. She began work with Ori
Livneh, Dario Taraborelli, and others on documenting the
with the goal of producing a comprehensive guide for end users
of EventLogging, especially other Wikimedia Engineering teams in need of
data. Future work by Kirsten will include similar documentation of the User
Metrics <https://www.mediawiki.org/wiki/UserMetrics> data analysis API,
which will be opened up for internal use in March.
The majority of February was spent paying down the more glaring examples of
technical debt we acquired during the 2012 English fundraiser, before
jumping straight into a whole new round of International fundraising that
kicked off on February 27th at approximately 15:00 UTC (7am PST). Due to
unforeseen problems with one of our payment gateways, we were forced to
scrap our plans for a continuous international fundraising effort spanning
March through June, and will instead attempt to raise as much of the
remaining budget in March as we are able. All other plans have been
precluded by the March fundraising efforts.
*Commons App <https://www.mediawiki.org/wiki/Apps/Commons>*
February saw numerous beta releases of the Commons iOS and Android app. The
Android app was
Google’s Play store with a Beta label. Brion Vibber announced for
testers to get envolved in http://tflig.ht/Zl9Ef7
. A significant amount of
time was spent on the visual polish, bug fixing, and internationalization
in prep for a very active series of betas. Extensive work was also done to
log specific user actions using E3′s EventLogging setup to help us make
data driven decisions in the future.
*Wikipedia Zero <https://www.mediawiki.org/wiki/Wikipedia_Zero>*
During February, we launched with a new partner, Orange Botswana. We’ve
also begun testing with Vimpelcom for an upcoming launch in March. In
addition, we’ve made improvements to the partner dashboard which tracks
Wikipedia Zero usage.
*Open Street Map <https://www.mediawiki.org/wiki/OpenStreetMap>*
Tomasz Finc, Max Semenik and Arthur Richards worked on organising the OSM
took place on March 9-10 in Copenhagen. Max Semenik continued working
on OSM in Labs and uploaded initial versions of several OSM-related
packages to Gerrit for Operations to review.
*Mobile Web Photo
In February we released the ability to upload and add images to articles
lacking them to the full mobile web. We continued work on improving the
upload and mobile file page views, for full productization in early March.
We also explored two new upload workflows in alpha/beta: adding a call to
action to articles that appear in the Nearby and Watchlist view, allowing
users to quickly see articles near them that may need an image, take a
photo and upload. Lastly, we began collaborating with the Fundraising team
to enable CentralNotice on the mobile web, giving us the ability to deliver
targeted banners to users who might be interested in trying out our new
upload features or Commons apps.
*MediaWiki 1.21 <https://www.mediawiki.org/wiki/MediaWiki_1.21/Roadmap>*
Deployments of 1.21wmf9 and 1.21wmf10 went to production as scheduled with
*Git conversion <https://www.mediawiki.org/wiki/Git/Conversion>*
Gerrit was upgraded this month to a pre-2.6 snapshot. This enabled the use
of plugins, as well as brought numerous bugfixes and UI improvements. Work
is underway on a plugin to provide Bugzilla integration and to replace
Gitweb with a better repository viewer called Gitblit. All of our git
repositories are now automatically replicated to
We’ve begun some initial planning into how we can improve the “new
repository request” process, making it much easier for users with a quicker
Jan Gerber continues to work part-time for the WMF to fix multimedia bugs.
Fixes include better support for FLAC files (bug
and better support for metadata display in small embedded players (bug
*Wikidata deployment <https://www.mediawiki.org/wiki/Wikidata_deployment>*
Wikidata has been deployed to Hungarian, Italian, Hebrew, and English
*Media storage <https://www.mediawiki.org/wiki/Media_storage>*
Nearly all files have been copied from Swift (in Tampa) to Ceph (in
Ashburn). Further scripts will be run to synchronize the Ceph files to
account for deletions and updates to files. The Varnish configuration to
handle URL rewriting (to take the place of rewrite.py in swift) is already
coded, though not yet in use.
*Lua scripting <https://www.mediawiki.org/wiki/Lua_scripting>*
We deployed Lua/Scribunto to several wikis, including English Wikipedia, on
February 18th. The current plan is to deploy to the remaining wikis on
*Site performance <https://www.mediawiki.org/wiki/Site_performance>*
A patch to allow moving the job queue to another DB cluster has been
merged, and another patch to support an alternative Redis-based queue is in
review in gerrit. Currently, job-related operations consume a significant
portion of production database master wall time.
The team worked on a number of areas this month. The interface for Stewards
to mass-lock user
completed and will be deployed very soon next month. The support for
global AbuseFilters nears completion, with a test deployment to
; once internationalisation is more
complete, it will be deployed for all wikis. The team worked to agree a
a global CheckUser tool. Progress was made on a global
XFF-based global and local blocks. The team also worked on finalising
the migration to Single User Login, building some
ascertain a sense of the problem.
*REST proposal <https://www.mediawiki.org/wiki/API/REST_proposal>*
Yuri <https://www.mediawiki.org/wiki/User:Yurik> started gathering
requirements for the RESTful
API as part of the overall planning for the API v2.0
Also, Wikia’s focused R&D sprint has led to remove all the remaining
obstacles identified previously and Wikia has identified a new, larger
dedicated Product team to get to a final implementation of the REST API
following the directions set by the existing prototype and internal RFC;
the team (API/Data) is the same one in charge of Search and all the related
API’s, this will ensure a better integration of this product into the new
API strategy. At the moment of writing the knowledge transfer required for
the team to start this new phase has just begun and the team has to first
to complete the current work on another project already in progress. In the
meantime, Wikia will make an RFC public for review and feedback.
*Security auditing and
Continued responses to reported vulnerabilities. Preparation for security
releases for 1.19 and 1.20 branches of MediaWiki. Continued review of
*Quality Assurance <https://www.mediawiki.org/wiki/QA>*
Concluded mobile app file upload test exercise. Preparing for new test
exercise, possibly for Search. Exploring another collaboration with Weekend
*Beta cluster <https://www.mediawiki.org/wiki/Beta_cluster>*
We are adding search to the beta cluster following Mobile Frontend tweaks.
We are discussing new ways to use the beta cluster as a result of our San
Francisco gathering in February.
Antoine Musso worked with several MediaWiki extension authors to ensure
that the unit tests for those extensions are run by Jenkins and that they
work. He hopes to have all extensions that run on the Wikimedia production
cluster fully operational by the end of February. Antoine also integrated
PHP CodeSniffer into our automated test runs.
*Browser testing <https://www.mediawiki.org/wiki/QA/Browser_testing>*
Added E3 tests. Preparing for test event to increase the backlog.
Sophisticated tests for Language need tweaking/research.
*Kraken (Analytics Cluster)<https://www.mediawiki.org/wiki/Analytics/Kraken>
We did two reviews of Kraken: one for security and one for overall
architecture. We’re incorporating the feedback, which includes merging our
puppet modules into the operations puppet repository and the test puppet in
Labs. Work has started to create dashboards for mobile pageviews, Wikipedia
Zero and the mobile alpha and beta sites.
Highlights in the past month include
- Stacked charts
- Debianization & Puppetization
- New E3 and Grantmaking dashboards
- Ad-hoc visualization of datasource
New mobile pageview report is in testing phase but not ready to ship.
It was a quiet month for the logging infrastructure; things were running
fine. We have been working on a patch to fix bug
which we will try to deploy in March.
Engineering community team
*Bug management <https://www.mediawiki.org/wiki/Bug_management>*
As part of the Weekly QA
a Git/Gerrit Bug Triage
place. About 25 open reports were retested and/or synchronized with
their status in the upstream
The Bug day format will be developed further to make it more attractive to
Valerie published an initial version of a Bug Life Cycle
the life of a bug report by its status changes over time,
continued investigating feedback channels and workflows of other bigger
free software projects, and also helped testing the Commons Upload app for
Android and the mobile browser as part of Mobile QA
A table on Bugzilla use by development
Furthermore, reachout to several development teams continued to better
understand the different bug management needs, and discussions took place
about a workflow how to mark fixed tickets as backport candidates in the
issue tracker, potentially resulting in the addition of a dropdown menu (“
flag <http://www.bugzilla.org/docs/4.2/en/html/flags-overview.html>“) in
*Mentorship programs <https://www.mediawiki.org/wiki/Mentorship_programs>*
The Outreach Program for
more than half-way. Our six participants are fairly on track; read
February reports from Valerie <http://valmj.wordpress.com/>,
Sucheta <http://mikipedian.blogspot.in/>. Teresa is working on unit tests
for the Git repository extension and is looking at a request to use this
extension to help to maintain CentralNotice-related content. Isarra
completed her work on Flow/User
working with the Editor Engagement team on improvements to the
Watchlist design. Google published the
of Code 2013 <https://www.mediawiki.org/wiki/Summer_of_Code_2013> and we
have confirmed our intention to apply as organization. Without big
announcements and more than a month before any deadline, we have already 15
students, 5 mentors and 2 org admins potentially interested.
Guillaume Paumier <https://www.mediawiki.org/wiki/User:Guillom> finished
setting up the
used it to replace content on pages like QA/Weekly
Meetings <https://www.mediawiki.org/wiki/Meetings> using selective
transclusion, created an edit
make it easier to add and edit events, added a bullet
and added links to icons
of an effort to harmonize visual identity for MediaWiki. He updated
the monthly report
reflect the current process, and met with LCA
staff <https://meta.wikimedia.org/wiki/Legal_and_Community_Advocacy> to
discuss possible collaboration between the tech
community advocates programs. While in San Francisco, he met with many
colleagues to discuss engineering project documentation, and ways to
announce to and engage with the rest of the community. Last, he started to
create a Product
facilitate the involvement of contributors, and supported the
engineering team in communicating about their accomplishments on the
Wikimedia Tech blog.
*Volunteer coordination and
- We have consolidated the QA Weekly
a way to
orchestrate testing and bug management activities with the
wider community. We run two Features
and two Bug Days (Article feedback and
So far it has been useful to coordinate better testing activities across
Wikimedia Foundation teams, but we still need better results engaging
- The (newly elected) Affiliations Committee is working on finding an
agreement with MediaWiki Group
Wikimedia India regarding whether it should be a chapter Special
Interest Groups, a user group, or some other structure.
- Quim Gil went to FOSDEM; as a result, we have now a generic “How to
contribute” presentation and
- We are helping the organization of the Amsterdam Hackathon
helped the Wikimedia Foundation decide what employees would get
travel sponsorship to Amsterdam.
*Language tools <https://www.mediawiki.org/wiki/Language_tools>*
- Translate (TUX) enhancements: Development continues full steam ahead
on the new translation editor with proof reading feature by Santhosh and
Amir. Niklas continues to enhance and test backend translate
infrastructure, including Solr integration and other translation aids.
- Plurals support: by Santhosh and Amir to be more consistent with CLDR
- Technical Font Specification for Indic scripts: We kicked off this
collaborative project between Red Hat and Wikimedia at the Language
February. Santhosh and Runa are contributors to this project.
- Language Coverage
This matrix aims to provide an up-to-date status of language support for
all tools that the team is developing and maintaining.
- Mediawiki i18n code review: Team continues to support Mediawiki
release with i18n code reviews across other features and extensions.
- Mediawiki Language Extension Bundle (MLEB): Monthly release of MLEB
release notes by Amir.
- jQuery.IME: Continue to merge input methods contributed into
jQuery.IME. We now have 155+ input methods for 75+ languages.
- jQuery.ULS: Continue to maintain jQuery.ULS. Awaiting resolution of
*The Kiwix project is funded and executed by Wikimedia
We have migrated our source code repository from Subversion to
We have have also focused in February on the revamping of the Kiwix
The new Web site is really more user friendly. Audience continues to grow
with 120,000 downloads of the software in February.
*The Wikidata project is funded and executed by Wikimedia
In February the first phase of Wikidata (language links) was deployed on
the English-language Wikipedia. Additionally the first parts of phase 2
(infoboxes) went life on wikidata.org
. It is now possible to add
statements. For an example see d:159 <https://www.wikidata.org/wiki/159>.
The first tools have already been written on top of this, for example
Geneawiki <http://toolserver.org/%7Emagnus/ts2/geneawiki/?q=Q1339> and
Reasonator <http://toolserver.org/%7Emagnus/ts2/reasonator/?q=Q1339>. In
the meantime more work has been put into additional data-types, like
strings and geocoordinates, as well as the foundations of phase 3 (lists
based on queries).
In other good news: Wikimedia Germany has decided to fund Wikidata
the end of the first year of development at the end of March.
The engineering management team continues to update the
* page weekly, providing up-to-date information on the upcoming deployments
to Wikimedia sites, as well as the *engineering
*, listing ongoing and future Wikimedia engineering efforts.
Engineering Community Manager