Difference between revisions of "Google Code-in"

From GeeklogWiki
Jump to: navigation, search
m (typo)
(Rephrased task subject)
Line 231: Line 231:
 
<br>Possible Mentor: [[User:vladv|Vlad Voicu]]
 
<br>Possible Mentor: [[User:vladv|Vlad Voicu]]
  
== Check / implement an Akismet module for Spam-X ==
+
== Test the Akismet module for Spam-X ==
  
 
Description: [[Spam-X Plugin|Spam-X]] is Geeklog's spam filter. It can be extended by dropping new modules into a designated directory. There is already an [http://gplugs.cvs.sourceforge.net/gplugs/akismet/ older module] to support the [http://akismet.com/ Akismet] anti-spam service. It needs a review for possible API changes and some testing.
 
Description: [[Spam-X Plugin|Spam-X]] is Geeklog's spam filter. It can be extended by dropping new modules into a designated directory. There is already an [http://gplugs.cvs.sourceforge.net/gplugs/akismet/ older module] to support the [http://akismet.com/ Akismet] anti-spam service. It needs a review for possible API changes and some testing.

Revision as of 19:27, 29 October 2010

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 30 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.
Category: Translation
Difficulty: medium
Time: about 4-6 hours each
Possible Mentors: preferably people speaking the language ...

for the Links Plugin

  • most wanted: Italian, Portuguese
  • also: Afrikaans, Bosnian, Bulgarian, Catalan, Croatian, Danish, Farsi, Finnish, Hellenic, Indonesian, Norwegian, Romanian, Serbian, Slovak, Swedish, Turkish

for the Polls Plugin

  • most wanted: Italian, Portuguese
  • also: Afrikaans, Bosnian, Bulgarian, Catalan, Croatian, Czech, Danish, Farsi, Finnish, Hellenic, Indonesian, Norwegian, Polish, Romanian, Serbian, Slovak, Swedish, Turkish

for the Spam-X Plugin

  • most wanted: Chinese, Dutch, German, Italian, Portuguese
  • also: Afrikaans, Bosnian, Bulgarian, Catalan, Croatian, Czech, Danish, Finnish, Hellenic, Indonesian, Korean, Norwegian, Polish, Romanian, Serbian, Slovak, Swedish, Turkish

for the Static Pages Plugin

  • most wanted: Russian
  • also: Afrikaans, Bosnian, Bulgarian, Catalan, Croatian, Finnish, Hellenic, Indonesian, Norwegian, Romanian, Serbian, Slovak

for the XML-Sitemap Plugin

  • most wanted: Chinese, Dutch, Italian, Portuguese, Russian, Spanish
  • also: Afrikaans, Bosnian, Bulgarian, Catalan, Croatian, Czech, Danish, Farsi, Finnish, Hellenic, Indonesian, Korean, Norwegian, Polish, Romanian, Serbian, Slovak, Swedish, Turkish, Ukrainian

(that's 16 tasks just counting the "most wanted" languages)

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):

The corresponding bugtracker entries have all been tagged with "task" (please ignore issues that have status "assigned" or "resolved").

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: ???

Give a Geeklog Demo to a friend or family member

Description: Find a friend or family member who's interested in running their own website (or already has one). Give them a demonstration of Geeklog and show off it's features. Discuss with them whether Geeklog would be suited for them. Make a list of things that were considered good, bad, or missing.
Category: Outreach
Difficulty: easy
Time: about 4 hours + some preparation
Possible Mentor: ???

Obviously, this task could be done several times with different people.

Coding: "Beginner" tasks from the Bugtracker

Description: There are some issues (bug reports and feature requests) in out bugtracker that are tagged with "beginner" to indicate that we consider them easy enough to do for a newcomer to the project. They will also help you understand some of the internal workings of Geeklog.
Category: Code
Difficulty: medium
Time: between 4 hours and 2 days, depending on the issue
Possible Mentors: ??? (preferably more than one)

List of issues (one task per issue):

The corresponding bugtracker entries have all been tagged with "beginner" (please ignore issues that have status "assigned" or "resolved").

To do: Update Time estimates (and possibly Difficulty) for each task before this list goes into Melange.

Redesign the Plugin Editor

Description: Geeklog's plugin "editor" is mainly a form that displays some information about a plugin. It really only has options to enable/disable a plugin and possibly to update it. The main issue with this form, however, is that unlike all of the other editors in Geeklog, it has the buttons (save, cancel, ...) at the top of the form. But moving them to the bottom (for consistency) leaves some ugly blank space at the top of the form. So the task is to come up with a new design for this form that's both consistent with the rest of Geeklog and also looks nice.
Category: User interface
Difficulty: medium
Time: 2-4 hours
Possible Mentor: ???

Design a Stylesheet for Printable Views

Description: Geeklog provides simplified "printable" views for articles and static pages. These use a stripped-down print.css stylesheet that needs some work to make the printout look nicer, e.g. fonts, spacing, margins. Also: Is there a good way to make links appear in the printout (e.g. for a link saying "click here", make the URL it links to show up in the printout).
Category: User interface
Difficulty: medium
Time: 4-6 hours
Possible Mentor: ???

Test and provide feedback for the new calendar plugin

Description: You need to install the new calendar plugin and test it. You should provide feedback about bugs you find and about your overall experience. Also, suggestions on improving the plugin are welcome.
Category: QA
Difficulty: medium
Time: a few hours - 1 day.
Possible Mentor: Vlad Voicu

Test the Akismet module for Spam-X

Description: Spam-X is Geeklog's spam filter. It can be extended by dropping new modules into a designated directory. There is already an older module to support the Akismet anti-spam service. It needs a review for possible API changes and some testing.
Category: QA
Difficulty: easy
Time: 4-8 hours
Possible Mentor: Dirk Haun

Write a TypePad AntiSpam module for Spam-X

Description: Spam-X is Geeklog's spam filter. It can be extended by dropping new modules into a designated directory. The task is to implement and test a module for the TypePad AntiSpam service.
Category: Code
Difficulty: easy
Time: 1-2 days
Possible Mentor: Dirk Haun

Write a Defensio module for Spam-X

Description: Spam-X is Geeklog's spam filter. It can be extended by dropping new modules into a designated directory. The task is to implement and test a module for the Defensio anti-spam service.
Category: Code
Difficulty: medium
Time: 2-3 days
Possible Mentor: Dirk Haun

Write a Mollom module for Spam-X

Description: Spam-X is Geeklog's spam filter. It can be extended by dropping new modules into a designated directory. The task is to implement and test a module for the Mollom anti-spam service.
Category: Code
Difficulty: hard
Time: 4-5 days
Possible Mentor: Dirk Haun


Stats

Possible categories: Code, documentation, outreach, QA, research, training, translation, user interface

Mentors: Dirk, Vinny, Cordiste, Vlad Voicu, (your name here)