Summer of Code 2010 Project Ideas

From Joomla! Documentation

Welcome![edit]

Welcome to the Joomla! Google Summer of Code (GSoC) 2010 project ideas page. As we move forward with the 2010 version of the Joomla! GSoC, we will use this page to develop possible project ideas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. Thanks!

Ideas[edit]

Project Management Tools[edit]

This project could include:

  • Project collaboration features (like BaseCamp: [1]).
  • ProgressBar views based on completed task based on sprints, milestones, project...
  • Different front-end views for Clients, Team, Managers...
  • A module to show the active projects and is respective ProgressBars.
  • Allow Comments and discussions on tasks
  • Allow manager/team to set the Function points value of each task (eq: planing poker)
Mentor: Marcelo Eden
Skills: Joomla CMS framework, MVC, PHP, MySQL
Difficulty: Hard
Improve Image Presentation Capabilities[edit]

This project could include:

  • Expand the JHtml modal behaviour to support groups of images (eg Litebox or similar).
  • A content plugin to support modal gallery displays or inline image sliders.
  • A module to support galleries of images.
Mentor: Unassigned
Skills: Joomla CMS framework, MVC, PHP 5.2, MySQL
Difficulty: medium
Audio/Video Support[edit]

This project could include:

  • Sourcing or creating a FOSS flash audio (see http://flash-mp3-player.net/) and video player.
  • A content plugin to support embedding different types of audio files easily in content.
  • A content plugin to support embedding different types of video files (both local and hosted, eg vimeo) easily in content.
Mentor: Marcelo Eden
Skills: Joomla CMS framework, Flash
Difficulty: medium
Google Map Support[edit]

This project could include:

  • An editor-xtd plugin that allows you to insert "map code" for a content plugin.
  • A content plugin to display a map with content.
  • A module to display a map.
  • Support for finding directions.
  • Map based on address data in individual contacts
  • Map all addresses in a category of contacts
Mentor: Marcelo Eden
Skills: Joomla CMS framework, Javascript
Difficulty: medium
Simple User Subscription and User Utilities[edit]

This project would be suite of extensions that would provide enhanced user features such as:

  • Allow you to manage user account expiry.
  • Allow you to manage password expiry.
  • Allow for configurable email messages.
  • Allow for user registration approval.
  • Clean up bad user records.
  • Run simple reports on user registration data.
  • Bulk import of users
  • Allow user to self delete.
  • Terms of service plugin.
Mentor: Garthee
Skills: Joomla CMS framework, MVC, PHP 5.2, MySQL
Difficulty: medium
Extension Builder[edit]

This project would involve a component that builds other components, modules, plugins, languages and templates in skeletal form. It could also be used to create/edit new component and module layout overrides in templates.

Mentor: Marcelo Eden
Skills: Joomla CMS framework, MVC, PHP 5.2, MySQL
Difficulty: medium

Joomla! API Reference[edit]

Currently the Joomla! API reference at [2] is not as useful as it could be. Develop a way to present the information in a useful (and search able) format and with the ability to have user contributed notes in a way similar to [3].

Currently api.joomla.org is static html produced by phpdocumenter. The project could achieve these goals by developing an extension or framework application to integrate the output from phpdocumenter with Joomla and incorporating a commenting style system.

Note: There are also materials here in docuwiki format [4] that could be incorporated. Other material is here [5].

Note: If you are interested in working on the API Reference then please talk to the Documentation Team before starting as we are currently working on a very different approach from the one described here.

Mentor:
Skills Needed: PHP, MVC, MySQL, Joomla! CMS Framework
Difficulty: Hard

Improve Unit Test Coverage[edit]

Work has been started on this with the goal of a continuous build model, but test coverage is incomplete. We need to add many more unit tests.

Mentor:
Skills Needed: PHP, PHPUnit, Joomla! Framework
Difficulty: Medium

Improve System (Functional) Test Coverage[edit]

Work has been started on this with the goal of a continuous build model, but test coverage is incomplete. We need to add many more system tests.

Mentor:
Skills Needed: PHP, Selenium, Joomla! CMS
Difficulty: Medium


MooTools[edit]

Build a content editor with Moo Tools.

Mentor:
Skills Needed: PHP, Javascript, Joomla! CMS, MooTools
Difficulty: Medium

Enhanced Template Manager[edit]

Jooomla! 1.6 improves the template manager substantially. Continue this by creating the ability to manage overrides form the template interface, develop an easier interface for beginners to modify css, and similar improvements in usability.

Mentor: Marcelo Eden
Skills Needed: PHP, Javascript, Joomla! CMS
Difficulty: Medium

Social layer[edit]

Joomla Social API. Not necessarily a component like Community Builder but an API to allow other components to build on top of. Consider API for

Mentor:
Skills Needed: PHP, Javascript, Joomla! CMS
Difficulty: Hard


Advanced Voting[edit]

Implement an advanced voting system that allows voting on several named dimensions of an item. Should work across all components, possibly as an improvement to the core voting or possibly as a separate extension.

Mentor: Garthee
Skills Needed: PHP, Javascript, Joomla! CMS
Difficulty: Medium

Threaded Commenting and Comment Rating[edit]

Improve the core comment component so that it supports (a) threaded commenting and (b) comment rating (comments can be voted on or give thumbs up thumbs down and commenters can be rated based on comment votes). Troll rating system to allow auto un-publication of comments passing a set criterion of reporting. See Scoop's system as an example of the concept.

Mentor:
Skills Needed: PHP, Javascript, Joomla! CMS
Difficulty: Hard


Community Moderation[edit]

Improve the core comment component so that it supports community moderation of articles and comments in a manner similar to Scoop [6]

Mentor:
Skills Needed: PHP, Javascript, Joomla! CMS
Difficulty: Hard

Module Manager Improvements[edit]

Improve the User Interface and ease of use for the module manager. Examples:

  • Make it easier to select groups of pages to assign modules to.
  • Assign modules to all items in a submenu.
Mentor:
Skills Needed: PHP, Javascript, Joomla! CMS
Difficulty: Medium