Google Code-in
Contents
- 1 Information for students
- 2 Adding Tasks
- 3 Tasks
- 3.1 Move the FAQ to the wiki
- 3.2 FAQ: Fix occurences of config.php
- 3.3 Review the installation instructions
- 3.4 Review the installation instructions
- 3.5 Find a replacement for kses
- 3.6 Provide a translation for a plugin
- 3.7 Update a Geeklog (Core) translation
- 3.8 Create a "Invitation to contribute" page
- 3.9 Design a flyer
- 3.10 Update plugins list
- 3.11 Review Patches
- 3.12 Convert the Geeklog Documentation to XHTML
- 3.13 Rewrite the Geeklog Help Files
- 3.14 Look into SPDX for possible use in Geeklog
- 4 TBD
Information for students
This is a collection of possible tasks for the Google Code-in. Please note that you can not claim these tasks from here. Should Geeklog be accepted as a mentoring organization, you will be able to claim tasks from the Code-in homepage, once the contest starts.
For more information, please see the Google Code-in FAQ.
If you have questions about a specific task, please contact the mentor(s) listed for the task or post on the geeklog-devel mailing list.
Adding Tasks
When adding a new task, please keep these things in mind:
- the task should be suitable for 13-18 year olds
- the task should be small-ish, doable in a few hours to a few days
- the task needs to be clearly defined, i.e. when can it be considered "done"?
- the task shouldn't need a lot of explaining to start
Also, when adding a task, please consider to volunteer mentoring it!
Tasks
Move the FAQ to the wiki
Description: The Geeklog FAQ is hard to maintain in its current state (due to technical issues with the FAQ plugin and the fact that contributions can't be included easily). So the idea is to move all the current FAQ topics to the Geeklog Wiki. Hints: One wiki page per FAQ article. Add a FAQ category. Make sure the formatting, e.g. of sample code, is carried over.
Category: Documentation
Difficulty: easy
Time: a few hours
Possible Mentor: Dirk Haun
FAQ: Fix occurences of config.php
Description: There are a lot of places in the Geeklog FAQ that still refer to the config.php that was used for configuration in earlier Geeklog versions. Find and rewrite those sections to refer to the Configuration Admin panel instead. Note: Some occurences may still be valid (e.g. when referring to upgrading from an old version) or may need to refer to the siteconfig.php or db-config.php file now instead.
Category: Documentation
Difficulty: easy
Time: 1-2 hours
Possible Mentor: Dirk Haun
Review the installation instructions
Description: Try to install Geeklog following the installation instructions. Make notes of the problems you have understanding these instructions. Suggest a list of improvements.
Category: Documentation
Difficulty: easy
Time: 1-2 hours
Possible Mentor: Dirk Haun
Review the installation instructions
Description: Try to install Geeklog following the installation instructions. Make notes of the problems you run into following these instructions. Check that the troubleshooting section covers these problems. If not, suggest additions.
Category: Documentation
Difficulty: easy
Time: 1-2 hours
Possible Mentor: Dirk Haun
Find a replacement for kses
Description: Geeklog uses kses as its HTML filter. Since kses is no longer supported, we are looking for a replacement. Research other existing HTML filters and evaluate them. Check features such as filtering abilities (HTML tags + attributes, JavaScript, CSS), ability to close unbalanced HTML tags. Also consider dependency on any frameworks / libraries, ongoing support, and a GPLv2-compatible license.
Category: Research
Difficulty: medium
Time: about 8 hours
Possible Mentor: Dirk Haun
Provide a translation for a plugin
Description: Geeklog (i.e. the Geeklog Core) has been translated into more than 20 languages. However, not all of the plugins we ship with Geeklog have been translated to all those languages yet. If you speak one of those languages, provide a missing translation. (To do: make a full list of the missing translations; this should easily account for 20+ tasks)
Category: Translation
Difficulty: medium
Time: about 4-6 hours each
Possible Mentors: preferably people speaking the language ...
Update a Geeklog (Core) translation
Description: Geeklog (i.e. the Geeklog Core) has been translated into more than 20 languages. However, not all of the Core language files are actively maintained, so some of them are only partially translated. If you speak one of those languages, update one of those translations. (To do: make a full list of the affected translations; this should account for another 10+ tasks)
Category: Translation
Difficulty: medium
Time: about 4-6 hours each
Possible Mentors: preferably people speaking the language ...
Create a "Invitation to contribute" page
Description: When you click to download OpenOffice.org, you are taken to this page that explains how you can contribute to OOo. Design a similar page for Geeklog.
Category: Outreach
Difficulty: medium
Time: about 4 hours
Possible Mentor: ???
Design a flyer
Description: Design a flyer / handout (for inspiration, here's an old flyer and a poster that can also be used as a flyer). Refer to the Geeklog Documentation for a list of features.
Category: Outreach
Difficulty: medium
Time: about 8-12 hours
Possible Mentor: ???
Update plugins list
Description: Update the plugins list and give some basic informations for each one (Description, last available version, last release date, link to support or contact).
Category: Documentation
Difficulty: medium
Time: about 1-2 days
Possible Mentor: ???
Review Patches
Description: We have quite a few patches for issues (bugs and feature requests) in our bugtracker. Your task would be to review such a patch, i.e. check that it can be applied to the current Geeklog version; fix it if it can't be applied as-is; check that it does resolve the issue; leave feedback and, if necessary, an updated patch on the issue in the bugtracker. Note: Your job here is to check that the patch can be applied and whether or not it solves the issue. If it doesn't solve the issue, then providing a correct patch would be a separate task (to be defined after your review).
Category: QA
Difficulty: medium
Time: between 4 hours and 2 days, depending on the patch
Possible Mentors: ??? (preferably more than one)
List of Patches (one task per patch):
- Update bigdump.php
- nl2br breaks the HTML compliance
- e-mail autotag
- Allow autotag description and link to information page
- Provide a "Link Details" view for links in the Links plugin
- Use Admin lists in Spam-X plugin
- Add a use counter for Spam-X filtering rules
- Poll Plugin - Votes do not get counted correctly when updating a poll with multiple questions.
- "Report this post" option should have a comment field
- Get rid of the ereg functions
- Cosmetics: Get rid of the extra yellow-ish borders in advanced editor template
- The blogroll could be added to the link plugin
- Make topics sortable like blocks
- professional header.thtml language attribute
- Allow users to enter a password on the registration page
- Comments Form on same page as story
- FCKeditor doesn't use RTL automatically
- Add FCK editor to "mail users" utility
The corresponding bugtracker entries have all been tagged with "task".
To do: Update Time estimates (and possibly Difficulty) for each task before this list goes into Melange.
Convert the Geeklog Documentation to XHTML
Description: The documentation that we ship with Geeklog (14 HTML files in public_html/docs/english) are currently HTML 4.01 compliant. Convert them to XHTML 1.0 Strict and confirm XHTML compliance using the W3C validator. In other words, fix bug #1145.
Category: Documentation
Difficulty: easy
Time: 4-8 hours
Possible Mentor: ???
Rewrite the Geeklog Help Files
Description: Geeklog ships with 10 very simple help files in public_html/help. Effectively, they only contain a list of required fields for certain forms. Check that the list of required fields is still correct and rewrite the help pages to be more friendly and informative. Design suggestions welcome.
Category: Documentation
Difficulty: easy
Time: about 10 hours
Possible Mentor: ???
Look into SPDX for possible use in Geeklog
Description: While most of Geeklog's code is licensed under the GPLv2, some third-party code and even some core components (e.g. feed read/write classes) are under different licenses. SPDX, Software Package Data Exchange, promises to help keeping an overview of the various licenses in a software package such as Geeklog, so that license conflicts can be detected easily. We know nothing about SPDX other than that it exists. Have a look into SPDX, provide a short summary of what it actually does, and provide a list of steps that would need to be taken to use if for Geeklog.
Category: Research
Difficulty: medium
Time: 1-2 days
Possible Mentor: ???
TBD
More programming tasks can be lifted from the bugtracker:
- issues labelled "beginner"
- issues that have a patch attached: try out the patch
Possible categories: Code, documentation, outreach, QA, research, training, translation, user interface