Difference between revisions of "Gci 2012 tasks"

From Joomla! Documentation

Line 142: Line 142:
 
*The Platform Manual at http://developer.joomla.org/manual/ (https://github.com/joomla/joomla-platform/tree/staging/docs/manual)
 
*The Platform Manual at http://developer.joomla.org/manual/ (https://github.com/joomla/joomla-platform/tree/staging/docs/manual)
  
Documentation tasks
 
  
# Complete the help screen for the contact creator plugin
+
 
 +
 
 +
 
 +
==== Complete the help screen for the contact creator plugin====
 
## A help screen is the piece of documentation that is directly connected to the admin area you are at within the Joomla CMS.
 
## A help screen is the piece of documentation that is directly connected to the admin area you are at within the Joomla CMS.
 
## Help screens have specific requirements for content, naming structure, and categories. [[Help_screen_layout|Read more about help screens]] or [[Help30:Site_Control_Panel|see an example]]
 
## Help screens have specific requirements for content, naming structure, and categories. [[Help_screen_layout|Read more about help screens]] or [[Help30:Site_Control_Panel|see an example]]
 
## Resource: [[Help30:Help_screens|List of all Joomla 3.x help screens]]
 
## Resource: [[Help30:Help_screens|List of all Joomla 3.x help screens]]
# Complete the help screen for Smart Search
+
 
 +
==== Complete the help screen for Smart Search====
 
## A help screen is the piece of documentation that is directly connected to the admin area you are at within the Joomla CMS.
 
## A help screen is the piece of documentation that is directly connected to the admin area you are at within the Joomla CMS.
 
## Help screens have specific requirements for content, naming structure, and categories. [[Help_screen_layout|Read more about help screens]] or [[Help30:Site_Control_Panel|see an example]]
 
## Help screens have specific requirements for content, naming structure, and categories. [[Help_screen_layout|Read more about help screens]] or [[Help30:Site_Control_Panel|see an example]]
 
## Resource: [[Help30:Help_screens|List of all Joomla 3.x help screens]]
 
## Resource: [[Help30:Help_screens|List of all Joomla 3.x help screens]]
# Review all core content component (content, weblinks, contact, newsfeeds) models and provide complete docblocks for all methods, constants and properties.
+
 
# Create a chapter in the Platform Manual for JForm and document the general JForm class.
+
Note: We will be releasing a number of tasks related to help screens. They will follow the same pattern but address specific screens in priority order.
# Update the [[How_to_create_a_module]] document for Joomla 3.x
+
 
 +
 
 +
====Review all core content component (content, weblinks, contact, newsfeeds) models and provide complete  
 +
docblocks for all methods, constants and properties.====
 +
 
 +
Documentation for proper formatting of docblocks is found in the Platform Manual.
 +
 
 +
Note: We will be releasing a number of other tasks for embedded documentation (docblocks) in the CMS.
 +
 
 +
==== Create a chapter in the Platform Manual for JForm and document the general JForm class.====
 +
Using the existing chapters in the Platform Manual as examples write a chapter on JForm (but it is not necessary to cover all field types). This can be done in a Google document for later conversion into docbook format.
 +
 
 +
 
 +
 
 +
==== Update the [[How_to_create_a_module]] document for Joomla 3.x====
 +
The wiki documentation (unlike other documentation) gives the author more discretion in terms of structure and style. However, all code included should follow Joomla code style.
  
 
== Marketing / Outreach ==
 
== Marketing / Outreach ==

Revision as of 08:57, 5 November 2012

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. These tasks are divided into working with modules, plugins and components, which are the three of the basic types of Joomla extensions.

Improving core modules or creating new modules[edit]

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


Add JImage Support to modules[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.

  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.

Create a Module displaying contact information for a given contact record[edit]

This module will pull information such as physical address and phone number from a contact record and display it. The layout should allow for flexible display.


Create a new module which creates an image carousel based on Bootstrap[edit]

The random image module is currently the main way to display rotating images in the Joomla CMS core. Create a new module that will similarly display all of the images in a folder, but instead of requiring a new page load, use javascript. See: 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 JHTML package.

We will be releasing some additional tasks incorporating other Bootstrap javascript features.

Create a new module displaying a list of contacts in a category[edit]

Similar to the weblinks module or articles category module, make a module that pulls its data from the contact component.

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:



Complete the help screen for the contact creator plugin[edit]

    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

Complete the help screen for Smart Search[edit]

    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

Note: We will be releasing a number of tasks related to help screens. They will follow the same pattern but address specific screens in priority order.


====Review all core content component (content, weblinks, contact, newsfeeds) models and provide complete docblocks for all methods, constants and properties.====

Documentation for proper formatting of docblocks is found in the Platform Manual.

Note: We will be releasing a number of other tasks for embedded documentation (docblocks) in the CMS.

Create a chapter in the Platform Manual for JForm and document the general JForm class.[edit]

Using the existing chapters in the Platform Manual as examples write a chapter on JForm (but it is not necessary to cover all field types). This can be done in a Google document for later conversion into docbook format.


Update the How_to_create_a_module document for Joomla 3.x[edit]

The wiki documentation (unlike other documentation) gives the author more discretion in terms of structure and style. However, all code included should follow Joomla code style.

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.