Actions

GSOC 2014 Project Ideas

From Joomla! Documentation

Revision as of 07:02, 21 January 2014 by Betweenbrain (Talk | contribs)

GSOC 2014.png

Welcome to the Joomla! Google Summer of Code (GSoC) 2014 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: https://groups.google.com/forum/?fromgroups#!forum/joomla-gsoc-2013

If you are interested in participating as a student please review the materials on applying that are available at Google. 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.

Contents

Ideas

Opportunities exist for students to work with projects from either the Joomla CMS, the Joomla Framework 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 2013, 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 Ideas

Tip-icon.png
Adding Project Ideas

Please add your CMS project ideas below. You can use the GSOC 2014 Project template.

Project: Build New Media Manager for CMS 3

Brief Explanation: The current media manager is outdated and limited. Build a new media manager to include a better user interface, more robust functionality, and seamless integration for extensions to use. The improvements could include:
  • Storage of media information in the database (including standard file property information, created by user and date, rights and other meta data and tracking of media as assets).
  • Allow renaming of files
  • Automated creation of thumbnails to dimensions that the webmaster can configure
  • Support for a variety of media types that addresses security concerns
  • Creation of a number of controllers for media manipulation such as cropping, resizing and filtering and implementation of their use.
  • Use of nesting for management and display of media options
  • Management of both local and remote media
  • Support for creation of collections of media for example for display in a carousel as a separate content type.
Expected Results: A new Media Manager component to improve the usability, functionality, and reusability of the extension. Work should be fully documented and include system tests as well as unit tests for all new classes.
The work will likely include creation of a new media management package in the CMS library as well as reusable controllers for media related tasks.
The work should align with other work in the content model and the student should expect to interact extensively with the team working on the Joomla 3.2 release.
Knowledge Prerequisite: PHP, MySQL, Javascript, Joomla CMS, Joomla Platform, HTML5, Usability
Difficulty: Medium

Project: Create a baseline component based on the Unified Content Model

Brief explanation: Create a baseline component based on the Unified Content Model which could potentially replace the existing com_content
Expected Results:
Knowledge Prerequisite:
Difficulty:

Project: Decouple extension dependencies

Brief explanation: In the current version of the CMS, some extensions rely on one another for functionality. The ultimate goal is for each extension to be completely independent so that it could be removed without breaking the functionality of another.
Expected Results: All extensions in the CMS to be completely independent of one another.
Knowledge Prerequisite:
Difficulty: Medium

Project: Develop dependency manager

Brief explanation: Distributions are one of the next possible evolutionary steps for the CMS. One key challenge to solve is the management of dependencies that extensions/packages may have.
Expected Results: A working proof of concept that manages the handling of dependencies as well as define requirements that extensions/packages must meet for their dependencies to be managed by this system.
Knowledge Prerequisite:
Difficulty: Very challenging, but highly rewarding.

Project: Test, test, test

Brief explanation: The CMS currently has a fairly large backlog of open issues. Many just need someone to verify them and follow up with the issue originator.
Expected Results: To have all open issues to be acted upon, verified, closed if no longer valid, or tested for merging into the CMS.
Knowledge Prerequisite: Git, patch application.

Project: Document CMS features

Brief explanation: Joomla 3 introduced new features, not all of which are fully documented.
Expected Results: Carefully review docs.joomla.org and ensure that all necessary documentation is in place, reorganized if necessary, and namedspaced for the appropriate version number. Either create missing documentation, or lead members of the community in its creation.
Knowledge Prerequisite:
Difficulty: Easy/Medium
Difficulty: Easy

Joomla Framework

The Joomla Framework project ideas allows for ideas that can work within the Joomla CMS, or could be completely separate applications that have no connection at all. The Joomla Framework allows for applications to be built for the command line, process daemons and the web.

References:

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

Tip-icon.png
Adding Project Ideas

Please add your Framework project ideas below. You can use the GSOC 2014 Project template.

Project: Framework Unit Testing

Brief explanation: The Joomla Framework 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 Framework.
Expected Results: The student will be expected to review the current code coverage report for the Joomla Framework 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