VisualEditor [edit]
In October, the team worked to finish most of the re-engineering the code design of VisualEditor so that it is more modular and easier to extend. This has involved creating and documenting a number of formal APIs at each point in the architecture, so a developer does not have to understand the entire code base to be able to add new features. The early version of the VisualEditor on mediawiki.org was updated three times (
wmf1,
wmf2 and
wmf3), fixing a number of bugs and replacing the entire browser selection and typing models, and much of how the user interface connects with the rest of the code.
Parsoid [edit]
The
Parsoid team focused on testing the JavaScript prototype parser against a corpus of 100,000 randomly-selected articles from the English Wikipedia. A distributed
MapReduce-like system, which uses several virtual machines on
Wikimedia Labs, constantly converts articles to HTML DOM and back again to wikitext using the latest version of the Parsoid. For a little over 75% of these articles, this results in exactly the same wikitext, as we intend. For another 18% of these articles, there are some differences in the wikitext, but these are so minor that they don't result in any differences in the produced HTML structure when it is re-parsed. In the production version of Parsoid which will attempt to retain original wikitext as far as possible, these minor differences will only show up, if at all, around content that the user edited. Finally, just under 7% of articles still contain errors that change the produced HTML structure. These issues are the focus of the current work in preparation for the December release.
Article feedback [edit]
This month, we developed a few
final features for
Article Feedback, which is being tested on 10% of the English Wikipedia. Though our lead developer was loaned out to the Wikivoyage project for most of the month, we deployed a couple improvements to reduce the moderation workload for editors, including: better
abuse filters to automatically disallow swear words; new ways for moderators to filter the feedback page; and a check list to help users request oversight. These and other features can be tested on this sample
article feedback page or on the
central feedback page (please report any bugs on
Bugzilla). We also started to collect new research data to track
how moderators use the feedback page, as well as measure how many readers who post feedback become editors or registered users. Next month, we plan to make a few final improvements to address these findings, as well as complete code re-factoring to improve database performance. Once these tasks are done in coming weeks, we expect to release Article Feedback v5 to 100% of the English Wikipedia by the end of the year, and to other projects in 2013. For more information about this tool, check our
project overview.
Page Curation [edit]
This month, we made a few more improvements to our first release version of
Page Curation, which we deployed on the English Wikipedia in September 2012, with a very positive response from community editors. New features we developed based on their feedback include: showing the number of list items for selected filters; showing a notice when a page is only a few minutes old; and notifying the last reviewer if a page is 'mark as unreviewed'. We also developed
detailed metrics dashboards for tracking the impact of this new tool. To learn more, visit our
introduction page, watch this
video tour or read this
tutorial. If you are an experienced editor, try out the
final version on the English Wikipedia, and
report any bugs on Bugzilla. We have now ended new feature development for this product and plan to upgrade it again in 2013.
Micro Design Improvements [edit]
Several bugfixes were deployed to existing improvements, and work began on a new "Agora" extension to make it easier to productise and deploy the team's work, with Trevor Parscal and Rob Moen taking the lead. Vibha Bamba and Oliver Keyes have begun work on improving the templates that are displayed when the "edit" window is opened.
Editor engagement experiments [edit]
In October, the E3 team permanently deployed a
confirmation message for all editors (
Extension:PostEdit) to 16 Wikipedias, including six of the top 10 projects by size, and worked on associated maintenance of the feature. The team also deployed two iterations of tests for a
new registration page (
read more), including the beginnings of an API for client-side validation of the sign-up form. In support of current and future work, we deployed the beta
EventLogging extension, a new architecture to replace the older
ClickTracking extension. Last but not least, work started on
redesigning the login and new experiments aimed at
onboarding new Wikipedians.
Echo_(Notifications) [edit]
This month, we expanded our design and development activities for the Notifications project (code-named 'Echo'), to prepare for a first experimental deployment in early 2013. Fabrice Florin, Howie Fung and Vibha Bamba identified product goals, key features and scope for that first release (see
project slides), and discussed them with team members, including our partners at Wikia. We also created new conceptual models and workflows for different use cases, as well as requirements and wireframes for our first features. Ryan Kaldari and Benny Situ started to develop new types of notifications (e.g. edit reversion, new page review), integrating with Andrew Garrett's code (e.g. talkpage message, mention), with support from
Alex Monk. Aaron Schulz built a new abstracted version of the JobQueue system to support multiple queuing systems.
2012 Wikimedia fundraiser [edit]
Throughout October, the Fundraising Engineering team has been working on the final engineering push before the kickoff of the 2012 fundraiser in November. During testing, performance regressions were noticed across many wikis and geographies. The team, with support from many other groups, has identified and is attempting to resolve these issues to enhance not only fundraising, but the overall user experience on Wikimedia sites.
Wiki Loves Monuments mobile application [edit]
The mobile team started planning the decommission of the WLM Android app. We'll be retiring both the app and the back-end infrastructure. During the decommissioning process, our product team will analyze data from the WLM contest and prepare for Commons upload next.
Mobile design/Wikipedia navigation [edit]
Jon Robson, Brion Vibber, Max Semenik, Arthur Richards, and the product team
updated the mobile website with a new navigation bar, easy beta opt-in settings, new typography, and several bug fixes. The new navigation includes the Main page, a link to a random article, and settings functionality. The article page includes a new 'Read in another language' section. This is the biggest and most ambitious visual change that the mobile team has ever attempted. The new design will open the gates to new functionality by building on a cohesive new navigational infrastructure.
Wikipedia Zero [edit]
This month, we've launched Wikipedia Zero with dtac Thailand and STC Saudi. We've also enhanced some diagnostics to inform the users of Zero if they are not using a known partner IP address. We continued to talk with potential new partners and made internal improvements to simplify the configuration process.
MobileFrontend/J2ME app [edit]
We're finishing up the final testing of the Wikipedia J2ME application. We moved from testing on a variety of phones to reviewing on the reference hardware devices. Final approval is expected in early November.
Wikipedia over SMS & USSD [edit]
The team focused on diagnostics and debugging prior to an initial launch with a partner. We're
seeking to hire an engineer specifically to work in this area.
GeoData Storage & API [edit]
GeoData has been rewritten to support spatial searches via Solr; we are working with the Operations team to prepare for deployment.
Windows 8 app
- Brion Vibber released a native Wikipedia application for Windows 8. This app was not part of the regular Wikimedia product roadmap; instead, it was the result of a 1-day iteration that each team member gets for research time.
MediaWiki 1.20/Roadmap [edit]
Mark Hershberger has released a release candidate of the 1.20 tarball.
MediaWiki 1.21/Roadmap [edit]
We started the MediaWiki 1.21 series this month. We deployed
MediaWiki 1.21wmf1 and
1.21wmf2 to all wikis, and started to deploy
1.21wmf3. 1.21wmf2 contained a number of significant features: ContentHandler code necessary for supporting Wikidata, high-resolution image support, some refactoring of the CologneBlue skin, and a new "Sites" back-end (also used by Wikidata).
Git/Conversion [edit]
Many more extensions are now replicated from Gerrit to
the Wikimedia account on GitHub. Gerrit 2.5rc1 and rc2 were released over the course of October, and a final 2.5 is expected soon. One particularly exciting feature in Gerrit 2.5 is the new extensibility framework, which will allow us to replace
our gitweb based source browser with
GitBlit (the latter being a far more usable code browsing option). Assuming a showstopper bug with LDAP propagation gets fixed, we'll be able to deploy Gerrit 2.5 shortly after its release, and GitBlit shortly after that.
Wikidata deployment [edit]
The deployment of MediaWiki 1.21wmf2 was an important prerequisite to the deployment of Wikidata to the Wikimedia cluster. Chad Horohoe, Sam Reed, Daniel Zahn, and Mark Bergsma have been putting together the pieces to deploy a wiki to wikidata.org, which
happened on October 30.
Wikivoyage migration [edit]
The
extension review is almost finished, and we've got an internal test setup on Wikimedia Labs that we've used to test imports and extensions. We've finalized the
account migration strategy and started implementing it. We've developed a draft agreement with Wikivoyage e.V. about the transfer of the domain names. The Wikivoyage e.V. members are currently
voting to approve the migration. It'll be final on Friday, after which point we can transfer wikivoyage.org to Wikimedia. Our current goal is to do the actual migration next week.
Multimedia [edit]
The last of the blocking bugs have been resolved, so we now plan to deploy TimedMediaHandler to English Wikipedia on October 31 at 16:00 UTC. Further deployments will follow, tentatively the week of November 5. At the beginning of October, we had our new Swift distributed file storage cluster in production, with copies of all original media also being made to an NFS server (ms7) that was destined to fill up in the month of October. Our original plan was to shut off copying to ms7 and rely solely on the Swift cluster. Because of hardware issues with the Swift cluster, we decided we couldn't afford to switch off the copying of files to an NFS backup. We migrated the contents of ms7 over to a much larger NFS server (nas1), and configured nas1 to be the new live backup for images. We plan to remain in this configuration for the foreseeable future as we stabilize our distributed file store.
Site performance and architecture [edit]
Tim Starling committed changes to our implementation of libxml to use the PHP memory allocator, rather than using malloc (the C standard for allocating memory directly managed by the operating system). This will allow us to have per-page limits on the complexity of pages in a way that more closely mirrors their impact on our cluster.
Admin tools development [edit]
Security auditing and response [edit]
QA and testing [edit]
Newly hired Michelle Glover and Željko Filipin will be testing software and working on browser-level test automation for both mobile and web platforms. Željko has particular expertise in automated testing and will be joining Antoine Musso and Timo Tijhof in the Netherlands for a "Continuous Integration Summit" in conjunction with
Wikimedia Nederland Hackathon 2012.
Beta cluster [edit]
The MediaWiki configuration on the beta cluster has still a few remaining live hacks that prevent it from being upgraded smoothly. The final bits have been
tracked down and will need a final sprint.
Continuous integration [edit]
The continuous integration server has been upgraded to Precise, which will let us install more recent versions of various testing software. This upgrade also made it possible to deploy Zuul in production.
Browser testing [edit]
QA Engineer Željko Filipin has made great improvements to the existing automated browser tests and has created some new Mobile tests as well. Mobile QA Engineer Michelle Grover is creating an automatable regression test suite for MobileFrontend. These tests are currently running as builds under a hosted instance of Jenkins, with the intention of moving them to the WMF Continuous Integration environment pending upgrades to the machines hosting gerrit and Jenkins.
Analytics/Kraken [edit]
Analytics/Limn [edit]
Analytics/Infrastructure [edit]
The Analytics team has been working on: configuring and puppetizing CDH4 (Hue, Sqoop, Oozie, Zookeeper, Hive, Pig), configuring and puppetizing Kafka, benchmarking performance, drafting metadata schemas, setting up ganglia monitoring, setting up prototype pixel service endpoint, and running ad-hoc data queries for fundraising.
Bug management [edit]
New Bug Wrangler
Andre Klapper had many discussions with different stakeholders to get a better impression of how work is done, how people interact with the bug tracker, what the expectations are and what policies might be needed. He investigated the product/component organization within bugzilla, started triaging incoming and older reports, and did maintenance work (creation and partial cleanup of products and components). bugzilla.wikimedia.org was upgraded to 4.0.8 with the help of Daniel Zahn, and investigations started to determine how urgent an upgrade to 4.2 was with regard to functionality improvements. Plans for the next month include improving documentation on bug management and bug triaging, and describing interactions between the bug wrangler and the different teams.
Summer of Code 2012/management [edit]
The Wikimedia engineering community continues to help the 2012 GSoC students improve their projects towards the goal of release and deployment. Sumana Harihareswara aims to lead a postmortem discussion in November. Rob Lanphier and Sumana attended a GSoC Mentors' Summit in October, and discussed
mentor recruitment,
community metrics, how to be more effective mentors,
student selection strategies,
PHP and code review tools, and other related topics. As a follow-up to Summer of Code, the MediaWiki community is discussing whether to participate in
Google Code-In.
Technical communications [edit]
This activity was revived as its scope was expanded to include not only on-wiki engineering project documentation, but more generally the improvement of communications between Wikimedia contributors and the technical community (MediaWiki developers, Operations engineers, etc.).
Guillaume Paumier prepared and started a wide and open discussion with editors on some local wikis to identify issues and discussion possible solutions. Management is currently reviewing options to determine the direction this activity will follow in future months.
Volunteer coordination and outreach [edit]
Sumana Harihareswara continued to follow up on contacts (such as those gained at October's Grace Hopper Celebration of Women in Computing), recruit new contributors to the Wikimedia tech community, and mentor newer contributors. She granted
developer access and
Gerrit project ownership requests, and worked on getting more volunteer developers
+2 status in MediaWiki core: 8 volunteers now have MediaWiki core maintainership. Sumana also published a
retrospective of the 2012 Berlin Hackathon and updated the list of
MediaWiki extensions used on Wikimedia sites towards a better understanding of which parts of the codebase are maintained, and by whom. Hiring for a Volunteer Engineering Coordinator to work on volunteer coordination and outreach is almost finished.