Archived

Archived:GCI 2010-11

From Joomla! Documentation

Google Code-in 2010-2011

Introduction

Google Code-in (GCI) is a contest for pre-university (13-18 year old) students, that aims at helping students get involved in Open Source projects.

Google Code-in Frequently Asked Questions

Proposed Tasks

Code

Tasks related to writing or refactoring code

Challenging

  1. Add the ability for the Mass Mail feature in Joomla 1.6 to be able to send HTML messages.
  2. Add a batch update facility to the Joomla 1.6 user manager to be able to batch add, remove or set the user groups for users in a list.
  3. Create a bulk import utility for the Joomla! user manager to create from a csv file and optionally notify users of their account details via email.
  4. Create a plugin to allow users to delete their accounts.
  5. Create a new component syndicate a combined feed from two separate components.

Intermediate


Basic

  1. Create a module to display a list of contacts in a category
  2. Create a module to display a list of newsfeeds in a category.
  3. Create user plugin to display a Twitter feed.
  4. Create a user plugin to display a Facebook feed.

Documentation

Challenging

  1. Document a complete class of the Joomla! Framework including appropriate code examples from the Joomla! core or elsewhere. (This task can be repeated for each framework class).
  2. Create a document describing the observer design pattern and how it is implemented in Joomla! plugins.
  3. Consult with the Joomla! community and draft proposed code style standards for XML.

Intermediate

  1. Document the use of alternative component layouts and provide a detailed commented example for each of the core components.
  2. Document the use of alternative module layouts and provide detailed commented examples for at least 5 core modules.
  3. Document

Basic


Tasks related to creating/editing documents

  1. Describe the way view access levels can be expanded in Joomla 1.6 and how a site owner would use them to control the visible access to site content.
  2. Describe the meanings of the core permissions in Joomla 1.6 and the four levels over which they can be applied.
  3. Describe the Global Level of permissions in Joomla 1.6 and how a site owner might use them to broadly control site access.
  4. Describe the Component Level of permissions in Joomla 1.6 and how a site owner can restrict users in groups to certain components.
  5. Describe the Category Level permissions in Joomla 1.6 and how a site owner can restrict content providers to create, edit and delete content in those categories.
  6. Describe the Article Level permissions in Joomla 1.6 and how a site owner can restrict content providers to edit and delete their articles.
  7. Describe how site owners can use the Edit Own permission effectively in Joomla 1.6.
  8. Describe how a template designer can create a template parameter to for the site owner to include their Google Analytics code in the template automatically.
  9. Update Author Resources content for the Joomla! Community Magazine

Outreach

Tasks related to community management and outreach/marketing

  1. Write an article for the Joomla! Community Magazine
  2. Recruit new authors for the Joomla! Community Magazine
  3. Create contributing author badge for the Joomla! Community Magazine
  4. Create list of online media outlets for distribution of Joomla! announcements

Quality Assurance

Tasks related to testing and ensuring code is of high quality

  1. Take a package or sub-package from the Joomla Libraries and ensure that the code formatting complies with our standards, and make corrections as appropriate (multiple opportunities exist for this task).
  2. Write a PHPUnit test for a package or sub-package in the Joomla Libraries.
  3. Write a Selenium System test to cover a unit of the CMS functionality.

Research

Tasks related to studying a problem and recommending solutions

  1. Analyze usage statistics for Joomla! Community Magazine and recommend changes to increase traffic

Training

Tasks related to helping others learn more

  1. Create instructional videos for new Joomla! Community Magazine authors

Translation

Tasks related to localization

  1. Recruit new non-english language authors for the Joomla! Community Magazine

User Interface

Tasks related to user experience research or user interface design and interaction

  1. Assist with Joomla! community collaboration efforts to improve user interface on United Nations Conference on Sustained Development 2012 website
  2. Coordinate information architecture updates for joomla.org redesign project