Zürich Hackathon 2014/Topics

Add a topic you want to work on at the next Wikimedia Hackathon!

Template:

Galleries for topic pages
Create the concept of a gallery for any type of topic page (Article, User, Wiktionary, Wikivoyage) where a user can search and contribute images from commons.

Interested persons:

mediawiki.ui for developers


implements the evolving "Agora" visual style for buttons and forms in MediaWiki software. Learn how to apply it in your extensions and gadgets to deliver attractive consistent appearance. Actual real-life visual designers will be on-hand to give you advice and get feedback about what controls would be useful.

Interested persons:
 * 1) S Page (WMF) (talk)
 * 2) May Galloway
 * 3) Shahyar Ghobadpour

Flow for bot developers
Flow is a modern discussion and collaboration system for WMF wikis. Flow pages aren't regular pages, so bots will have to adapt to handle them. We'll explore the new API and make improvements.
 * 1) S Page (WMF) (talk)
 * 2) Benny Situ
 * 3) Mlitn
 * 4) Shahyar Ghobadpour

Production-like Vagrant
Our goal is to make a handful of high-priority puppet roles available to MediaWiki-Vagrant to make developer instances of Vagrant closer to a production-like environment. The ultimate idea is to provide a uniform developer-focussed instance to Mediawiki engineers to facilitate better testing of new and existing code, while also making it easy for new engineers to get started hacking on Mediawiki and Mediawiki with minimal friction for bringing new features to production. The first hurdle will be to provide some crucial production services in MediaWiki-Vagrant, which will be our focus for the Hackathon. Possible services to focus on include For more information, view our notes from initial conversations about this project.
 * Varnish
 * SSL
 * MariaDB
 * Memcache/Redis
 * CentralAuth

Interested persons:
 * 1) Arthur Richards
 * 2) Yuvi Panda
 * 3) Ori Livneh
 * 4) Matt Flaschen
 * 5) Bryan Davis
 * 6) Andrew Otto
 * 7) QChris (talk)

Local Wikipedia forks
"Semi-autonomous instances of localized Wikipedia". Expand on the work of SOS Children, the Rachel Project to create packaged snapshots of wikipedia contents that can be deployed on local storage e.g. SD cards in a tablet computer, 3G WiFi router, etc. and on a Raspberry Pi, etc. Ideally there'll be bi-directional updates from the local instance to wikipedia and from wikipedia to the local instance - asynchronous synchronization. People using one of these snapshot instances would be able to create new content and revise existing contents. One of the main goals is to help extend the reach locality and relevance of wikipedia for people throughout the world.

I've been doing some work in this area already and will bring hardware, etc. to demo and test our work.

There's lots of known-unknowns for this project. With your help I hope we'll be able to

Interested persons:
 * 1) Julian Harty

Possibly interested:
 * Not interested if it's yet another offline Wikipedia work, but I'd be interested if this was focused on Kiwix/ZIM incremental updates + the ability to edit locally (and then submit changes). --Nemo 14:29, 6 February 2014 (UTC)
 * Except for the "edit feature", what you mean seems to exist already. At least two Kiwix developers will be there during the 3 days. 188.61.123.117 09:11, 7 February 2014 (UTC)

Future of version control, bug reporting and other developer tools

 * ''See also Project management tools/Review.

It's been 2 years since we setup the current infrastructure around developer tools with Gerrit and Jenkins. Not everyone's happy and things break more often than we like. Additionally there's been rumblings for years about getting rid of Bugzilla. I think it's high time we have a discussion about what we envision our ideal development environment to be and figure out what it would take to get us there. Are there any tools (hint hint: Phabricator) that can help get us most of the way there?

Interested persons:
 * 1) Chad
 * 2) AKlapper
 * 3) guillom
 * 4) S Page (WMF) (talk)
 * 5) Isarra
 * 6) QChris (talk)

MediaWiki-Vagrant Bootcamp
Introduction to using MediaWiki-Vagrant to manage a development environment for hacking on MediaWiki. We'll do a really quick high level look at what Vagrant is and how MediaWiki-Vagrant uses and extends it. Then we'll learn just enough Puppet to understand what "roles" are and how to use them to configure your MediaWiki-Vagrant instance. Participants will then get hands on by creating roles to install and configure extensions used on Commons that are not yet available in MediaWiki-Vagrant.

Interested persons:
 * 1) Bryan Davis

Architecture discussion
A continuation of our past architecture meetings where we discuss the future of MediaWiki's internal design.

Interested persons:
 * 1) RobLa-WMF (talk)

Tech People meeting Regular Users
A workshop (preferably in the early evening) to invite local users, beginners but also power users, who want to learn more about MediaWiki, our infrastructure and more. Kind of a "Ask the Developers" session but more informal.

Invite the local Wikipedia meet-up. --Manuel Schneider(bla) (+/-) 21:17, 11 February 2014 (UTC)

Improve MediaWiki's skin support
Discuss how to make the skinning system more flexible and maintainable, both for core skins and such that things in general might be made more reasonable for third-party users. This could include sorting out what modules/classes/functions should be in core so that individual skins don't need to reinvent things, modernising the core skins, improving the documentation, etc. Or something.

Interested persons:
 * 1) Isarra

Learn to work with Zuul and Jenkins Job Builder
A tutorial with User:Hashar and User:MarkTraceur about how to add and maintain jobs in Jenkins on the WMF infrastructure.

Interested persons:
 * 1) QChris (talk)

Tool Labs workshop
An event-long workshop with Coren; hands-on migration, debugging and creation of tools on the Tool Labs. Join in and leave at any time; there will be impromptu and planned breakaway tutorials on various related topics as interest demands (planned: using gridengine tutorial, database query optimization (including federated tables), how to deploy web services).

Interested persons: