Wikimedia Hackathon 2021/Outcomes

"Untangling MediaWiki" by Daniel Kinzler
MediaWiki has grown into a "big ball of mud" in which everything depends on everything. This makes it hard to understand and hard to modify. The Platform Team has set out on an "expedition" to untangle that knot. On the way, we will have to fight some monsters, and every now and then we'll find ourselves in a dead end. This session will focus on our work replacing the User and Title classes, why and how we are doing it.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_Untangling_MediaWiki.webm
 * https://www.youtube.com/watch?v=DbZyBiwcuxU
 * T282111

"Wikibase, starting from scratch" by Luca Mauri
This presentation will explain how to setup a Wikibase client / server installation on two existing MediaWiki instances. It will explain all the basics of the preocess.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_Wikibase_from_scratch.webm
 * https://www.youtube.com/watch?v=7kUUarBN2vM
 * T282313
 * Additional resources:
 * https://meta.wikimedia.org/wiki/ItWikiCon/2020/Programma/WikiBase,_partendo_da_zero

"Lua modules training" by tohaomg
There are two principal ways of creating templates in Wikipedian and related projects. First is the old-fashioned parser language with a lot of curly brackets, which is hard to read, has limited functionality, but has low entry threshold. The other way is Lua modules, which are written in the full-fledged programming language of Lua. Entry threshold of this, second, way is quite high, but I will try to help the participants to overcome it. I will try to teach participants to create and edit such modules, create and edit templates so that they use Lua modules, or at least understand how it all functions.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_Lua_modules_training.webm
 * https://www.youtube.com/watch?v=pcpdKmxPuJg
 * T281467
 * Additional resources:
 * https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual
 * https://www.lua.org/docs.html

"Converting an extension to the new hook system" by Daniel Kinzler
Converting hook handlers from static methods to handler objects and introducing dependency injection.


 * Videos:
 * https://www.youtube.com/watch?v=ZOj44Rbh0tM
 * Commons upload issue: T284244
 * T282110
 * Additional resources:
 * https://www.mediawiki.org/wiki/Manual:Hooks#Handling_hooks_in_MediaWiki_1.35_and_later

"Where can I run this? An introduction to Wikimedia Cloud Services" by andrewbogott & bstorm
Wikimedia cloud services provides free hosting, storage, and compute services for any project associated with the Wikimedia movement. This will be a quick overview of the services we provide and pointers to new users about how to get started.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_An_introduction_to_Wikimedia_Cloud_Services.webm
 * https://www.youtube.com/watch?v=RcZvwKEgDV4
 * T282273
 * Additional resources:
 * https://wikitech.wikimedia.org/wiki/Help:Cloud_Services_Introduction

"Intro to Toolhub for tool maintainers" by Bryan Davis
A brief introduction to the Toolhub project with a focus on the ways that Toolhub hopes to help tool maintainers publicize their work on bots, web services, user scripts, gadgets, complex templates, lua modules to other Wikimedians.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_Intro_to_Toolhub_for_tool_maintainers.webm
 * https://www.youtube.com/watch?v=iMEATSNBSa0
 * T282039
 * Additional resources:
 * https://commons.wikimedia.org/wiki/File:Intro_to_Toolhub_for_tool_maintainers_(wmhack_2021).pdf
 * https://meta.wikimedia.org/wiki/Toolhub
 * https://meta.wikimedia.org/wiki/Toolhub/Progress_reports
 * https://phabricator.wikimedia.org/tag/toolhub/

"Intro to PAWS/Jupyter notebooks for Python beginners" by Chico Venancio
Most folks may not know that we have a powerful Python execution environment in the Wikimedia PAWS installation at http://paws.wmcloud.org/. It allows ordinary folks to write interactive scripts to work with Wikimedia content.

It's a great first-step for anyone who wants to get started in hacking and coding.

An introductory session could provide a quick overview of PAWS/Jupyter notebooks as a way to play with Wikimedia content may be a good way to help break down the barriers. We won't be able to make full "coders" out of folks in two days, but we can try to demystify things for those new to coding and show them we have a great environment for experimentation.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_Intro_to_PAWS-Jupyter_notebooks_for_Python_beginners.webm
 * https://www.youtube.com/watch?v=AUZkioRI-aA
 * T281420

"Wikidata Live Querying" by Lucas Werkmeister
In this session, we will spend an hour writing SPARQL queries against the Wikidata Query Service, to see what kind of useful or interesting data we can get out of Wikidata. Participants can bring their own suggestions for things to query, and we’ll see if we can figure those queries out.


 * Videos:
 * https://commons.wikimedia.org/wiki/File:Wikimedia_Hackathon_2021_-_Wikidata_Live_Querying.webm
 * https://www.youtube.com/watch?v=EA9sLTEdcSo
 * T282382
 * Additional resources:
 * https://www.wikidata.org/wiki/Special:MyLanguage/Wikidata:SPARQL_query_service/Wikidata_Query_Help