Wikimedia Hackathon 2023/Showcase


 * Sourced from https://etherpad.wikimedia.org/p/wmh2023-Wikimedia_Hackathon_2023_Project_Showcase
 * Session recording: https://www.youtube.com/watch?v=Nd-kckDEaR0
 * See also: Wikimedia_Hackathon_2023/Documentation

🥳 Wikimedia Hackathon 2023 Showcase & Project list 🥳

Date & Time: Sunday, May 21st, from 2:30 - 4:30 pm Facilitators: @siebrand and @Nes Venue: MachineWorks (Main hacking room) Phabricator task: For discussion & more information on presenting see Phabricator ticket: https://phabricator.wikimedia.org/T334502

Participants will get to showcase their hackathon projects, and we will close out the event and say goodbye. Presentations are limited to 50 total, with 2 minutes each.

Demo template Interested in presenting? Fill in the section below with your details in this etherpad: https://etherpad.wikimedia.org/p/wmh2023-Wikimedia_Hackathon_2023_Project_Showcase

Phabricator task: Brief (2-3 lines): Relevant links: Contact(s): Status (e.g., early concept, ready for beta deployment, production, etc.): Okay with being recorded: Yes/No
 * 1) Title:

Phabricator task: T324535 T322717 Brief (2-3 lines): It is now possible to mark links to Wikimedia user pages as verified on your Mastodon profile (or other software using rel=me links) Relevant links: https://wikis.world/@taavi https://www.mediawiki.org/wiki/Help:Extension:RealMe Contact(s): Taavi and Kunal Status (e.g., early concept, ready for beta deployment, production, etc.): production Okay with being recorded: Yes
 * 1) 1 Title: RealMe

Phabricator task: https://phabricator.wikimedia.org/T332910 Brief (2-3 lines): Toolhunt now has a search bar. Users will no longer be at the mercy of random chance. Relevant links: https://docs.google.com/presentation/d/1agnnK9DFCOhUV5RA_EujSZlfKOnp2slUj3ORlneg9c8/edit#slide=id.g24820764585_0_0 https://toolhunt-staging.toolforge.org/#/  https://toolhunt.toolforge.org/#/ Contact(s): @NicoleLBee Status (e.g., early concept, ready for beta deployment, production, etc.): ready for deployment Okay with being recorded: Yes
 * 1) 2 Title: Toolhunt (Now With Searching!)

Phabricator task: https://phabricator.wikimedia.org/T326665 Brief (2-3 lines): The Accordion component for the Codex Design System offers a flexible way to organize and present content, supporting multiple sections with customizable headers and content. Relevant links: https://drive.google.com/file/d/1SWupASwHkARi25apJtwi_KD2D5ZjUXA5/view?usp=share_link (recording) Contact(s): Szymon Świergosz (@Sswiergosz) Status (e.g., early concept, ready for beta deployment, production, etc.): MVP Okay with being recorded: Yes
 * 1) 3 Title: Accordion component for Codex DS

Phabricator task: https://phabricator.wikimedia.org/T337173 Brief (2-3 lines): Depictor now preloads images to speed up the depicting process and locks the user interface when making an edit. Also a little preview of things to come. Relevant links: https://hay.toolforge.org/depictor/ Demo: https://www.youtube.com/watch?v=XptuXknDt2Y Contact(s): Hay Kranen (Husky) Status (e.g., early concept, ready for beta deployment, production, etc.): production Okay with being recorded: Yes
 * 1) 4 Title: Improving Depictor

Phabricator task: https://phabricator.wikimedia.org/T337030 and https://phabricator.wikimedia.org/T337102 Brief (2-3 lines): Use packageFiles and require to import JS. Use ES6 features such as classes, arrow functions, const/let, string templates. Relevant links: https://phabricator.wikimedia.org/F37026769 and https://gerrit.wikimedia.org/r/c/mediawiki/extensions/MultimediaViewer/+/921502/12/resources/mmv/ui/mmv.ui.progressBar.js Contact(s): simon04 and Jon Status (e.g., early concept, ready for beta deployment, production, etc.): patches merged/pending Okay with being recorded: Yes
 * 1) 5 Title: Modernizing MultimediaViewer codebase

Phabricator task: T56140 Brief (2-3 lines): Proof-of-concept of using a dedicated JSON content slot for storing TD Relevant links: https://docs.google.com/presentation/d/1xdTyoxDoEcY5pJpSrUqu59ZgszJAH8GY3hiGkx0XsmU/edit?usp=sharing (recordings) Contact(s): Máté Szabó (@mszabo) Status (e.g., early concept, ready for beta deployment, production, etc.): proof-of-concept Okay with being recorded: Yes
 * 1) 6 Title: MCR integration for TemplateData

Phabricator task: T337180 Brief (2-3 lines): There are 2 million wikidata tags on objects in OpenStreetMap. Wikidata now has properties for OSM relation, way and node IDs. These properties need to be populated with OSM IDs. I'm working on software to generate a list of IDs to load into Wikidata. Relevant links: https://edwardbetts.com/wmhack/ https://www.wikidata.org/wiki/Property:P11693 Contact(s): Edward Betts (User:Edward) Status (e.g., early concept, ready for beta deployment, production, etc.): proof-of-concept Okay with being recorded: Yes
 * 1) 7 Title: Code for adding OpenStreetMap IDs to Wikidata

Phabricator task: https://phabricator.wikimedia.org/T337124 Brief (2-3 lines): Working together in VE with other authors at the same time is possible with CollabPad. But the installation is not trivial. A central installation to allow an easy usage for everybody could be a solution. For this the CollabPad would need to import external wiki pages. See how far we got in the screencasts in the ticket! :) Relevant links: https://bawolff.net/collabpad/w/index.php/Special:CollabPad Contact(s): lilients, bawolff Status (e.g., early concept, ready for beta deployment, production, etc.): proof of concept Okay with being recorded: Yes
 * 1) 8 Title: Central CollabPad - first steps

Phabricator task: https://phabricator.wikimedia.org/T330755 Tool: https://videocuttool.wmcloud.org/ (Login to use the tool - On going bug, fixed - Yet to be deployed) Document: https://commons.wikimedia.org/wiki/Commons:VideoCutTool Brief (2-3 lines): MongoDB is not approved by the OSI as an open source license, so moved to PostgresSQL Relevant links: https://gerrit.wikimedia.org/r/c/labs/tools/VideoCutTool/+/896129/ Contact(s): @Gopavasanth (team: Sohom Datta, Punith and Varun) Status (e.g., early concept, ready for beta deployment, production, etc.): Merged (Not deployed yet) Okay with being recorded: Yes
 * 1) 9 Title: Migrating VideoCutTool from MongoDB to PostgreSQL

Phabricator task: https://phabricator.wikimedia.org/T333113 Brief (2-3 lines): The default edit summary for an undo edit specifies the revision number that is being reverted, but that number used to be shown as plain text in the edit summary and page history. The revision number is now a wikilink to Special:Diff, so it can be clicked to navigate to the original edit. This had already been done locally on the Portuguese wikipedia, now it is implemented directly in core. Relevant links:https://pt.wikipedia.org/w/index.php?diff=58875945 Contact(s): Alberto Leoncio, Waldir Status (e.g., early concept, ready for beta deployment, production, etc.): merged, deployment next week Okay with being recorded: Yes
 * 1) 10 Title: Link to Special:Diff in default summary for undo edits

Phabricator task: https://phabricator.wikimedia.org/T330230 Brief (2-3 lines): It is currently possible to query the Global ID of an account via the API from the Local ID of a wiki, however the reverse was not possible. Relevant links: Contact(s): Alberto Leoncio Status (e.g., early concept, ready for beta deployment, production, etc.): merged, deployment next week Okay with being recorded: Yes
 * 1) 11 Title: Provide local user id via meta=globaluserinfo

Phabricator task: https://phabricator.wikimedia.org/T337083 Brief (2-3 lines): An automated bot for sending out announcements to selected Telegram group chat. Relevant links: https://github.com/wmhack2023/wmhack2023.github.io/tree/main/_telegram Contact(s): Dimitrios Ringas, Spyridon Eftychios Kokotos (aka. Spyros) Status (e.g., early concept, ready for beta deployment, production, etc.): Production Okay with being recorded: Yes Presentation link: https://docs.google.com/presentation/d/19B9tYglBAFvzjiPJ2vFoiHVaTJrcBKp_1iPJBBfDetM/edit?usp=sharing
 * 1) 12 Title: Telegram announcements bot for Hackathons, etc

Phabricator task: https://phabricator.wikimedia.org/T337181 Brief (2-3 lines): Relevant links: https://lutz.toolforge.org/ Contact(s): Chico Venancio Status (e.g., early concept, ready for beta deployment, production, etc.): beta Okay with being recorded: Yes
 * 1) 13 Title: Lutz, an editor gender gap vizualization tool

Phabricator task: Brief (2-3 lines): We made process of blocking spam much more user-friendly Relevant links: https://en.wikipedia.org/wiki/MediaWiki:Spam-blacklist vs https://phab.wmfusercontent.org/file/data/i4mqe3me5vo34wrbxf4b/PHID-FILE-fhkn3hlxayghivpowkhi/grafik.png and https://phab.wmfusercontent.org/file/data/m6djby77wfrzj7uuf7f5/PHID-FILE-mnfvq6l5qtqqxeprgtgr/grafik.png Contact(s): Ladsgroup (Amir Sarabadani) Status (e.g., early concept, ready for beta deployment, production, etc.): Ready for beta deployment Okay with being recorded: Yes
 * 1) 14 Title: Spamblacklist improvements

Phabricator task: https://phabricator.wikimedia.org/T336632 Brief (2-3 lines): Experiment with letting lua templates make animated SVGs Relevant links: https://www.mediawiki.org/wiki/Extension:Monstranto http://bawolff.net/monstranto/index.php/Module:Circle Contact(s): Bawolff Status (e.g., early concept, ready for beta deployment, production, etc.): Proof of concept Okay with being recorded: YES
 * 1) 15 Title: Interactive scribunto templates (Monstranto)

Phabricator task: https://phabricator.wikimedia.org/T336692 Brief (2-3 lines): We developed user-script (s) to create sumamries of Wikipedia sections. At this point the script uses ChatGPT chat-completion endpoint. We also ported it to support Discussion pages. Relevant links: https://github.com/tonythomas01/wikipedia-section-summaries/tree/main Demo: https://www.youtube.com/watch?v=mja1C6FnWes Contact(s): @Alexey_Skripnik, @01tonythomas, @Tgr Status (e.g., early concept, ready for beta deployment, production, etc.): Ready for use via user-script. Okay with being recorded: Yes
 * 1) 16 Title: Wikipedia section & discussion summarizer

Phabricator task: Brief (2-3 lines): Wikipedia Preview is a tool developed by the Inuka team that shows Wikipedia article previews upon hovering on Wikipedia links. But it relies on webpage owners to include a script on their pages. This browser bookmarklet and user script let users use this tool on any webpages they would like to. Relevant links: https://gitlab.wikimedia.org/diegodlh/wikipedia-preview-extension Contact(s): @DiegodlH Status (e.g., early concept, ready for beta deployment, production, etc.): early concept Okay with being recorded: Yes
 * 1) 17 Title: Wikipedia Preview browser bookmarklet and user script

Phabricator task: https://phabricator.wikimedia.org/T337182 Brief (2-3 lines): I wrote a new patch to make `webservice restart` restart Toolforge tools more gracefully under Kubernetes. Relevant links: https://gerrit.wikimedia.org/r/c/operations/software/tools-webservice/+/921620 Contact(s): Lucas Werkmeister Status (e.g., early concept, ready for beta deployment, production, etc.): partially reviewed, not yet merged Okay with being recorded: Yes
 * 1) 18 Title: Graceful webservice restart

Phabricator task: https://phabricator.wikimedia.org/T66905 Brief (2-3 lines): Adds an easily-accessible search popup to VisualEditor that gives quick access to most actions Relevant links: https://en.wikipedia.beta.wmflabs.org/wiki/Zebra?veaction=edit (then type `\` or `cmd/ctrl + shift + p`) or https://www.youtube.com/watch?v=No3KeWNFVGA Contact(s): David Lynch Status (e.g., early concept, ready for beta deployment, production, etc.): merged, deployment next week Okay with being recorded: Yes
 * 1) 19 Title: VisualEditor toolbar search

Phabricator task: Brief (2-3 lines): The terminology gadget had a flaw that let users break the rendering of the Translate UI; now that doesn't happen any more. Relevant links:https://translatewiki.net/wiki/Project:Terminology_gadget https://translatewiki.net/w/i.php?title=Special:Translate&group=mediawiki&language=nb&filter=!translated&action=translate&uselang=en Contact(s): Jon Harald Søby Status (e.g., early concept, ready for beta deployment, production, etc.): In production Okay with being recorded: Yes
 * 1) 20 Title: Foolproof Terminology gadget in Translatewiki

Phabricator task: https://phabricator.wikimedia.org/T337178 Brief (2-3 lines): Relevant links: https://www.figma.com/proto/pszmvYHcXK1ais8zrP445T/Notifications---Hackathon-2023-(T328706)?page-id=2649%3A11132&type=design&node-id=2859-21379&scaling=min-zoom&starting-point-node-id=2859%3A27415&hide-ui=1 Contact(s): Bárbara Martínez Calvo (@BMartinezCalvo) Status (e.g., early concept, ready for beta deployment, production, etc.): early concept Okay with being recorded: Yes
 * 1) 21 Title: Redesigning Special:Notifications with the Codex design system

Phabricator task: https://phabricator.wikimedia.org/T337178 Brief (2-3 lines): Rebuild the Special:Notifications page with Vue, Codex and Pinia Relevant links: https://patchdemo.wmflabs.org/wikis/ac57b1991f/wiki/Special:Notifications Contact(s): Roan Kattouw (Catrope), Moriel Schottlender (mooeypoo), Status (e.g., early concept, ready for beta deployment, production, etc.): early concept Okay with being recorded: Yes
 * 1) 22 Title: Porting Special:Notifications to Codex

Phabricator task: https://phabricator.wikimedia.org/T337005 Brief (2-3 lines): Form to neatly add or update a person's Wikidata-item date of bith and/or date of death Relevant links: https://new-q5.toolforge.org/ https://github.com/VDK/new-q5 Contact(s): 1Veertje Status (e.g., early concept, ready for beta deployment, production, etc.): in production Okay with being recorded: Yes
 * 1) 23 Title: New-Q5

Phabricator task: https://phabricator.wikimedia.org/T336167 Brief (2-3 lines): Is Phabricator dead? Relevant links: https://we.phorge.it/w/planning_meetings/wikimedia_hackaton_2023_athens_code_sprint/?__print__=1 Contact(s): @bozzy Telegram Status: ready for production as usual Okay with being recorded: Yes
 * 1) 24 Title: Phixing Phabricating Phings

Phabricator task: https://phabricator.wikimedia.org/T251376 Brief (2-3 lines): Wikistats 2 ( https://stats.wikimedia.org ) doesn't support showing the user interface in right-to-left languages. We (Nick Gkountas and Amir Aharoni) tried to fix it, and we hope it gets deployed :) Relevant links: Contact(s): Amir E. Aharoni (User:Amire80, @amire80) Status (e.g., early concept, ready for beta deployment, production, etc.): Submitted to Gerrit, tested on our local machines, waiting for review and deployment Okay with being recorded: Yes
 * 1) 25 Title: Right-to-left support in Wikistats

Phabricator task: https://phabricator.wikimedia.org/T323845 Brief (2-3 lines): Chatrooms like #wikimedia-hackathon span multiple networks (IRC, Telegram, Matrix) but usually the message conversion quality is not great. We created a checklist for evaluating chat bridges (tools to translate messages between networks) and evaluated potential options for improving the current setip. Relevant links: https://docs.google.com/document/d/11h0O6c3xEOaDAehPZO4U8Qim843pTT6RxWUaGaIIAQA/edit (t2bot.io), https://docs.google.com/document/d/1YXC5-NX0KojYRQl7x4MfBrECAv6YloPW2kOkX8NGJZY/edit (template) Contact(s): User:Tgr, User:Waldyrious Status (e.g., early concept, ready for beta deployment, production, etc.): documentation-only project. One more bridge to evaluate. Okay with being recorded: Yes
 * 1) 26 Title: Evaluating chat bridges

Phabricator task: https://phabricator.wikimedia.org/T337000 Brief (2-3 lines): How might we allow ordinary users to create interactive Wikidata Query visualizations (like interactive graphs) without knowledge of SPARQL? Relevant links: SLIDES - https://docs.google.com/presentation/d/1v5ofGjb6fPRFQqB-oK-1t3mmeeEy0DZQnM9BCiey76w/edit?usp=sharing Contact(s): Andrew Lih (User:Fuzheado) Status (e.g., early concept, ready for beta deployment, production, etc.): prototype script https://public-paws.wmcloud.org/User:Fuzheado/wikidata-facet-browser/facetbrowser.ipynb Okay with being recorded: Yes/No YES
 * 1) 27 Title: Wikidata Facet Browser

Phabricator task: https://phabricator.wikimedia.org/T337089 Brief (2-3 lines): View edits from temporary counts for a given IP address Relevant links: Demo video: https://www.youtube.com/watch?v=Qo5ufHouL7s Contact(s): Tchanders Status (e.g., early concept, ready for beta deployment, production, etc.): Early concept Okay with being recorded: Yes/No No (they are ok with being recorded [@debt])
 * 1) 28 Title: IP Masking temporary account contributions

Phabricator task: N/A Brief (2-3 lines): Installing MediaWiki has never been easy. In particular, the install.php maintenance script can allow this process to be scriptable, but it has several subtle issues. I've worked in improving the script's default options and error messages to be more helpful, as well as various documentation pages in mediawiki. Relevant links: Code changes: 1) https://gerrit.wikimedia.org/r/c/mediawiki/core/+/133222 (from 2014!), 2) https://gerrit.wikimedia.org/r/c/mediawiki/core/+/921626, 3) https://gerrit.wikimedia.org/r/c/mediawiki/core/+/921679   Documentation changes: https://www.mediawiki.org/w/index.php?title=Special:Contributions/Waldyrious&target=Waldyrious&offset=20230521235959&limit=34 Contact(s): Waldir Status (e.g., early concept, ready for beta deployment, production, etc.): Code changes are made, documentation changes are live Okay with being recorded: Yes
 * 1) 29 Title: Improvements to the MediaWiki installation experience using install.php

Phabricator task: https://phabricator.wikimedia.org/T333678 Brief (2-3 lines): ~40 commits, ~20 merge requests. Got working on Debian/Ubuntu and macOS. Supports Apache and php built-in server. Started working on homebrew formula for installing. Added a Status command for showing software installed / to be installed. A config file and commands for showing how the local environment is set up. Relevant links: https://asciinema.org/a/Z6AG7SQgxA3kPMWNWnAR7s1bM https://gitlab.wikimedia.org/kharlan/mediawiki-metal Contact(s): Kosta Harlan, Jack Gleeson Status (e.g., early concept, ready for beta deployment, production, etc.): early concept Okay with being recorded: Yes
 * 1) 30 Title: MediaWiki Metal - "bare metal" framework for local development environment

Brief (2-3 lines): This is documentation descrbing the way to integrating frontend and backend web app on Toolforge. Relevant links: https://wikitech.wikimedia.org/wiki/User:Jayprakash12345/Integrating_frontend_and_backend_web_app_on_toolforge Contact(s): User:Jayprakash12345 Status: Deployment config tested Okay with being recorded: Yes
 * 1) 31 Integrating frontend and backend web app on toolforge:

Phabricator task: https://phabricator.wikimedia.org/T324866 Brief (2-3 lines): Updated Kiwix to use non-deprecated APIs to allow it to generate Wikipedia offline snapshots even after certain deprecated WMF services are turned off later this year Relevant links: Contact(s): User:cscott Status (e.g., early concept, ready for beta deployment, production, etc.): patches in github Okay with being recorded: Yes
 * 1) 32 Title: Kiwix offliner

Projects that do not need to be shown at the showcase, but are just listed for the record later
Title: Play with Toolforge build service / buildpacks Phabricator task: https://phabricator.wikimedia.org/T337040 Brief: I experimented with the new alpha/beta Toolforge build service, explored how it works, updated the documentation a bit, filed some tasks. Contact(s): Lucas Werkmeister (WMDE)

Title: Two Wikibase fixes Phabricator task: https://phabricator.wikimedia.org/T336956 https://phabricator.wikimedia.org/T337081 Brief: I worked on two Wikibase issues that cropped up. Some other WMDE people did as well. Contact(s): Lucas Werkmeister (WMDE)

Title: Minor tool fixes Links: https://phabricator.wikimedia.org/T337118 https://gitlab.wikimedia.org/toolforge-repos/versions/-/merge_requests/3 Brief: I submitted tiny fixes to Toolhub and the Versions tool. Contact(s): Lucas Werkmeister (WMDE)

Title: An open and fast Sparql API endpoint to query Structured Data on Commons Links: https://qlever.cs.uni-freiburg.de/wikimedia-commons https://github.com/ad-freiburg/qlever/issues/985 Brief: I asked the developers of QLever to load the SDC data to QLever, and they did! Also, QLever has progressed a lot recently (full Sparql 1.1 grammar, SERVICE for federated queries etc.) so you should check it out. Contact(s): TuukkaH

Title: Native rendering for SVG (wishlist item) Links:https://gerrit.wikimedia.org/r/921379 https://mastodon.social/@TheDJ/110400660105740578 Brief: Introduce a MediaWiki configuration option to serve SVGs directly to the browser instead of thumbnailing them to PNG. Mastadon post a screenshot of the new Picture in Picture mode that is going to be possible in Chrome and video.js Contact(s): TheDJ Title: Converting TMH to ES6 and updating our version of video.js to 8.3.0 Links:https://gerrit.wikimedia.org/r/c/mediawiki/extensions/TimedMediaHandler/+/921490 Brief: Updated to the latest version of video.js and convert the plugin we use to ES6 Contact(s): TheDJ

Title: Ship .gitmessage with MediaWiki core, skins and extensions Αλ;λ/: https://gerrit.wikimedia.org/r/c/mediawάαiki/core/+/921673 https://phabricator.wikimedia.org/T337179 Brief: Add a .gitmessage template for more consistent and informative commit messages. Contact(s): Kosta Harlan (kostajh) ά

Title: Improved documentation on data modeling for Structured Data on Commons Links: https://commons.wikimedia.org/wiki/Commons:Structured_data/Modeling (and some new subpages, some still very rough) / more explicit to do list at https://phabricator.wikimedia.org/T335910 Brief: More precise documentation, also in preparation for more Lua-driven Infobox templates for Commons files which can be used by e.g. batch upload tools Contact(s): User:Spinster

Title: https://phabricator.wikimedia.org/T336999 Links: https://github.com/kcvelaga/wikidb_start_end Brief: The idea is to create a structured list of when a Wikimedia project is created, and if applicable, closure date as well. Contact(s): User:KCVelaga (WMF)

End projects that do not need to be shown at the showcase, but are just listed for the record later

 * https://www.mediawiki.org/wiki/Extension:HTMLTemplates