MediaWiki Product Insights/Reports/January 2024
Hi All,
Happy 2024 and welcome to the monthly MediaWiki Insights email!
We’re starting this year with celebrating contributors who got their first patch merged in MW core, WMF deployed extensions or services in the months of December and January:
A big thanks to Doğu Abaris, apasternak, Abador, Mehdi Zidani, Oudedutchman, Cyn, Dominic mayers, and Houseblaster for their contributions!
Welcome :-)
Enable more people to know MediaWiki and contribute effectively
[edit]As shared in the previous MW insights email, we have been thinking about ways to improve first time MediaWiki (core) contributors’ experience. One key part of that is knowing who is new to be able to say hi (and thank you). Bartosz created a script to find new MediaWiki contributors for a given month that got their first patch merged (see above!). Another key part is code review for patches submitted by (new) volunteer contributors. We’re currently thinking about how we could organize code review for volunteer-submitted patches better across MediaWiki Engineering and want to give a shared MW-Engineering Gerrit dashboard a try, with primary focus on the components the group is responsible for.
We ran a WMF-internal MediaWiki CodeJam event in December, with 54 participants (16 from the MW team) and 21 Phabricator tickets completed. Areas of improvement included MediaWiki itself and multiple essential extensions. See the project page for details!
Two notable “side projects” of the CodeJam: To support new contributors, Timo has created a series of tutorials going over core MediaWiki concepts. The videos are also available on youtube (part I: MediaWiki core concepts, part II: Wikipedia’s extensions).
A "Quick" MW install was created to make it possible to install MediaWiki in 3 steps and under 5 minutes. See this ticket for the evaluation on how this worked out for testers during code jam. Thanks to Alex Paskulin, Timo Tijhof and Kosta Harlan for their work <3
The materials as well as lessons learned from this first MW code jam will help us run a second edition for everyone who’s interested, possibly ahead of, and at the Wikimedia Hackathon.
Project snapshot: Virtual domains, great namespaceisation, and first MW Engineering cross-sub-team quarterly planning
[edit]We finalized the Q3 plan (= Jan-March) for MediaWiki Engineering in early January. This is the first time where we applied a “cross-sub-team” planning approach across MediaWiki Engineering & engaged as a group on gathering proposals and then prioritized these. A few examples for high priority work:
- Evolve central login to meet requirements of a changing environment (“SUL3”): Phab:T348388
- Support upgrade of WMF production from PHP 7.4 to 8.1: Phab:T319432
- Continue work to move off RESTBase
- Continue work on exploring how essential workflows on the Wikimedia projects are currently supported through the MediaWiki software ecosystem (see below)
- Prepare MW-platform team owned components for compatibility with the upcoming Temporary Accounts for Unregistered Editors project.
We’ve already checked the box on preparing some auth components (OATHAuth and WebAuthn) for compatibility - many thanks to Piotr and Gergö for their work on this!
Other highlights:
- We’ve made progress towards supporting Less 3.13 behavior: A series of bugs were fixed in Less v2.5.3 to pave the way to enable new Less.js capabilities to be used in the frontend.
- The Content Transform team has moved functionality out of Parsoid and into Cite extension, which allows both Parsoid and the default parser to use the same underlying functionality and reduce maintenance burdens.
- To support SRE’s work, MediaWiki metrics were migrated from Graphite to Prometheus. This is an ongoing effort with more upcoming work.
- Moving classes into namespaces continued (also known as the great namespaceisation effort).
- More cleanup happened by continuing to drop deprecated unused config variables.
- Virtual domains are now working well in MediaWiki core and are supported in the updater and installer.
- A minor task was to update the JavaScript syntax checker for gadgets and user scripts for ES6 and ES7.
- Database: Amir Sarabadani presented about changes done to the RDBMS library at SMW Con (video available). DBAccessObjectUtils is being redesigned, including major deprecation of indirect calls to IDBAccessObject constants.
How essential workflows are served through the MediaWiki software ecosystem
[edit]As part of developing a product strategy for MediaWiki, one research question is how the MediaWiki software ecosystem currently supports essential workflows on the Wikimedia projects. We also wanted to understand commonalities and differences in how these workflows and use cases are supported on different wikis - for example, Wikipedia A vs Wikipedia B, Wikipedia A vs Wikidata, or Wikipedia A vs translatewiki.net - etc.
Moriel has been leading this work, in collaboration with many engineers across different areas of expertise. A first outcome has now been published:
The next outcome is already in the making, with focus on exploring how specific use cases are supported (differently) on 3 different Wikimedia projects. The goal is to identify where conceptual behaviors diverge and converge between the wikis, pinpointing base and common behaviors versus those unique to specific cases. This brings us in the interesting fields of software behavior on use cases such as: “An unregistered (not yet temporary) user edits existing wikitext content (fixing typo) on desktop.” Read the write-up above to learn more about why, and stay tuned for the next outcome of this exploration, which will talk through some of the findings in this multi-wiki modeling approach.
Thanks all for reading! --BMueller (WMF) (talk) 21:56, 1 February 2024 (UTC)