GSOC 2013 Project Ideas

From Joomla! Documentation

Revision as of 14:03, 3 March 2013 by Mbabker (Talk | contribs)


Welcome to the Joomla! Google Summer of Code (GSoC) 2013 project ideas page. As we move forward with the 2013 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. Please keep in mind that projects need to be realistically something that is able to be functionally completed by a student working full time for about eight weeks. Thanks!

Discussion of ideas and other GSoC related items is welcome on our Google Group:!forum/joomla-gsoc-2013

If you are interested in participating as a student please review the materials on applying that are available at [1]. We strongly encourage you to ask questions about process and ideas on the mailing list.

If you are interested in serving as a mentor, please fill out the Mentor Application Form 2013.


Opportunities exist for students to work with projects from either the Joomla CMS, the Joomla Platform or in some cases a combination of both.

In addition to this ideas list, the Joomla! Community is able to voice their opinion on features they would like to see via the Joomla! Idea Pool. Those wishing to add ideas to this listing are encouraged to review the Idea Pool and base their idea on the input received there. You can also view the past lists for 2012 2010 and 2009, which may be useful for reference. We ask that you keep ideas realistic for the time frame that students will have to complete their projects.

Unless a mentor has proposed a specific project, mentors from the mentor pool will be matched with student projects. However members of the mentor pool are available to answer questions on the Joomla GSoC mailing list.

Joomla CMS

Project: Refactor Media Manager

Brief Explanation: The current media manager is outdated and limited. Refactor the media manager to include a better user interface, more robust functionality, and seemless integration for extensions to use. The improvements could include: add other not yet supported medias (PDF, MP·,...), providing a folder tree, file property information, upload capabilities, move/rename files and folders, use of JImage for image basic processing (resize, crop).
Expected Results: Refactor the Media Manager to improve the usability, functionality, and reusability of the extension.
Knowledge Prerequisite: Joomla Platform, PHP, MySQL, Javascript
Difficulty: Medium

Project: Convert JavaScript from MooTools to jQuery

Brief explanation: Version 3 of the CMS introduced Twitter Bootstrap and jQuery to the core code base. Previous versions of the CMS had been using MooTools as the preferred JavaScript library. Currently, both JavaScript libraries are shipped and used within the CMS, which occasionally causes conflicts with a user's JavaScript functionality. The CMS would like to reduce the dependency on MooTools by converting its core JavaScript behaviors from MooTools to jQuery.
Expected Results: Dependency on MooTools is reduced within the CMS.
Knowledge Prerequisite: Joomla CMS, PHP, JavaScript
Difficulty: Medium

Joomla Platform

The Joomla Platform allows for ideas that can work within the Joomla CMS, or could be completely separate applications that have no connection at all. The Joomla Platform allows for applications to be built for the command line, process daemons and the web. The follow list outlines some ideas that will be immediately useful for the Joomla Platform project that a student may consider taking on. In addition to PHP libraries, the Joomla Platform also ships with MooTools and project ideas can be related to client-side operations as well as server-side. One emphasis on this year's list is on the incorporation of packages for accessing web services, however other ideas for libraries and packages are welcome. In some instances multiple students may work on different aspects of the project. Two examples of this are unit testing and JStemmer.


All code contributions must follow Joomla coding standards and include full unit test coverage.

Project: Platform Unit Testing

Brief explanation: The Joomla Platform has a good suite of automated Unit Tests, but code coverage is lacking in some areas. The goal of this project is to improve the code coverage by writing unit tests for the Joomla Platform.
Expected Results: The student will be expected to review the current code coverage report for the Joomla Platform and write and agreed-upon number of unit tests with particular attention to packages that are below 50% coverage. Preference should be given to non-deprecated classes but the student may choose from either the core tree (/libraries/joomla) or the legacy tree (/libraries/legacy).
Knowledge Prerequisite: PHP, PHPUnit
Difficulty: Medium