MediaWiki Product Insights/Reports/April 2024
Hi All -
Welcome to the monthly MediaWiki Insights email!
First of all, congratulations to Ederporto, SD hehua and Labster who got their first patch in MW core or Wikimedia deployed extensions and services merged during the month of April! Many thanks also to the reviewers for your support and thoughtfulness! It's the collaborative effort that makes MediaWiki scale for what it's built for.
10 months ago we started the journey of ramping up MediaWiki as a product and thinking about ways to systemically tackle the challenges around the MediaWiki software platform. The initial announcement and first conversations already happened before we officially kicked things off: At the Wikimedia Hackathon 2023 in Athens. Many interviews, conversations, explorations, investments and decisions later we’re coming back to the Wikimedia Hackathon this year to connect the dots.
MediaWiki, the software platform and interfaces that allow Wikipedia and other projects to function, needs ongoing support for the next decade in order to provide creation, moderation, storage, discovery, and consumption of open, multilingual content at scale.
What decisions and platform improvements can we make to ensure that MediaWiki is sustainable? - This has been a key guiding question over the past months. Platform improvements have been the subject of many initiatives mentioned in the monthly MediaWiki Insights emails, and the focus on sustainability is also reflected in the draft for the Wikimedia Foundation’s annual plan for the upcoming fiscal year (July 2024 – June 2025).
We plan to present an overview on the state of things at the Hackathon, and hope to use the “hallway track” to discuss questions, plans and ideas with some of you! A related presentation has already been given at the recent MediaWiki users and developers conference.
We will follow up with links to presentations, a summary and reflections in the next MediaWiki insights email. Stay tuned!
MediaWiki track at the Wikimedia Hackathon in Tallinn
editThe Wikimedia Hackathon starts this week! Beyond wanting to talk about MediaWiki, we’ve also put a MediaWiki track together to help people get started - or continue - with working on MediaWiki (core), discuss and collaborate with each other (workboard). Whether you want to get started, join as a mentor, or talk about MediaWiki - if you’re attending the Hackathon, please come find us at the MediaWiki track table!
Project snapshots: ObjectCacheFactory introduced to MediaWiki core, SUL3 and more work on REST API
editCaching: We introduced ObjectCacheFactory to MediaWiki core (T358346). ObjectCache is responsible for creating and fetching various cache instances for MediaWiki making use of BagOStuff, which is the mechanism for caching in the software's ecosystem. The introduction of the Cache Factory aims to reduce inconsistencies in our codebase and improve stability. Many thanks to Derick for leading on this work and to Timo, Piotr and Gergö for their support!
Help with replacing the deprecated static factory methods is much appreciated! Please see this tracking ticket for more information on which repositories need updates: T363770.
MediaWiki REST API: We completed T359652, which disallows optional path parameters in the MediaWiki REST API (aka rest.php) at the PathMatcher level. This is important for compatibility with API modules that we are moving from RESTBase into MW Core as part of RESTBase sunset (such as Reading Lists), and avoids issues with our generated OpenAPI/swagger specs (swagger does not allow optional path parameters). A big thanks to Bill for his work on this, and to all the people who provided support!
Database: SelectQueryBuilder and Expression Builder: We shared about the work that the Data Persistence team has been doing on the MediaWiki Rdbms library’s interface to improve consistency, security and ease for getting database connections and performing common queries in an earlier email. A big thanks to Amir for all his work on this to date! Since then, a lot of progress has been made on updating MediaWiki repositories in Wikimedia production to use the new SelectQuery and Expression Builders: Many thanks to all the people who helped with this! A special thanks to Umherirrender for migrating an impressive number of extensions to use SelectQuery and Expression builders over the past month, and to DannyS712 for many reviews!
Another highlight is the work done by Taavi over the past year: Allowing multiple different 2FA devices (T242031) is about to wrap up, which should be a nice improvement to make 2FA easier to use! Many thanks to Taavi and everyone involved for this work!
SUL3: Browsers increasingly roll out anti-tracking measures and limitations on third-party cookie use. A side effect of this is that it also impacts CentralAuth autologin. We aim to transition to a single sign-on domain to minimize the number of times users need to enter their credentials when changing wikis as well as for other benefits; and are about to move from the research to the coding phase. The implementation plan (with some question marks) is in T348388 and its subtasks - feedback is very welcome!
The Language team just released MediaWiki Language Extension Bundle 2024.04 (announcement). They are also looking into changing how and when we release MLEB. Please see T356847 for more information and feedback.
MediaWiki Release: The 1.42.0-rc.0 announcement will be out soon. MW 1.42-alpha has been branched since April 9th and added to the on-wiki documentation as the development snapshot. If you have changes that need to go to 1.42, they should be backported. New tasks with commits since April 16th have been targeted to the 1.43 unstable branch.
See some of you in Tallinn!
Thanks all for reading,