Hackathon/Tasks
Quick links:
The goal of this page is to orient you to ways that you can help Wikipedia and related projects. It's grouped by what you already know, so that no matter what you know, you can dive in and start making a difference.
You are invited to add tasks below.
...if you don't have a plan for how to contribute and want something with no tech requirements
- Go to the table labeled "beginners" and say hello. (Yes, saying "hello" is required.)
- Scroll down on this page and examine the following tasks:
- Choose one of those tasks to work on, and get one thing done.
- Repeat the process, and as you do, you'll know more and more about Wikipedia. (-:
- Ask for help as you need it!
...if you want to help but aren't sure where to begin, and don't mind doing laptop setup
- Go to the table labeled "beginners" and say hello. (Yes, saying "hello" is required.)
- Now, open up the laptop setup page in your browser and go through all the steps. If you have any problems, raise your hand and someone will be around to help.
- Scroll down on this page and examine the following tasks:
- Choose one of those tasks to work on, and get one thing done.
- Repeat the process, and as you do, you'll know more and more about Wikipedia. (-:
- Ask for help as you need it!
...if you maintain an extension, and want to do it better
- Go to any table and say hello. (Yes, saying "hello" is required.)
- Scroll down on this page and examine the following tasks:
- Choose one of those tasks to work on, and get one thing done.
- Repeat the process, and as you do, you'll know more and more about Wikipedia. (-:
- Ask for help as you need it!
...if you want to learn more about templates
- Sit down at the Beginner's table.
- Open up the Play with templates task, and as you have questions, raise your hand and ask for help
- For further practice with templates, check out the Fix up a page, per a category task
Tasks
This section lists good, self-driven tasks that you can work on during the Hackathon.
Respond to a Talk Page comment
On Wikipedia, every article has a corresponding "Talk page".
For example, look at these two links:
- Page on the Circle: http://en.wikipedia.org/wiki/Circle
- Its discussion page: http://en.wikipedia.org/wiki/Talk:Circle
You can always find the talk page for any page by clicking the word "Discussion" in the top navigation.
In this task, your goal is to take a page that you like, and look for comments on its corresponding talk page. If there is a comment that has not been replied-to, your task is to read the comment, see if it still applies to the page, and if so, answer the comment on the talk page.
If answering the comment well requires making a change to the page (perhaps because the comment suggests making a change), be bold! Make the change to the article. (-:
It turns out that you can discuss Wikipedia articles until the cows come home! To find out pages that have discussions that want comment from other editors, visit this page:
There are other "Requests for comment" pages, too. You can see a list of all such indices here: http://en.wikipedia.org/wiki/Wikipedia:Requests_for_comment/All
Improve a page within a WikiProject
On Wikipedia, WikiProjects are collaborative efforts to make excellent articles within a particular topic.
I'll explain the task by the following example (you should click along -- open the links in a new tab!):
- Visit http://en.wikipedia.org/wiki/Talk:Rodin_Museum and notice the "WikiProject Museums" box. Click "Show". Notice that the article is of "Mid-importance", which is fairly high -- so the project wants an excellent article. Note further that the article is only of "Start-Class" on the quality scale.
- Click the "Quality scale" link, and read about the WikiProject Museums' quality scale.
- Now that you know what they need, you can work to improve the article.
Many, many articles are covered by WikiProjects, and they could use your help!
Your task is to:
- Surf Wikipedia for a little while and when you see an article you care about, click on the "Talk" page and see if it's covered by a WikiProject.
- Once you find an article that is part of a WikiProject, check if it is of importance "Medium" or higher. If it needs help (because the "Quality" is not as high as it could be), read the guidelines for that WikiProject, and improve the article!
Fix up a page, per a category
Skills required: Writing text. Basic wiki formatting. Experience with MediaWiki templates is definitely helpful.
On Wikipedia, we use categories to sort pages into groups. Some of these categories correspond to tasks that need to be done to a page.
For example, there is a category called http://en.wikipedia.org/wiki/Category:Persondata_templates_without_short_description_parameter .
If you look at the contents of that link, it explains how to add a "short description" to the "Persondata" template.
Your task is to:
- Visit that enormous Category page.
- Choose a few articles to investigate. For each article, visit the article and click "edit". Looking at the wiki source of the page, find where the page uses use the "Persondata" template. Are they truly missing a short_description parameter? (Note that some might call the Persondata template via another template.)
- If so, provide a short_description!
- Finally, make sure the articles don't show up on the Category page any longer.
Play with templates
Required skill: A general understanding of editing wiki pages. Templates allow for re-using potentially complex wiki markup; templates themselves are just wiki pages in the Template: namespace!
Goal: After this exercise, you will have used and edited MediaWiki templates, giving you a grounding in how they work. You will also be exposed to where the Wikipedia community requests more templates, so you know how to be plugged into contributing to them.
Make sure you have an account on English Wikipedia. Log into it!
Take a look at a recent version of the Wikipedia list of requested templates.
Notice that there is a request for a modified version of Template:Welcomevandal. Click the link to the Template:Welcomevandal template page.
Subtask 1
Apply the "Welcome-vandal" template to your own user talk page (recall that you can find your "User page" by clicking your username in the upper-right corner of any page).
If you aren't sure how, make sure you visit http://en.wikipedia.org/wiki/Template:Welcomevandal and read through the Template documentation on that page. (It's very brief; make sure to use subst!)
Now, remove the expanded template from your personal user talk page, since you are not a vandal. (-:
Subtask 2
Create a customized version of Template:Welcomevandal on hackathon.referata.com (e.g., hackathon.referata.com/wiki/Template:Welcomevandal-Your_Username (note you don't actually have to create an account on hackathon.referata.com to do this, but you can if you want) so that others can try at the same time) with slightly different text. In particular, look for this text:
- "For more information on this, see Wikipedia's policies on vandalism and limits on acceptable additions."
and replace it with:
- "Some of your recent edits deleted some content that other editors thought should stay on the page."
To create hackathon.referata.com/wiki/Template:Welcomevandal-Your_Username copy that link into your browser's URL bar, change Your_Username, and go. If you're logged in, you'll see a blank textbox. Start by copying and pasting the template source from http://en.wikipedia.org/wiki/Template:Welcomevandal (click view source where you'd normally see edit) into the blank textbox, then modify per the above, and save.
Next, on your user talk page on hackathon.referata.com, use subst to include that new template onto your user talk page.
Finally, delete it from your hackathon.referata.com user talk page.
Bonus
You've used a template with subst. Many templates aren't intended to be used with subst. What's the difference and why? Hint: subst is a template; you can find its documentation which links to thorough explanations.
Congratulations! Your head may be spinning, but you now have used and written MediaWiki templates! If any of this confused you, now is a good time to talk to a helper.
You might want to try the Fix up a page, per a category task.
Polish up your git skills
Skills required: An interest in learning more about git, or version control in general.
The git version control system can be somewhat daunting. Lots of MediaWiki extension developers have used Subversion, and git can seem similar but then trip you up in new, exciting ways. One of the difficulties with using git is that you need to understand how the tool understands your data in order to use it well.
So, a good thing to do at the Hackathon is to improve your fluency in git. We'll take you through two different interactive tutorials, and then recommend you read the official Git workflow page. Hopefully that should illuminate things. You're always quite welcome to request help from a Hackathon volunteer -- just raise your hand.
To do this task, first make sure you have gone all the way through the Laptop setup document.
Your first task is to get some practice with the basics of git on your own computer. To do that, you'll use the OpenHatch git training mission, a web-based set of interactive exercises, alongside a terminal on your own computer.
- Visit https://openhatch.org/missions/git and read the introduction to the mission. As you proceed through the steps, you will eventually be required to create an account.
Your second task is to visit the Github interactive git teaching tool, which teaches a different set of important git commands. That tool should take about 15 minutes.
- Visit it here, and follow along in your browser: http://try.github.com/
Finally, you should take some time to read through and understand the MediaWiki Git Workflow.
- Visit it here, and read through it: http://www.mediawiki.org/wiki/Git/Workflow
If you have more questions, ask a staffer, or find the particular Wikimedian primarily responsible for the conversion (Chad, AKA ^demon on IRC). If you want more reference material, I am sure we can provide. (-:
Start using ResourceLoader
"ResourceLoader is the delivery system in MediaWiki for the optimized loading and managing of modules. Modules consist of JavaScript, CSS and interface messages." <http://www.mediawiki.org/wiki/ResourceLoader>
- If your extension has user interface strings, CSS files, or JavaScript, you should be using ResourceLoader! It's been available since MediaWiki 1.17, and it makes loading those elements more reliable.
- Read over the general documentation on ResourceLoader.
- Then read the Migration Guide.
Verify bugs filed against extensions
Skills required: Installing extensions on your personal wiki. (We can help you learn this -- just raise your hand and ask for help.) Using Bugzilla. No programming required.
Wikipedia has a large number of open bug reports, like around 8000 right now, and that number is growing by approximately 3000/year last I looked. It is probable that many of those open bugs should be marked RESOLVED or possibly UNCONFIRMED, but our triaging resources are scarce right now.
-- Chris McMahon, Quality Assurance Lead Engineer at Wikimedia Foundation.
You can help. Take the list of open reports for a particular "extension" or two, read them, try to reproduce them, and then either:
- Mark the bug as RESOLVED, to indicate they are actually fixed, or else
- Mark the bug as UNCONFIRMED, if you are not cannot tell if the issue is fixed. Either way,
- Leave a helpful comment on the open bug describing what you found when trying to reproduce the issue.
To get started:
- Visit the Bugzilla advanced search interface here:
- On that page, select MediaWiki extensions as the "Product".
- Choose any one extension you want to test (if you're not sure, pick one at random).
- Select NEW as the status.
- Click the Search button at the bottom of the screen.
Ta-da! Now you should see a list of bugs. Your task is to read any bug that strikes your fancy, and see if you can improve it according to the steps above.
Add some automated tests
- Make sure you know how to run the test suite for MediaWiki itself, by reading http://www.mediawiki.org/wiki/Manual:PHP_unit_testing
- Keep reading in that tutorial, and you'll find tips for extension developers.
Add message documentation to your i18n files where they are missing
- Learn first about how i18n works in extensions, if you don't already
- Check out the section on the subject if you don't know where to start
- Browse i18n files and see if messages exist that are missing documentation.
Squash some MediaWiki bugs
- See also: WikiProject Bug Squad
Skills required: Identify and fix bugs in the MediaWiki software using a personal wiki install. (We can help you learn this -- just raise your hand and ask for help.) Using Bugzilla. Fixing bugs does require developer knowledge.
Steps:
- Identify a known annyoing little bug or easy bugs - then squash (fix) it
- Mark the bug as RESOLVED if it is actually fixed
- Leave a helpful comment on the open bug describing what work you completed.
Verify wiki pages for extensions
Skills required: Editing wiki pages and reviewing extensions standards. (We can help you learn this -- just raise your hand and ask for help.) No programming required.
Several extension pages are long overdue for review. Many are lacking the appropriate tags, both header and within the extensions, which cause confusion for other developers and sysadmins. In addition to time wasted on bad installations, there is also time wasted by other developers providing tech support to these bad installations. The 2012 Extension Page Review Drive is an effort to check for proper tags, headers, templates, status, etc. on every MediaWiki.org page documenting an extension. This page has been setup to recruit volunteers for the page drive and track their progress.
This effort will also help with future drives reviewing actual code of extensions (although you're welcome to do thorough code review during this drive if you'd like) and moving extensions based in wikicode to the code repository.
Steps and more information: Project:WikiProject Extensions/Projects/Page Drive
Improve MediaWiki documentation
Documentation of the MediaWiki software is housed on MediaWiki.org - and is in constant need of updates. Folks with a working knowledge of MediaWiki features can be helpful. Programming experience can help - but is not necessary.
Places to start: