Wikimedia Engineering/Report/2014/August/summary


 * This content is prepared for inclusion in the August 2014 Wikimedia Foundation report. It is a shorter version of the full Wikimedia engineering report for August 2014.

Mobile Web
This month the mobile web team, in partnership with the Editing team, launched a mobile-friendly opt-in VisualEditor for users of the mobile site on tablets. Tablet users can now choose to switch from the default editing experience (wikitext editor) to a lightweight version of VE featuring some common formatting tools (bold and italic text, the ability to add/edit links and references). We also began building a Wikidata contribution game in alpha that will allow users to add metadata to the Wikidata database (to start, occupations of people) directly from the Wikipedia article where the information is contained. We hope to graduate this feature to the beta site next month to get more quantitative feedback on its usage and the quality of contributions.

VisualEditor
In August, the team working on VisualEditor presented at Wikimania 2014, worked with a number of volunteers at the hackathon, adjusted key workflows for template and citation editing, made major progress on Internet Explorer support, and fixed over 40 bugs and tickets.

Users of Internet Explorer 11, who we previously prevented from using VisualEditor due to some major bugs, will now be able to use VisualEditor. Support for earlier versions of Internet Explorer will be coming shortly. Similarly, tablet users browsing the site's mobile mode now have the option of using a mobile-specific form of VisualEditor. A greater range of VisualEditor editing tools on tablets, and availability of VisualEditor on phones as well as tablets, is planned for the future.

Improvements and updates were made to a number of interface messages as part of our work with translators to improve the software for all users, and VisualEditor and MediaWiki were improved to support highlighting links to disambiguation pages where a wiki or user wishes to do so. Several performance improvements were made, especially to the system around re-using references and reference lists. We tweaked the link editor's behaviour based on feedback from users and user testing. The deployed version of the code was updated three times in the regular release cycle (1.24-wmf17, 1.24-wmf18 and 1.24-wmf19).

SUL finalization
The SUL finalisation team continues to work on building tools to support the finalisation. There are four ongoing streams of work, and the team is on track to have the majority of the work by the end of September.

The ability to globally rename users was deployed a while ago, and is currently working excellently!

The ability to log in with old, pre-finalisation credentials has been developed so that users are not inadvertently locked out of their accounts. From an engineering standpoint, this form is now fully working on our test environment. Right now the form uses placeholder text; that text needs to be 'prettified' so that the users who have been forcibly renamed get the appropriate information on how to proceed after their rename, and more rigorous testing should be done before deployment.

A form to globally merge users has been developed so that users can consolidate their accounts after the finalisation. From an engineering standpoint, this form is now fully working on our test environment. The form needs design improvements and further testing before it can be deployed.

A form to request a rename has been developed so that users who do not have global accounts can request a rename, and also so that the workload on the renamers is reduced. From an engineering standpoint, the form to request a rename has been implemented, and implementation has begun on the form that allows renames to rename users. Once the end-to-end experience has been fully implemented and tested, the form will be 'prettified'.

Phabricator migration
The project is getting close to Day 1 of a Wikimedia Phabricator production instance. For better overview and tracking, the Wikimedia Phabricator Day 1 project was split into three projects: Day 1 of a Phabricator Production instance in use, Bugzilla migration, and RT migration. Furthermore, the overall schedule was clarified. In the last month, Security/permission related requirements got implemented (granular file permissions and upload defaults, enforcing that policy, making file data inaccessible and not only undiscoverable). In upstream, Mukunda added API to create projects and Chase added support for mailing lists as watching users. Chase worked on and tested the security and data migration logic. Mukunda continued to work on getting the MediaWiki OAuth provider merged into upstream. Chase and Mukunda also worked on the Project Policy Enforcer action for Herald, providing a user-friendly dropdown menu to restrict ticket access when creating the ticket. A separate domain for user content was purchased. Chase also worked on the scripts to export and import data between the systems and support for external users in Phabricator and the related mail setup. Chase and Chad also took a look at setting up Elasticsearch for Phabricator.

MediaWiki core front-end libraries
In August, the work to improve MediaWiki's core front-end libraries continued on two fronts. The preparation for implementing of the request for comment on refactoring MediaWiki's skin system continued, with all skins moved out of MediaWiki and into their own repos, cleaning up the old shared skins infrastructure to a better location, and improvements to the ResourceLoader to support the improvements to the skins system. The second prong of work, to create a "MediaWiki" theme for OOjs UI, a toolkit used to compose complex widgets, progressed in collaboration with Design. This work has taken longer than anticipated due to delays in agreeing the complexities of user interactions but is on target to be completed soon, after which the toolkit will switch to this theme for all users. Additionally, work to share code between the OOjs and Mantle efforts continued, with the EventEmitter interface being ready to switch over to a single shared codebase.