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 https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports/August_2023 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 https://phabricator.wikimedia.org/T336990 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 https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2024 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 https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports, and the focus on sustainability is also reflected in the draft for the Wikimedia Foundation’s annual plan https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2024-2025/Product_%26_Technology_OKRs#Draft_Key_Results 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
The Wikimedia Hackathon starts this week! Beyond wanting to talk about MediaWiki, we’ve also put a MediaWiki track https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2024/MediaWiki_Track together to help people get started - or continue - with working on MediaWiki (core), discuss and collaborate with each other (workboard https://phabricator.wikimedia.org/project/board/7117/). 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
Caching: We introduced ObjectCacheFactory to MediaWiki core (T358346 https://phabricator.wikimedia.org/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 https://phabricator.wikimedia.org/T363770.
MediaWiki REST API: We completed T359652 https://phabricator.wikimedia.org/T359652, which disallows optional path parameters https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1016820 in the MediaWiki REST API https://www.mediawiki.org/wiki/API:REST_API (aka rest.php) at the PathMatcher https://gerrit.wikimedia.org/g/mediawiki/core/+/eab7628c59be589c8bba2b29dabd073683778434/includes/Rest/PathTemplateMatcher/PathMatcher.php#16 level. This is important for compatibility with API modules that we are moving from RESTBase https://www.mediawiki.org/wiki/RESTBase into MW Core https://www.mediawiki.org/wiki/Core as part of RESTBase sunset https://phabricator.wikimedia.org/T262315 (such as Reading Lists https://phabricator.wikimedia.org/T336693), and avoids issues with our generated OpenAPI/swagger specs https://meta.wikimedia.beta.wmflabs.org/w/rest.php/ (swagger does not allow optional path parameters https://swagger.io/docs/specification/describing-parameters/#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 https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports/October_2023#Project_snapshot:_New_database_features,_new_security_feature,_and_Source_Maps_now_live_on_all_Wikimedia_wikis_+_default_in_MediaWiki. 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 https://phabricator.wikimedia.org/T311866 and Expression https://phabricator.wikimedia.org/T350075 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 https://phabricator.wikimedia.org/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 https://phabricator.wikimedia.org/T348388 and its subtasks - feedback is very welcome!
The Language team just released MediaWiki Language Extension Bundle 2024.04 (announcement https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/5B6XFPFYBETRBRWKQP4AKBFFJENGQLRR/). They are also looking into changing how and when we release MLEB. Please see T356847 https://phabricator.wikimedia.org/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 https://phabricator.wikimedia.org/project/profile/7083/.
See some of you in Tallinn!
Thanks all for reading,
Birgit
mediawiki-l@lists.wikimedia.org