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
As shared in the previous MW insights email https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports/November_2023, 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 https://gitlab.wikimedia.org/matmarex/gerrit-new-contributors/-/blob/master/gerrit-new-contributors.rb 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 https://www.mediawiki.org/wiki/MediaWiki_Code_Jam#Results 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 https://www.mediawiki.org/wiki/User:Krinkle/MediaWiki_Introduction_2023 going over core MediaWiki concepts. The videos are also available on youtube (part I: MediaWiki core concepts https://www.youtube.com/watch?v=-JnIjpRvgNY, part II: Wikipedia’s extensions https://www.youtube.com/watch?v=4xYbqbabTwI).
A "Quick" MW install https://www.mediawiki.org/wiki/Local_development_quickstart was created to make it possible to install MediaWiki in 3 steps and under 5 minutes. See this ticket for the evaluation https://phabricator.wikimedia.org/T348899 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 https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2024.
Project snapshot: Virtual domains, great namespaceisation, and first MW Engineering cross-sub-team quarterly planning
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”): T348388 https://phabricator.wikimedia.org/T348388 - Support upgrade of WMF production from PHP 7.4 to 8.1: T319432 https://phabricator.wikimedia.org/T319432 - Continue work to move off RESTBase https://phabricator.wikimedia.org/project/profile/6289/ - 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 https://phabricator.wikimedia.org/T355377 for compatibility with the upcoming Temporary Accounts for Unregistered Editors https://www.mediawiki.org/wiki/Help:Temporary_accounts project.
We’ve already checked the box on preparing auth components https://phabricator.wikimedia.org/T326925 (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 https://phabricator.wikimedia.org/T288498 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 https://phabricator.wikimedia.org/T354215, 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. - Cleanup continued in dropping deprecated unused config variables https://phabricator.wikimedia.org/T166010 (also known as the great namespaceisation effort). - Virtual domains are now working well in MediaWiki core https://phabricator.wikimedia.org/T353948 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 https://phabricator.wikimedia.org/T75714. - Database: Amir Sarabadani presented https://commons.wikimedia.org/wiki/File:Major_changes_to_MediaWiki%27s_rdbms_library.pdf about changes done to the RDBMS library at SMW Con (video available https://www.youtube.com/watch?v=q0mjNEJP5Fo). DBAccessObjectUtils is being redesigned https://phabricator.wikimedia.org/T354194, including major deprecation of indirect calls to IDBAccessObject constants.
How essential workflows are served through the MediaWiki software ecosystem
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: Unraveling Complexity: Mapping MediaWiki Software Components into User-Driven Workflows https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Artifacts/Unraveling_Complexity:_Mapping_MediaWiki_Software_Components_into_User-Driven_Workflows
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!
Birgit
Amazing work and reports! It's a breath of fresh air to see so many good things happening with MediaWiki, in contrast with the rather bleak tech situation being discussed in wikimedia-l. Thanks for all the quality work!
On Thu, Feb 1, 2024 at 7:07 PM Birgit Müller bmueller@wikimedia.org wrote:
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
As shared in the previous MW insights email https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports/November_2023, 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 https://gitlab.wikimedia.org/matmarex/gerrit-new-contributors/-/blob/master/gerrit-new-contributors.rb 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 https://www.mediawiki.org/wiki/MediaWiki_Code_Jam#Results 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 https://www.mediawiki.org/wiki/User:Krinkle/MediaWiki_Introduction_2023 going over core MediaWiki concepts. The videos are also available on youtube (part I: MediaWiki core concepts https://www.youtube.com/watch?v=-JnIjpRvgNY, part II: Wikipedia’s extensions https://www.youtube.com/watch?v=4xYbqbabTwI).
A "Quick" MW install https://www.mediawiki.org/wiki/Local_development_quickstart was created to make it possible to install MediaWiki in 3 steps and under 5 minutes. See this ticket for the evaluation https://phabricator.wikimedia.org/T348899 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 https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2024.
Project snapshot: Virtual domains, great namespaceisation, and first MW Engineering cross-sub-team quarterly planning
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”): T348388 https://phabricator.wikimedia.org/T348388
- Support upgrade of WMF production from PHP 7.4 to 8.1: T319432
https://phabricator.wikimedia.org/T319432
- Continue work to move off RESTBase
https://phabricator.wikimedia.org/project/profile/6289/
- 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
https://phabricator.wikimedia.org/T355377 for compatibility with the upcoming Temporary Accounts for Unregistered Editors https://www.mediawiki.org/wiki/Help:Temporary_accounts project.
We’ve already checked the box on preparing auth components https://phabricator.wikimedia.org/T326925 (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
https://phabricator.wikimedia.org/T288498 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 https://phabricator.wikimedia.org/T354215, 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.
- Cleanup continued in dropping deprecated unused config variables
https://phabricator.wikimedia.org/T166010 (also known as the great namespaceisation effort).
- Virtual domains are now working well in MediaWiki core
https://phabricator.wikimedia.org/T353948 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 https://phabricator.wikimedia.org/T75714.
- Database: Amir Sarabadani presented
https://commons.wikimedia.org/wiki/File:Major_changes_to_MediaWiki%27s_rdbms_library.pdf about changes done to the RDBMS library at SMW Con (video available https://www.youtube.com/watch?v=q0mjNEJP5Fo). DBAccessObjectUtils is being redesigned https://phabricator.wikimedia.org/T354194, including major deprecation of indirect calls to IDBAccessObject constants.
How essential workflows are served through the MediaWiki software ecosystem
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: Unraveling Complexity: Mapping MediaWiki Software Components into User-Driven Workflows https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Artifacts/Unraveling_Complexity:_Mapping_MediaWiki_Software_Components_into_User-Driven_Workflows
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!
Birgit
-- Birgit Müller (she/her) Director of Product, MediaWiki and Developer Experiences
Wikimedia Foundation https://wikimediafoundation.org/ _______________________________________________ Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
wikitech-l@lists.wikimedia.org