Gci 2012 tasks

From Joomla! Documentation

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Google Code-In 2012 Task List[edit]

Task Categories

  1. Coding Tasks
  2. Documentation Tasks
  3. Marketing / Outreach
  4. Code Tests / Quality Assurance
  5. User Interface

Coding Tasks[edit]

Coding tasks are separated into either Platform or CMS tasks. When writing any code targeted for Joomla, it is important to follow all of Joomla's coding standards. Code will not be accepted or merged without tests and proper code style. There is information on this docs site and on Github regarding the code style requirements.

Coding Resources

  1. Coding Standards
  2. Contributor Agreement
  3. Platform Manual
  4. Platform Examples


Platform Tasks[edit]

Joomla supports a number of different document formats in the JDocument package. https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/document

We would like to add support for a number of other standard formats. The first task in this group is VCard but we will release additional tasks for this general category.


  1. Create a vcard document type.

Following the model of those create a child class to support VCF. Reference materail http://en.wikipedia.org/wiki/VCard

The com_contact component provides a model for this.

https://github.com/joomla/joomla-cms/blob/master/components/com_contact/views/contact/view.vcf.php

CMS Tasks[edit]

Below are tasks that are target directly to the Joomla CMS, version 3.x

JImage Tasks[edit]

The Joomla! Platform has a JImage package. We would like to add use of JImage in some of the core Joomla CMS modules. JImage is a library that allows for easy image handling. You can manipulate images by resizing, creating thumbnails, and cropping by desired aspect ratios.

For students interested in the JImage module / com_content tasks. The caching and options should be consistent throughout these modules. Therefore we will release one task to create a model implementation. Tasks for other modules will be released following that.

Module Documentation

  • Module documentation
  • Creating a simple Module: How_to_create_a_module
    • Note this documentation is somewhat outdated, but the principles are the same. ( There is a task to update it.)
  1. Add article intro / full image to mod_articles_news module.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Options should be available to set the height, width, crop, and thumb alignment
  2. Add article intro / full image to the mod_articles_latest module.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Options should be available to set the height, width, crop, and thumb alignment
  3. Add article intro / full image to the mod_articles_news module.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Options should be available to set the height, width, crop, and thumb alignment
  4. Add article intro / full image to the mod_articles_category module.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Options should be available to set the height, width, crop, and thumb alignment
  5. Add article intro / full image to featured view of the com_content component.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Article parameter options should be available to set the height, width, crop, and thumb alignment.
    4. Image options should be available for each article, com_content configuration, and the menu parameters.
  6. Add article intro / full image to archive view of the com_content component.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Article parameter options should be available to set the height, width, crop, and thumb alignment.
    4. Image options should be available for each article, com_content configuration, and the menu parameters.
  7. Add article intro / full image to article view of the com_content component.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Article parameter options should be available to set the height, width, crop, and thumb alignment.
    4. Image options should be available for each article, com_content configuration, and the menu parameters.
  8. Add article intro / full image to categories view of the com_content component.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Article parameter options should be available to set the height, width, crop, and thumb alignment.
    4. Image options should be available for each article, com_content configuration, and the menu parameters.
  9. Add article intro / full image to category view of the com_content component.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Article parameter options should be available to set the height, width, crop, and thumb alignment.
    4. Image options should be available for each article, com_content configuration, and the menu parameters.
  10. Add article intro / full image to category view of the com_content component.
    1. This task should support creating a thumbnail using the JImage class.
    2. Support should be added for creating a cached thumb.
    3. Article parameter options should be available to set the height, width, crop, and thumb alignment.
    4. Image options should be available for each article, com_content configuration, and the menu parameters.


  1. Create a Module displaying contact information for a given contact record.
#Create new module which creates a content carousel based on Bootstrap (http://twitter.github.com/bootstrap/javascript.html#carousel)
    1. Bootstrap is included in Joomla's core, as well as JQuery.
    2. It may be necessary / appropriate to create a platform class for the carousel in the JTML package.


Tasks creating or improving plugins[edit]

Task improving core components[edit]

Documentation Tasks[edit]

Excellent documentation takes many forms. It also has many audiences. The audiences include:

  • Web masters
  • Site users/Content creators
  • Core developers
  • Template designers
  • Extension developers
  • Platform application developers

In the Joomla! Project documentation is found in many places. Some examples are:

Documentation tasks

  1. Complete the help screen for the contact creator plugin
    1. A help screen is the piece of documentation that is directly connected to the admin area you are at within the Joomla CMS.
    2. Help screens have specific requirements for content, naming structure, and categories. Read more about help screens or see an example
    3. Resource: List of all Joomla 3.x help screens
  2. Complete the help screen for Smart Search
    1. A help screen is the piece of documentation that is directly connected to the admin area you are at within the Joomla CMS.
    2. Help screens have specific requirements for content, naming structure, and categories. Read more about help screens or see an example
    3. Resource: List of all Joomla 3.x help screens
  3. Review all core content component (content, weblinks, contact, newsfeeds) models and provide complete docblocks for all methods, constants and properties.
  4. Create a chapter in the Platform Manual for JForm and document the general JForm class.
  5. Update the How_to_create_a_module document for Joomla 3.x

Marketing / Outreach[edit]

Joomla has a marketing team that performs various tasks such as usability of the Joomla.org family sites, SWOT analysis and more.

- Develop Award Team: Assemble working group to document international, national and regional contests and award programs in which Joomla! could compete. Create resource documents for nominations/applications. Develop budget for entry fees and submit to OSM for funding. Work in conjunction with Marketing, Production, Event, Magazine and Social Media teams to ensure successful outcomes.

Quality Assurance[edit]

The platform and CMS need improvement in the test coverage. Tests written for specific packages that require more code coverage can be considered a task. See http://developer.joomla.org/coverage/ for specific coverage information.

Unit Test Information:

Tasks

  1. Create a Unit Test for the mysqli database driver.
    1. Coverage Info
    2. Github Package

User Interface[edit]

Joomla has a JUX (Joomla User Experience) team that has done much of the work to improve the usability of Joomla 3.x. There is still much work that can be done to improve Joomla's usability and accessibility.