Archived

GCI 2010-11

From Joomla! Documentation

Revision as of 21:22, 28 October 2010 by Elin (talk | contribs) (→‎Research)

This page has been archived. This page contains information for an unsupported Joomla! version or is no longer relevant. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Google Code-in 2010-2011[edit]

Introduction[edit]

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[edit]

Code[edit]

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.
  6. Create a new document type: vcalendar.
  7. Create a new document type: ical.
  8. Create a new document type: rdf.
  9. Create a new document type: hcard.
  10. Create a new document type: csv.
  11. Create a new document type: vcard.
  12. Implement frontend editing for com_contact.
  13. Implement frontend editing for com_newsfeeds.
  14. Implement a method for Apply in the front end for com_content or com_weblinks.

Intermediate

  1. Create a custom document type to download vcard information in RDF format.
  2. Create a Google Map user plugin for display based on address information in com_contact.
  3. Create a plugin that stores information from specific fields in a profile plugin in the jos_contact_details table
  4. Create a plugin that parses actions from Mosets Tree and stores them in Scout (directory monitoring)

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[edit]

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 how to create a custom document type, using a core component as an example (document types might be rdf, csv, hcard, ical, hcal etc).

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[edit]

Challenging

  1. Do a presentation for a local club, school or group on how to create a Joomla! Website. Write a brief report about the experience. (Can be done by several people)
  2. Create a Joomla! website for a non profit organization. Write a report about the experience. (Can be done by several people)


Intermediate

  1. Write an article for the Joomla! Community Magazine

Basic

Tasks related to community management and outreach/marketing

  1. Create contributing author badge for the Joomla! Community Magazine
  2. Create list of online media outlets for distribution of Joomla! announcements

Quality Assurance[edit]

Tasks related to testing and ensuring code is of high quality

Challenging

  1. Write a PHPUnit test for a package or sub-package in the Joomla Libraries.(multiple opportunities exist for this task).
  2. Write a Selenium System test to cover a unit of the CMS functionality.(multiple opportunities exist for this task).

Intermediate

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

Basic

  1. Review 24 hours of posts in the New to Joomla! forums and report on the most common problems reported.

Research[edit]

Tasks related to studying a problem and recommending solutions

Challenging


Intermediate


Basic


  1. Analyze usage of the Joomla! Developer site and recommend
  2. Analyze usage statistics for Joomla! Community Magazine and recommend changes to increase traffic

Training[edit]

Tasks related to helping others learn more

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

Translation[edit]

Tasks related to localization

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

User Interface[edit]

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