Archived

GCI 2010-11

From Joomla! Documentation

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

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)
  5. Create an administrator module for quick article create that could replace Quick Icons.

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! development 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

For each of these create a page in docs.joomla.org

  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. Describe how to restore the default ACL settings.

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)
  3. Create a survey of third party developers to learn how closely they follow Joomla! core development and what forms of communication about core development they would find most useful.

Intermediate

  1. Write an article for the Joomla! Community Magazine
  2. Write an article about Joomla! or the Joomla! Project for your school newspaper or a local newspaper.
  3. Assist with Joomla! community collaboration efforts to improve user interface on United Nations Conference on Sustained Development 2012 website
  4. Coordinate information architecture updates for joomla.org redesign project

Basic

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

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.
  2. Review 24 hours of posts in the Administration 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

Challenging

  1. Suppose a teacher in your school was going to spend a month teaching his or her students to use Joomla! to make a website. Interview a teacher in your school about what resources would be useful for that and create a resource portal of links and materials on docs.joomla.org.
  2. Suppose a teacher in your school was going to spend a month teaching his or her students to develop a simple Joomla! component. Interview a teacher in your school about what resources would be useful for that and create a resource portal of links and materials on docs.joomla.org.
  3. Suppose a teacher in your school was going to spend a month teaching his or her students to create a Joomla! template. Interview a teacher in your school (this might be an art teacher) about what resources would be useful for that and create a resource portal of links and materials on docs.joomla.org.

Intermediate

Basic

  1. Create a "HTML Basics" document aimed at someone who has a Joomla! site but has only used a WYSIWYG editor.

Translation[edit]

Tasks related to localization

(Multiple opportunities exist for each of these but may be limited by the availability of mentors in a specific language. Limit of one task per distinct language.) Challenging

  1. For a language that does not have an accredited translation team, begin the process of organizing a team. Completion of this task will involve contacting the translation coordinators, using resources such as local JUGs and the Joomla! Forums and People site to find collaborators, learning to use com_localise, and beginning the translation process.
  2. For a language that does not have an accredited translation team, provide a translation of core strings.

Intermediate

  1. Translate the Absolute Beginner's Guide into a language besides English.
  2. Translate the documentation on creating translations and becoming an accredited translation team into a language besides English.
  3. Translate the security documentation into a language other than English. (http://docs.joomla.org/Security)

Basic

  1. Provide an accredited translation team with translation of sample data.
  2. Provide an accredited translation team with the translation of the help screens for one complete component.
  3. Provide an accredited translation team with translation of 100 strings.

User Interface[edit]

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

Challenging

Intermediate

Basic