<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Onesterov</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Onesterov"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Onesterov"/>
	<updated>2026-06-18T23:39:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Summer_of_Code_2010_Project_Ideas&amp;diff=22234</id>
		<title>Summer of Code 2010 Project Ideas</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Summer_of_Code_2010_Project_Ideas&amp;diff=22234"/>
		<updated>2010-03-15T20:52:18Z</updated>

		<summary type="html">&lt;p&gt;Onesterov: /* Blank Slate Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Welcome!===&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
===Ideas===&lt;br /&gt;
&lt;br /&gt;
====Project Management Tools====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* Develop a component with project collaboration features (like BaseCamp: http://basecamphq.com/).&lt;br /&gt;
* ProgressBar views based on completed task based on sprints, milestones, project...&lt;br /&gt;
* Different front-end views for Clients, Team, Managers...&lt;br /&gt;
* A module to show the active projects and is respective ProgressBars.&lt;br /&gt;
* Allow Comments and discussions on tasks&lt;br /&gt;
* Allow manager/team to set the function points value of each task (eq: planing poker)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP, MySQL, Javascript, MooTools&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Improve Image Presentation Capabilities====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* Expand the JHtml modal behaviour to support groups of images (eg Litebox or similar).&lt;br /&gt;
* A content plugin to support modal gallery displays or inline image sliders.&lt;br /&gt;
* A module to support galleries of images.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Unassigned&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
====Audio/Video Support====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* Sourcing or creating a FOSS flash audio (see http://flash-mp3-player.net/) and video player.&lt;br /&gt;
* A content plugin to support embedding different types of audio files easily in content.&lt;br /&gt;
* A content plugin to support embedding different types of video files (both local and hosted, eg vimeo) easily in content.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, Flash&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
====Google Map Support====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* An editor-xtd plugin that allows you to insert &amp;quot;map code&amp;quot; for a content plugin.&lt;br /&gt;
* A content plugin to display a map with content.&lt;br /&gt;
* A module to display a map.&lt;br /&gt;
* Support for finding directions.&lt;br /&gt;
* Map based on address data in individual contacts&lt;br /&gt;
* Map all addresses in a category of contacts&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden, Alessandro Nadalin&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, Javascript&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
====Simple User Subscription and User Utilities====&lt;br /&gt;
&lt;br /&gt;
This project would be suite of extensions that would provide enhanced user features such as:&lt;br /&gt;
&lt;br /&gt;
* Allow you to manage user account expiry.&lt;br /&gt;
* Allow you to manage password expiry.&lt;br /&gt;
* Allow for configurable email messages.&lt;br /&gt;
* Allow for user registration approval.&lt;br /&gt;
* Clean up bad user records.&lt;br /&gt;
* Run simple reports on user registration data.&lt;br /&gt;
* Bulk import of users and user information.&lt;br /&gt;
* Bulk export of users and user information.&lt;br /&gt;
* Allow user to self delete.&lt;br /&gt;
* Terms of service plugin.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Garthee, Alessandro Nadalin&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
====Extension Builder====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden, Oleg Nesterov, Alessandro Nadalin&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
====Joomla! API Reference====&lt;br /&gt;
&lt;br /&gt;
Currently the Joomla! API reference at [http://api.joomla.org] 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 [http://www.php.net/manual/en/]. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note: There are also materials here in  docuwiki format [http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdocumentation%2Ftrunk%2Fwiki%2Freferences%2Fjoomla.framework%2F] that could be incorporated. Other material is here [http://docs.joomla.org/Framework].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; &lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MVC, MySQL, Joomla! CMS Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Improve Unit Test Coverage====&lt;br /&gt;
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. Proposals should specify an area of concentration. Several projects for different areas would be welcome.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Alessandro Nadalin&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Ian MacLennon&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, PHPUnit, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Improve System (Functional) Test Coverage====&lt;br /&gt;
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. Proposals should specify an area of concentration. Several projects for different areas would be welcome.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Alessandro Nadalin&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Selenium, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MooTools====&lt;br /&gt;
Build a content editor with Moo Tools.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS, MooTools&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Enhanced Template Manager====&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; &lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Social layer====&lt;br /&gt;
&lt;br /&gt;
Joomla Social API. Not necessarily a component like Community Builder but an API to allow other components to build on top of. &lt;br /&gt;
Consider API for&lt;br /&gt;
* activitysteams: http://activitystrea.ms/&lt;br /&gt;
* Open social http://code.google.com/apis/opensocial/ Some initial work already started on a previous gsoc project and I (rob clayburn) have some additional code available to be worked on.&lt;br /&gt;
* XFN http://gmpg.org/xfn/&lt;br /&gt;
* FOAF&lt;br /&gt;
* Facebook&lt;br /&gt;
* Twitter&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Gary Brooks&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Advanced Voting====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Garthee&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Threaded Commenting and Comment Rating====&lt;br /&gt;
&lt;br /&gt;
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&#039;s system as an example of the concept.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Community Moderation====&lt;br /&gt;
&lt;br /&gt;
Improve the core comment component so that it supports community moderation of articles and comments in a manner similar to Scoop &lt;br /&gt;
[http://en.wikipedia.org/wiki/Scoop_%28software%29]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Module Manager Improvements====&lt;br /&gt;
&lt;br /&gt;
Improve the User Interface and ease of use for the module manager.  &lt;br /&gt;
Examples:&lt;br /&gt;
*Make it easier to select groups of pages to assign modules to.&lt;br /&gt;
*Assign modules to all items in a submenu.&lt;br /&gt;
*Provide ability to assign/override module chrome on a per-module basis through the manager&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Brian Shaughnessy&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Moo Tools Depender ====&lt;br /&gt;
&lt;br /&gt;
Implement Moo Tools depender within Joomla.&lt;br /&gt;
&lt;br /&gt;
Depender is the official library builder for MooTools libraries.&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
*[http://mootools.net/blog/2009/11/09/mootools-depender-a-build-tool-for-mootools-javascript-libraries/     Blog]&lt;br /&gt;
&lt;br /&gt;
*[http://mootools.net/docs/more/Core/Depender  Some details about the client side app]&lt;br /&gt;
*[http://github.com/anutron/mootools-depender/ Server side app]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
====Joomla Translations====&lt;br /&gt;
Create a centralized translation tool, which will be a kind of Facebook Self-Translation App for Joomla! communities to have better translation.&lt;br /&gt;
&lt;br /&gt;
The centralized website will make better translations for Joomla! It will help non-English speaking translation teams to get feedback about translation quality from people, who speak the same language. So translation teams can involve more volunteers in translation process. It will help also extension developers to translate their software. It will enable ability to submit a new extension translation INI file in English and get the translated version from the translation teams.&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
*[http://www.facebook.com/translations/ Facebook Self-Translation]&lt;br /&gt;
*[http://localize.drupal.org]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====JMail====&lt;br /&gt;
&lt;br /&gt;
Create a Joomla! library to replace the phpmailer library. This should build on existing work in the xxx branch. &lt;br /&gt;
This would include POP and SMTP clients and data translation.&lt;br /&gt;
The goal should be to process both read and write. &lt;br /&gt;
Complete unit testing is a must for this.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====JFeed====&lt;br /&gt;
&lt;br /&gt;
Create a Joomla! library to replace the simplepie library. This should build on existing work in the xxx branch. This should plan for the future such as incorporating advanced atom specs and the ability to embed podcasts. &lt;br /&gt;
 &lt;br /&gt;
Complete unit testing is a must for this.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====JXMLRPC====&lt;br /&gt;
&lt;br /&gt;
Complete the Joomla! library for XMLRPC. This should build on existing work in the xxx branch. &lt;br /&gt;
 &lt;br /&gt;
Complete unit testing is a must for this.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Gary Brooks&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====JCalendar====&lt;br /&gt;
&lt;br /&gt;
Create a JCalendar class. This should write iCal and hCal.   &lt;br /&gt;
 &lt;br /&gt;
Complete unit testing is a must for this.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====JCard====&lt;br /&gt;
&lt;br /&gt;
Create a JCard class. This should write vCard and hCard.    &lt;br /&gt;
 &lt;br /&gt;
Complete unit testing is a must for this.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Cache Improvements and Tests====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====JImage====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Consultant:&#039;&#039;&#039; Louis Landry&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Google Wave/Apps API Integration====&lt;br /&gt;
&lt;br /&gt;
Integrate the functionality of Google Wave into the Publishing Workflow and/or Site Management processes.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Matt Lipscomb, Sandra Warren&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, Joomla! API, Google Wave/Apps API&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Improved Search====&lt;br /&gt;
&lt;br /&gt;
Currently Joomla! does not support term weights. This provides a disadvantage to many sites that rely on search. Users will not find the things that they need and you will loose those users.&lt;br /&gt;
&lt;br /&gt;
This project would include the following:&lt;br /&gt;
* Providing a more advance search API. &lt;br /&gt;
* Create a weight  structure for the search API (example: http://phpir.com/alternative-term-weighting)&lt;br /&gt;
* Provide a clean AJAX Advance Search&lt;br /&gt;
* Improve the plugin support for old and new plugins&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Steven Pignataro - &#039;corePHP&#039; (www.corephp.com)&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla! CMS Framework, MVC, PHP 5.2+, mySQL, AJAX (mootools)&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Advanced&lt;br /&gt;
&lt;br /&gt;
====Page Versioning Extension====&lt;br /&gt;
&lt;br /&gt;
Build on work done in the past two years to add page versioning to Joomla!. &lt;br /&gt;
Create a 1.6 content versioning extension with the goal that this work could be integrated into the core Joomla CMS for future releases. The Page Versioning Extension will allow the ability for frontend and backend content users to be able to save and re-publish/revert previously saved versions of content items that they have access to.&lt;br /&gt;
&lt;br /&gt;
Further user permissions could be introduced in order to restrict access to this overall feature.&lt;br /&gt;
&lt;br /&gt;
Features could include a visual and html code difference between the current and previously saved versions, as well as general searching data such as dates and time of previous saved entries of that content.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Vic Drover&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla! Framework, MVC, PHP 5.2+, mySQL, AJAX (mootools)&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Search Plugin Tool and Search Display Customization====&lt;br /&gt;
&lt;br /&gt;
As more and more usage of 3PD extensions occurs, those extensions have data that needs to be integrated into the search capabilities.  This idea is part tool, and part plugin. &lt;br /&gt;
Create an installable tool component that can analyze the database for relevant fields in the database that are added by 3PD components.  Display those fields to be selectable in the component and once selected, have the tool create a search plugin to augment either the integrated search or various 3PD search solutions.  Once the plugin is created have a second part of the component allow the search results display to be organized in various ways that are customizable.  This tool could be part of setting up a site, or could be run at any given time that something new is added to add new fields of data that may be created and needed to be part of search.&lt;br /&gt;
&lt;br /&gt;
Would be an interesting project mixed with Improved Search to include weighting.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; &lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla! Framework, MVC, PHP 5.2+, mySQL, AJAX (mootools)&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Blank Slate Extensions====&lt;br /&gt;
&lt;br /&gt;
The basic idea is to develop a set of example extensions that have less than useful functionality, but show developers some of the core features of using the Joomla Framework.&lt;br /&gt;
&lt;br /&gt;
* Design a sample component that manages a set of records in the database&lt;br /&gt;
* Design a sample module that relies on the component and integrates with some of the behaviors&lt;br /&gt;
* Design a sample plugin or two that demonstrate the ways plugins can interact with the rendering process&lt;br /&gt;
* Utilize pure MVC methodology&lt;br /&gt;
* Concept is to focus on developing a project that can be easily repurposed&lt;br /&gt;
&lt;br /&gt;
Project would best suit a programmer with an extreme desire to dig deep into the API. These blank slate extensions could be available for download to developers, for study or for building upon.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Oleg Nesterov&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP, MySQL, Javascript, MooTools&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Rewrite the internal research with Zend_Lucene====&lt;br /&gt;
&lt;br /&gt;
No many words to say, it would be great if some student would like to&lt;br /&gt;
do this amazing job: full-text MySQL make the environment spend lots&lt;br /&gt;
of resources, quering a lucene index wouldn&#039;t.&lt;br /&gt;
&lt;br /&gt;
The idea is to bring the Zend_Lucene engine, put it on Joomla! and&lt;br /&gt;
start rewriting an internal research from scratch. &lt;br /&gt;
&lt;br /&gt;
Things you&#039;ll need to focus are:&lt;br /&gt;
* an agile strategy to develop this new search engine&lt;br /&gt;
* localize entities suitable for the search engine ( articles, contacts, ... )&lt;br /&gt;
* add event/triggers for the CRUD of those entities&lt;br /&gt;
* index generation/optimization&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Alessandro Nadalin&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP, MySQL, Zend Framework, Lucene&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium - Hard&lt;br /&gt;
&lt;br /&gt;
====Improve Joomla user integration with CiviCRM contact records====&lt;br /&gt;
&lt;br /&gt;
CiviCRM is a contact relationship management extension for Joomla (www.civicrm.org). There are some existing limitations/weaknesses with how Joomla users and CiviCRM contacts connect and interact. The following improvements could be considered:&lt;br /&gt;
&lt;br /&gt;
* delete J user when related C contact is deleted&lt;br /&gt;
* allow creation of J user directly from C contact (add button to create user)&lt;br /&gt;
* improve editing of J user from within C contact (account popup in modal box)&lt;br /&gt;
* include J user handling in the C contact deduplication/merge process&lt;br /&gt;
* allow automatic redirection of J user registration pages to CiviCRM profile from within the Civi interface (global settings, via a system plugin)&lt;br /&gt;
* begin integrating C ACL functions with J 1.6 ACL&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Brian Shaughnessy&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, CiviCRM, PHP, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;/div&gt;</summary>
		<author><name>Onesterov</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Summer_of_Code_2010_Project_Ideas&amp;diff=22051</id>
		<title>Summer of Code 2010 Project Ideas</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Summer_of_Code_2010_Project_Ideas&amp;diff=22051"/>
		<updated>2010-03-04T19:45:40Z</updated>

		<summary type="html">&lt;p&gt;Onesterov: /* Extension Builder */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Welcome!===&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
===Ideas===&lt;br /&gt;
&lt;br /&gt;
=====Project Management Tools=====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* Develop a component with project collaboration features (like BaseCamp: http://basecamphq.com/).&lt;br /&gt;
* ProgressBar views based on completed task based on sprints, milestones, project...&lt;br /&gt;
* Different front-end views for Clients, Team, Managers...&lt;br /&gt;
* A module to show the active projects and is respective ProgressBars.&lt;br /&gt;
* Allow Comments and discussions on tasks&lt;br /&gt;
* Allow manager/team to set the function points value of each task (eq: planing poker)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP, MySQL, Javascript, MooTools&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====Improve Image Presentation Capabilities=====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* Expand the JHtml modal behaviour to support groups of images (eg Litebox or similar).&lt;br /&gt;
* A content plugin to support modal gallery displays or inline image sliders.&lt;br /&gt;
* A module to support galleries of images.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Unassigned&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====Audio/Video Support=====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* Sourcing or creating a FOSS flash audio (see http://flash-mp3-player.net/) and video player.&lt;br /&gt;
* A content plugin to support embedding different types of audio files easily in content.&lt;br /&gt;
* A content plugin to support embedding different types of video files (both local and hosted, eg vimeo) easily in content.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, Flash&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====Google Map Support=====&lt;br /&gt;
&lt;br /&gt;
This project could include:&lt;br /&gt;
&lt;br /&gt;
* An editor-xtd plugin that allows you to insert &amp;quot;map code&amp;quot; for a content plugin.&lt;br /&gt;
* A content plugin to display a map with content.&lt;br /&gt;
* A module to display a map.&lt;br /&gt;
* Support for finding directions.&lt;br /&gt;
* Map based on address data in individual contacts&lt;br /&gt;
* Map all addresses in a category of contacts&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, Javascript&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====Simple User Subscription and User Utilities=====&lt;br /&gt;
&lt;br /&gt;
This project would be suite of extensions that would provide enhanced user features such as:&lt;br /&gt;
&lt;br /&gt;
* Allow you to manage user account expiry.&lt;br /&gt;
* Allow you to manage password expiry.&lt;br /&gt;
* Allow for configurable email messages.&lt;br /&gt;
* Allow for user registration approval.&lt;br /&gt;
* Clean up bad user records.&lt;br /&gt;
* Run simple reports on user registration data.&lt;br /&gt;
* Bulk import of users&lt;br /&gt;
* Allow user to self delete.&lt;br /&gt;
* Terms of service plugin.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Garthee&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====Extension Builder=====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Marcelo Eden, Oleg Nesterov&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
====Joomla! API Reference====&lt;br /&gt;
&lt;br /&gt;
Currently the Joomla! API reference at [http://api.joomla.org] 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 [http://www.php.net/manual/en/]. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note: There are also materials here in  docuwiki format [http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdocumentation%2Ftrunk%2Fwiki%2Freferences%2Fjoomla.framework%2F] that could be incorporated. Other material is here [http://docs.joomla.org/Framework].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; &lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MVC, MySQL, Joomla! CMS Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
====Improve Unit Test Coverage====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, PHPUnit, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Improve System (Functional) Test Coverage====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Selenium, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MooTools====&lt;br /&gt;
Build a content editor with Moo Tools.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS, MooTools&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Enhanced Template Manager====&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; &lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Social layer====&lt;br /&gt;
&lt;br /&gt;
Joomla Social API. Not necessarily a component like Community Builder but an API to allow other components to build on top of. &lt;br /&gt;
Consider API for&lt;br /&gt;
* activitysteams: http://activitystrea.ms/&lt;br /&gt;
* Open social http://code.google.com/apis/opensocial/ Some initial work already started on a previous gsoc project and I (rob clayburn) have some additional code available to be worked on.&lt;br /&gt;
* XFN http://gmpg.org/xfn/&lt;br /&gt;
* FOAF&lt;br /&gt;
* Facebook&lt;br /&gt;
* Twitter&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Advanced Voting====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Garthee&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
====Threaded Commenting and Comment Rating====&lt;br /&gt;
&lt;br /&gt;
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&#039;s system as an example of the concept.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Community Moderation====&lt;br /&gt;
&lt;br /&gt;
Improve the core comment component so that it supports community moderation of articles and comments in a manner similar to Scoop &lt;br /&gt;
[http://en.wikipedia.org/wiki/Scoop_%28software%29]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
===Module Manager Improvements===&lt;br /&gt;
&lt;br /&gt;
Improve the User Interface and ease of use for the module manager.  &lt;br /&gt;
Examples:&lt;br /&gt;
*Make it easier to select groups of pages to assign modules to.&lt;br /&gt;
*Assign modules to all items in a submenu.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! CMS&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;/div&gt;</summary>
		<author><name>Onesterov</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Summer_of_Code_2009_Project_Ideas&amp;diff=13625</id>
		<title>Archived:Summer of Code 2009 Project Ideas</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Summer_of_Code_2009_Project_Ideas&amp;diff=13625"/>
		<updated>2009-03-19T21:52:17Z</updated>

		<summary type="html">&lt;p&gt;Onesterov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Gsoc_2009_logo.png|right]]&lt;br /&gt;
&lt;br /&gt;
===Welcome!===&lt;br /&gt;
Welcome to the Joomla! Google Summer of Code (GSoC) 2009 project ideas page. As we move forward with the 2009 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!&lt;br /&gt;
&lt;br /&gt;
===Ideas===&lt;br /&gt;
&lt;br /&gt;
=====Advanced Poll/Survey Suite=====&lt;br /&gt;
&lt;br /&gt;
The core polls extension has been removed from Joomla! 1.6. Develop a fully featured poll/survey suite that will allow relatively simple user polls and the collection of complex anonymized survey data authenticated against either the Joomla users database or an external database. Possibly look to [http://limesurvey.org/] as a model or integration.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Wilco Jansen (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====Full Frontend Editing=====&lt;br /&gt;
&lt;br /&gt;
Right now we only have frontend editing for articles, there are a few improvements I can propose&lt;br /&gt;
* Article editing is done in a modal popup&lt;br /&gt;
* Edit module content and params from frontend (Editing done via a modal popup?)&lt;br /&gt;
* Article Title - edit in place&lt;br /&gt;
* Create some kind of a library function which allows easy frontend editing for any value (This will need some thought)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Akarawuth Tamrareang (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; Javascript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====Template Manager Improvements/Advanced Template Manager=====&lt;br /&gt;
&lt;br /&gt;
Extend the template manager so that it providers an better environment for template creation and modification.  Improvements might include: &lt;br /&gt;
*expanded tool bar, including copy for a complete template&lt;br /&gt;
*access to the media manager&lt;br /&gt;
*access to all template files (not just css and index.php)&lt;br /&gt;
*override manager&lt;br /&gt;
*integration of an editor with code highlighting (such as codepress)&lt;br /&gt;
*support for template parameter groups&lt;br /&gt;
*remove hard-wired references to template name from the core templates (so the new copy function will work as expected)&lt;br /&gt;
*&amp;quot;export&amp;quot; button on the toolbar which will create a zip package file containing the template (also fixes any errors in the templateDetails.xml file as it goes).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Mark Dexter (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Work Flow Extension=====&lt;br /&gt;
&lt;br /&gt;
Create a 1.6 Extension to flexibly manage workflow for com_content. &lt;br /&gt;
Ideally it should be extensible to other components, but com_content should be used as the proof of concept.&lt;br /&gt;
Work flow should manage the publication process, including assignment of editors or publishers to specific content items, notifications of relevant actions to specific individuals or groups, change of status to block author editing of published work.&lt;br /&gt;
&lt;br /&gt;
As much as possible administrators should be able to construct their own work flows.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Mark Dexter (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Page Versioning Extension=====&lt;br /&gt;
&lt;br /&gt;
Create a 1.6 content versioning extension with the goal that this work could be integrated into the core Joomla CMS for future releases.&lt;br /&gt;
The Page Versioning Extension will allow the ability for frontend and backend content users to be able to save and re-publish/revert previously saved versions of content items that they have access to.&lt;br /&gt;
&lt;br /&gt;
Further user permissions could be introduced in order to restrict access to this overall feature.&lt;br /&gt;
&lt;br /&gt;
Features could include a visual and html code difference between the current and previously saved versions, as well as general searching data such as dates and time of previous saved entries of that content.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Mark Dexter (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Taxonomy Extension=====&lt;br /&gt;
&lt;br /&gt;
Create a 1.6 Taxonomy extension with the goal that this work could be integrated into the core Joomla CMS for future releases.&lt;br /&gt;
The Taxonomy Extension will allow the ability to organise content for classification, improving on the current Section and Categories classification.&lt;br /&gt;
&lt;br /&gt;
Taxonomy is a vital feature of modern CMS solutions, evolving from the previous &amp;quot;pigeonholeing&amp;quot; of a content item. &lt;br /&gt;
Full organisational structures and multi tagging of content could be included, including powerful search functions of content under  those classifications.&lt;br /&gt;
&lt;br /&gt;
Taxonomy is a missing feature in Joomla!, which another open-source competitor product currently offers. We have seen a number of opportunities when Joomla! misses out on being the chosen option for a CMS due to the lacking of this feature.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Allan Walker (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Keywords Management Extension=====&lt;br /&gt;
Keywords in articles are an important part of many Joomla! sites. They are used for page rankings but also can be used with Related Articles modules and component extensions. In this capacity, they provide a way to relate articles that is much more flexible and free-form than the built-in Section / Category / Article hierarchy.&lt;br /&gt;
&lt;br /&gt;
Currently in Joomla!, keywords are entered when editing each individual article. This has several disadvantages, including:&lt;br /&gt;
* You cannot see already existing keywords when entering in keywords for an article.&lt;br /&gt;
* You cannot see existing articles that are already associated with a keyword.&lt;br /&gt;
* It is difficult to be consistent when using keywords. For example, should it be capitalized, singular or plural (&amp;quot;Dog&amp;quot; or &amp;quot;Dogs&amp;quot;), and so on.&lt;br /&gt;
&lt;br /&gt;
To deal with these issues, a back-end Keyword Management extension is proposed. This extension would allow the following capabilities:&lt;br /&gt;
* A management screen showing a list of all keywords currently in use. This would provide the ability to drill into any keyword and see all articles that use this keyword.&lt;br /&gt;
* A keyword picker screen. This would allow an author to pick keywords for an article from a list of existing keywords. This would make it easier to ensure consistency in spelling, capitalization, and usage between keywords. This screen would also allow the author to add a new keyword to the list.&lt;br /&gt;
* The ability to do global search and replace on keywords.&lt;br /&gt;
* The ability to see keywords ranked by frequency of use.&lt;br /&gt;
* The ability to list articles to which no keywords have been assigned.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Mark Dexter (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====User-Defined List and Blog Layout Extension=====&lt;br /&gt;
Currently in Joomla!, there are built-in Menu Items for list and blog layouts for Sections and Categories. However, the way a list of articles is selected is tightly bound with the way the list is displayed on the page. In theory, you should be able to have a list or blog layout that shows any selection of articles.&lt;br /&gt;
&lt;br /&gt;
To provide this capability, an extension is proposed that would provide layouts similar to the current list and blog layouts. However, the extension would be designed so that the list of articles is provided by a plugin instead of being integrated into the layout. Example plugins could be provided to mimic the current Section, Article, and Front Page layouts. However, the power of this extension is that the user could add their own plugin that would provide a list of articles using any type of query. This list of articles would then feed into the built-in layouts provided by the extension to turn the raw article list into the desired layout.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Ian MacLennan(subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====Improve Unit Test Coverage=====&lt;br /&gt;
Work has been started on this but the number of unit tests currently in use is small. We need to add many more unit tests. Also, currently unit tests are only able to be used for class methods. We have no way, for example, to test page layouts or module insertion into templates. Part of this project could be to research automated testing solutions to test the complete HTML code sent to the browser. This would allow end-to-end automated testing.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Alan Langford (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, PHPUnit, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Web Based Unit Test Runner=====&lt;br /&gt;
Write a test runner that makes it easy to run unit tests from a web browser. The existing unit test framework is based on running PHP from the command line. While this is essential for integrating testing into the build and release process, it&#039;s a barrier to using tests during development.&lt;br /&gt;
&lt;br /&gt;
This project involves adapting web-based test runners provided by PHPUnit to support the &amp;quot;Joomla!&amp;quot; testing environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Alan Langford (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, PHPUnit, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====CiviCRM Integration: Plugins to Expose the CiviCRM API to the Joomla! Front End=====&lt;br /&gt;
[http://civicrm.org/ CiviCRM] is a powerful constituent relationship management system designed for the not-for-profit/nongovernmental organizations. It currently integrates with Joomla! and the 2.2 version is native to Joomla! 1.5.&lt;br /&gt;
&lt;br /&gt;
CiviCRM has a rich API only small parts of which are currently easily accessible from the Joomla! front end. Create a series of plugins that allows the flexible and highly integrated use of the CiviCRM API in Joomla Content, modules, and other core and non-core extensions (such as com_user, com_contact_diretory or calendaring components).&lt;br /&gt;
&lt;br /&gt;
For this project the student should plan on interacting closely with both the Joomla! and CiviCRM teams.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Elin Waring (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, CiviCRM Framework, MySQL, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====CiviCRM Integration: Develop Front End Extensions for CiviCRM Data=====&lt;br /&gt;
Develop a suite of front end Joomla! 1.5 extensions (modules, plugins and a Joomla! style MVC front end component) for CiviCRM.&lt;br /&gt;
&lt;br /&gt;
[http://civicrm.org/ CiviCRM] is a powerful constituent relationship management system designed for the not-for-profit/nongovernmental organizations. It currently integrates with Joomla! 1.0.x and 1.5 in legacy mode, and  and the 2.2 version is native to Joomla! 1.5.&lt;br /&gt;
&lt;br /&gt;
Thus far most functionality for CiviCRM in Joomla! has focused on the administrator. This project will focus on fuller development of the CiviCRM Joomla! front end.&lt;br /&gt;
&lt;br /&gt;
This development might include modules, plugins, and a MVC front end component which will allow exposure of various CiviCRM APIs as well as allowing Joomla! users the ability to use template overrides and other ways of controlling design and functionality in ways they are familiar with. &lt;br /&gt;
&lt;br /&gt;
The core of this project will be the completion of a Joomla! MVC front end component for existing front end functionality, the basic skeleton for which has been incorporated in CiviCRM 2.2.&lt;br /&gt;
&lt;br /&gt;
Additional items might focus on modules and views to display information.&lt;br /&gt;
&lt;br /&gt;
Some of these will focus on the display of and interaction with general information, for example:&lt;br /&gt;
* a module showing a list of upcoming events,&lt;br /&gt;
* a module showing progress on a fund raising thermometer,&lt;br /&gt;
* a module displaying the most recent donations, donations at certain levels, total donations or other information,&lt;br /&gt;
* a module containing a contribution button linked to a specific contribution page,&lt;br /&gt;
* a donation reporting view with a layout that displays lists of donors in a given time period, sorted by giving level.&lt;br /&gt;
&lt;br /&gt;
Some will focus on the display of user level information such as:&lt;br /&gt;
* a module displaying an individual&#039;s information from a given profile with the option to update,&lt;br /&gt;
* a module displaying an individual&#039;s summary giving information,&lt;br /&gt;
* a module displaying events an individual is registered for.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Elin Waring (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, CiviCRM Framework, MySQL, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====CiviCRM Integration: Development of Multilingual Functionality=====&lt;br /&gt;
&lt;br /&gt;
[http://civicrm.org/ CiviCRM] is an open source constituent relationship management system used by NGOs and advocacy groups (like Amnesty International, Wikimedia Foundation or the Joomla! and Drupal projects) all over the world. Judging by the number of community-contributed and -maintained translations and civicrm.org statistics, CiviCRM installations exist in over twenty languages using various alphabets (Latin, Cyrillic, Arabic, Devanagari, Chinese). Multi-language support is essential in multilingual countries (like Canada or India), as well as in cross-border (e.g., Central and East European) and worldwide organizations.&lt;br /&gt;
&lt;br /&gt;
For this project the student will extend the multilingual features of CiviCRM (initially created during Google Summer of Code 2008), including (but not limited to) some/all of the following:&lt;br /&gt;
* internationalization of further CiviCRM fields,&lt;br /&gt;
* new, database-based framework for handling translations (partially replacing the existing gettext solution),&lt;br /&gt;
* a solution for proper localization of the initial database seed, according to initial language selection (enumerable values, etc.),&lt;br /&gt;
* changes to CiviCRM upgrade process which will make it work transparently on multilingual sites (as opposed to the current explicit handling of multilingual sites),&lt;br /&gt;
* changes to CiviCRM’s translations portal easing translators’ work,&lt;br /&gt;
* multilingual demo installation for translators, picking up new translations “on the fly”,&lt;br /&gt;
* an automatic engine porting translation strings between CiviCRM releases.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Wes Morgan (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, CiviCRM Framework, MySQL, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====CiviCRM Integration: Multi-Organizational Access Control Lists=====&lt;br /&gt;
[http://civicrm.org/ CiviCRM] is an open source constituent relationship management system used by small and large NGOs and advocacy groups, some of them spanning across many smaller (and not-so-small) organizations and/or divided into subgroups, chapters, etc.&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to extend the current CiviCRM ACL capabilities to cover the needs of such multi-part organizations, as well as CiviCRM installations that span across many organizations (with various strengths of ties between them).&lt;br /&gt;
&lt;br /&gt;
The new ACL features should include (but not be limited to):&lt;br /&gt;
* optional inheritance of access right between related organizations and related sub-organizations,&lt;br /&gt;
* creation and sane management of functional groups on various levels of the (sub-)organization graph (“volunteer coordinator for East US chapters of Org X”, “coordinator of campaign Y across all orgs”, etc.),&lt;br /&gt;
* scalability of the designed ACL system – performance-wise,&lt;br /&gt;
* scalability of the designed ACL system – manageability-wise.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Wes Morgan (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, CiviCRM Framework, MySQL, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====Improved Error Handling=====&lt;br /&gt;
Create a component that will handle standard errors (ex. 404) so that headers are sent for the error code, but the error is trapped and redirected from the error.php file back to Joomla! &lt;br /&gt;
where it can be handled on a normal webpage.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Wilco Jansen (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Media Manager Improvements=====&lt;br /&gt;
The following improvements could be made to the current Joomla! Media Manager:&lt;br /&gt;
* Support content expiration (image/video) that allow user to set start – end date of each content which to be lived on site&lt;br /&gt;
**e.g. food image can be lived on site only 3 months, due to the license issue, so we need to take out the image and replace it with other default image or leave it blank&lt;br /&gt;
* Support user friendly input interface which allow user to complete content input in 1 screen (Text input, Multiple images/videos upload, Tagging, Mapping related content and so on)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Akarawuth Tamrareang (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====Whiteboard/Wiki Component=====&lt;br /&gt;
Joomla comes with a few core components, and a Whiteboard/Wiki component would be a great addition to those.  It would be a basic implementation of the feature with the following possible features:&lt;br /&gt;
&lt;br /&gt;
* Provide a simple interface for editing (perhaps allowing multiple users to edit at once or locking down while under edit)&lt;br /&gt;
* Ability to restrict user access on posting&lt;br /&gt;
* Organize whiteboards&lt;br /&gt;
* Keep revisions in archive&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Ashwin Date (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Core Extensions Semantic and SEO Updates=====&lt;br /&gt;
The core extensions can be modified to produce semantic markup.  The tables should be replaced withmore appropriate containers for the contents.  This would not replace the need for template overrides, but rather make the default output stronger to build upon.  The output should also be arranged to best suit the content in the majority of situations.  Perhaps also a basic system reset CSS file would need to be developed to set some of the basic layout items, also to be easily disabled.&lt;br /&gt;
&lt;br /&gt;
The core output cannot be replaced completely without causing many 1.5 templates to break.  Therefore it would be necessary to&lt;br /&gt;
either have a legacy mode for templates or to automatically detect the template type (1.5 or 1.6) in order to provide the right output. &lt;br /&gt;
&lt;br /&gt;
Modules can be defined in a template to have pretty much any name they wish.  While this is great for template makers, it would be good to have at least some guidelines about naming modules.  Module names like user1 and user2 are essentially useless semantically, and to administrators of a site.  Some templates are designed for any module to fit in any position, but in general there are at least a handful that are designed with the menu, footer, and other aspects in mind.  Perhaps Joomla can create some guidelines (not requirements) related to this.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Allan Walker (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Templates for Joomla 1.6=====&lt;br /&gt;
Each version of Joomla comes with a set of templates, and they are updated with each major release.  1.6 is currently in development, and will need a new set of templates.  These templates should:&lt;br /&gt;
&lt;br /&gt;
* Employ semantic markup&lt;br /&gt;
* Provide a fresh look&lt;br /&gt;
* Be flexible to accommodate all kinds of content&lt;br /&gt;
* Come with example core overrides, perhaps for major extensions as well&lt;br /&gt;
* Should have a light memory print&lt;br /&gt;
* Comply with accessibility standards&lt;br /&gt;
* Validate&lt;br /&gt;
* Be easily modified and built upon&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Allan Walker (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, HTML, CSS, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Administrator and Usability Improvements=====&lt;br /&gt;
There are many little improvements that would help with general usability and administration for Joomla users. &lt;br /&gt;
&lt;br /&gt;
* Assigning modules in the Menu Manager&lt;br /&gt;
* Assigning links from Article Manager&lt;br /&gt;
* Copying templates&lt;br /&gt;
* Easily change Control Panel icons&lt;br /&gt;
* Improved Front Page article handling&lt;br /&gt;
* Improve internal mailing system and its notifications&lt;br /&gt;
* Make Control Panel in the menu a one click step, not hover then select&lt;br /&gt;
* Have the main tabs linked in case they are clicked, such as Content goes to Articles&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Mark Dexter (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, Javascript, MySql, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Content Item Templates=====&lt;br /&gt;
&lt;br /&gt;
Easy page layout template system so that editors can choose from a pre-defined range of layouts.&lt;br /&gt;
This could be useful when certain pages all require the Name, Date, Author name, photo in a certain area, tagline etc.&lt;br /&gt;
Content item templates could be defined, then saved and authors could then choose from this list, helping sites with larger article content to retain continuity throughout their areas of pages.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Allan Walker (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====XML DTDs and XML Schemas for all XML files used in Joomla=====&lt;br /&gt;
&lt;br /&gt;
XML files are used in various places throughout Joomla.  Historically, the installer XML files have had DTDs against which they can be validated.  However, there are a number of known issues with these DTDs and there are other XML files used in Joomla that have never had DTDs written at all.  Furthermore, DTDs can only catch certain classes of errors within XML files and we need to look beyond DTDs to look at XML Schemas to catch other classes of errors.&lt;br /&gt;
&lt;br /&gt;
* Review all XML files used in Joomla and list them on the documentation wiki.&lt;br /&gt;
* Create a collection of test cases of XML files that will fail in Joomla and which should, therefore, fail to validate in some way.&lt;br /&gt;
* Where DTDs already exist, review, revise and update them as necessary.&lt;br /&gt;
* Create DTDs for those XML files that don&#039;t currently have one.&lt;br /&gt;
* Create patches for the core code (target 1.6?) to ensure that valid DTDs can be written for all XML files.&lt;br /&gt;
* All current DTDs force some XML elements to appear in a particular order which is neither enforced nor required by Joomla.  If possible, solve this problem so that designers and developers can place those elements in arbitrary order in the XML and still have the XML files validate against the DTDs.&lt;br /&gt;
* Create XML Schemas for all XML files used in Joomla.&lt;br /&gt;
* Ensure that DTDs and XML Schemas are well commented and/or thoroughly documented.&lt;br /&gt;
* Write comprehensive documentation covering the process of validating an XML file against both DTDs and XML Schemas.  Some documentation already exists that can be used as the basis for this.&lt;br /&gt;
* Expand the collection of test cases to include XML files that will not fail in Joomla but which may or may not fail to validate against the DTDs or XML Schemas.&lt;br /&gt;
* Ensure that the test case collection is properly documented so that changes to Joomla and/or the DTDs and XML Schemas can be properly tested.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Chris Davenport (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, XML / DTD validation&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Alternate Component for Editing Articles=====&lt;br /&gt;
The idea is to have an component on admin side that allows articles to be edited based on the frontend navigation, Something similar to [http://thewebkitchen.co.uk/typo3temp/pics/a367ba3c04.jpg Typo3 admin]implementation (just 2 and 3 in the image).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Amit Kumar Singh (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills:&#039;&#039;&#039; Joomla CMS framework, MVC, PHP 5.2, MySQL&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; medium&lt;br /&gt;
&lt;br /&gt;
=====Magento eCommerce Platform integration into Joomla!=====&lt;br /&gt;
Magento is an actively developing award winning open source eCommerce platform. The idea is to develop a bridge between Magento and Joomla.&lt;br /&gt;
More info about Magento can be found from the following websites:&lt;br /&gt;
[http://www.magentocommerce.com/ Magento official website]&lt;br /&gt;
[http://demo.magentocommerce.com/ Magento online demo]&lt;br /&gt;
[http://www.magentocommerce.com/media/tour/magento-tour-store/view Store tour video]&lt;br /&gt;
[http://www.magentocommerce.com/media/tour/magento-tour-admin/view Admin tour video]&lt;br /&gt;
[http://www.infoworld.com/slideshow/2008/08/168-best_of_open_so-8.html Best of Open Source Enterprise Applications]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Not assigned yet&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, JavaScript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
=====Xinha WYSIWYG editor for Joomla! frontend and backend editing=====&lt;br /&gt;
Xinha is a powerful WYSIWYG editor, which supports plugins. So administrator can customize their working environment and even write their own plugins.&lt;br /&gt;
The idea is to integrate Xinha into Joomla! with ability of editing content from frontend and backend. The editor environment must be configurable, output&lt;br /&gt;
HTML code must be W3C compliant, for that we will need also to implement [http://htmlpurifier.org/ HTMLPurifier] plugin into Xinha.&lt;br /&gt;
&lt;br /&gt;
You can try [http://edo.webmaster.am/projects Xinha editor plugin demo] for Joomla! 1.5.&lt;br /&gt;
More info about Xinha can be found from the following websites:&lt;br /&gt;
[http://xinha.webfactional.com/ Xinha official website]&lt;br /&gt;
[http://xinha.raimundmeyer.de/x_examples/ext_example.html Xinha demo]&lt;br /&gt;
[http://xinha.webfactional.com/wiki/Plugins Currently available Xinha plugins]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Not assigned yet&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, JavaScript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Working copy of Joomla! live site=====&lt;br /&gt;
Usually administrators are working on their live site directly and sometimes they do mistakes as all people do. Usually the live site get&#039;s messed after extension installation/uninstallation process and re-configuration. The idea is to have a working copy of the live site and make changes to it, then if everything is okay after some testing, you can approve changes and the tool will synchronize changes to your live site.&lt;br /&gt;
&lt;br /&gt;
Some of the steps, which will need to be done to complete this project:&lt;br /&gt;
* Develop a tool, which will create a working copy of the site&lt;br /&gt;
* Develop a tool, which will synchronize working copy with the live website&lt;br /&gt;
* Develop a diff tool, which will show not approved changes&lt;br /&gt;
* Interface in working copy to view not approved changes with possibility to reject or approve specified changes&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Sam Moffatt (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, JavaScript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
=====Elgg Platform integration into Joomla!=====&lt;br /&gt;
Elgg was providing an elegant and powerful solution for anyone who wants to create their own online community. Elgg is free and open source and powers all kinds of social networks - from education and business to martial arts and rugby. If you are looking for a professional social intranet or just want to run a site for your fishing club, Elgg is a great choice. The idea is to develop a bridge between elgg and Joomla.&lt;br /&gt;
More info about elgg can be found from the following websites:&lt;br /&gt;
[http://www.elgg.org/ elgg official website]&lt;br /&gt;
[http://community.elgg.org/ elgg community online ]&lt;br /&gt;
[http://docs.elgg.org/wiki/Main_Page  elgg Documentation]&lt;br /&gt;
&lt;br /&gt;
Some of the steps, which will need to be done to complete this project:&lt;br /&gt;
* synchronize user between elgg and Joomla!&lt;br /&gt;
* develop module for Joomla! to show Users Activity &lt;br /&gt;
* develop module for Joomla! to show Members photo from Elgg&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Pisan Chueachatchai, Akarawuth Tamrareang (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, JavaScript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====New Extension Install Manager=====&lt;br /&gt;
Update Systems presently doesn&#039;t have an easy to navigate structure for handling the large amount of information that is potentially available when a user wishes to install new extensions into their system backed from the update system. Updates are presented already and temporarily uninstalled items are also displayed as a technology demonstration of what can be achieved using the new system.&lt;br /&gt;
&lt;br /&gt;
A completely new look extension install manager is required to help make meaning of the information that the update system exposes. In part this system should also expose information about existing installed extensions in the system (including any pending updates they might have) as well as new extensions that are available. Its purpose should be similar to the way that &amp;quot;Synaptic&amp;quot; works on Debian or Ubuntu operating systems.&lt;br /&gt;
&lt;br /&gt;
The majority of the data loading framework is build already permitting the enterprising developer to focus primarily on interfacing with the installer system and building a useful user interface to make containing these extensions very easy.&lt;br /&gt;
&lt;br /&gt;
Areas of further development involve research involving the development of a Firefox plugin (or similar) that stream lines installing Joomla! extensions from a web site perhaps similar to the way that Firefox is handled. This would involve developing a service that facilitates authenticated remote installation procedures.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Sam Moffatt (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, JavaScript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
=====Update Server=====&lt;br /&gt;
With the development of the new infrastructure there is a need to create an independent update server to make a developer&#039;s life easier when installing creating extensions. The update server should in part offer a download facility where users can download directly from it via a front end Joomla! component as well as something that will generate XML files statically on the file system and dynamically dependent on the administrator&#039;s choice. The XML files should be generated in the defined format that already exists  and should handle updating automatically. &lt;br /&gt;
&lt;br /&gt;
Expanding on the system it should be able to push notifications out through an extensible plugin system as well as handle automatic mirroring of the files (again via plugins). An example of a notification plugin could be something that automatically updates the JED or posts a new article in a specific category with changelog information. An example of a mirror plugin could be something that automatically uploads files to a release on JoomlaCode, perhaps even creating the release automatically as well. The location of generated XML files should be configurable as well and may also be requested to be uploaded to external resources as well (e.g. a mirror server for the XML update files).&lt;br /&gt;
&lt;br /&gt;
The application should make the most of new features introduced into Joomla! 1.6 such as the Forms API to provide plugin customisable interfaces to various systems.&lt;br /&gt;
&lt;br /&gt;
An extension of this would be the provisioning of content plugins that handle the integration of download URL&#039;s and version numbers for packages that are handled through the system. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Sam Moffatt (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, JavaScript, Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Authentication Systems=====&lt;br /&gt;
This is a major project consistent of various subparts. It should be undertaken by someone with at least a basic understanding of how Joomla! operates and developing for Joomla!. This is not a good starter project. Students should show an interest in this area and be happy to work in an agile method with tighter deadline for individual projects to come together as a final assessable package. A combination of options might be selected but at least three should be considered.&lt;br /&gt;
&lt;br /&gt;
This is still in moderate draft phase.&lt;br /&gt;
&lt;br /&gt;
* Group Mapping&amp;lt;br/&amp;gt;Group Mappings is a feature that permits external groups to be mapped onto Joomla! groups when the user logs into the system. Implementation of the data retrieval aspect of this project isn&#039;t required however implementation of a user interface to control group mappings is required. The system should permit the administrator to designate that a specified group name string should map to a given user group. Optionally settings may be given priorities to enable mapping of &amp;quot;primary&amp;quot; groups to the user. This project is Joomla! 1.6 only and includes work on the new ACL system that permits multiple groups.&lt;br /&gt;
&lt;br /&gt;
* LDAP Authentication Groups Discovery&amp;lt;br /&amp;gt;Tied in with group mapping the LDAP authentication plugin should then become capable of determining the groups that a user is a member of and reporting this back to the parent system. This will probably be in DN form which is why the group mapping application is useful.&lt;br /&gt;
&lt;br /&gt;
* LDAP User Plugin&amp;lt;br/&amp;gt;Presently I have an LDAP user plugin that permits Joomla! to push users details into LDAP. Ideally this could be expanded to handle groups as a general improvement to the entire user subsystem. Extra user fields should also be populated some how as well. Ideally it should be made into a configurable so that mappings could be made arbitrarily however &#039;templates&#039; for individual directory systems (MSAD, eDirectory, SunOne, OpenDirectory, plain OpenLDAP inetOrgPerson). &lt;br /&gt;
&lt;br /&gt;
* LDAP ACL Backend&amp;lt;br /&amp;gt;This would permit ACL changes to be pushed into LDAP which can then be copied into different Joomla! sites periodically permitting centralised control as well as more generalised ACL systems to hook into Joomla!.&lt;br /&gt;
&lt;br /&gt;
* Pluggable Authentication Requests&amp;lt;br /&amp;gt;Developers should be able to request authentication to occur and then be redirected back to where they are. This authentication system should be pluggable to permit different handlers to be implemented. For example a default plugin would be Joomla!&#039;s Login Form however another authentication fall back might push you through SSO instead and then fall back to the login form.&lt;br /&gt;
&lt;br /&gt;
* More to come! &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Sam Moffatt (subject to change)&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP, MySQL, JavaScript, Joomla! Framework, LDAP (for some).&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Adminlist library for Joomla! Developers=====&lt;br /&gt;
Many developers create new components every day all over the world. The idea is to develop a library for rendering lists of items in the administration panel (like standard lists of users/articles/categories/etc). It must handle all routine work of creating such lists for components.&lt;br /&gt;
&lt;br /&gt;
It should work like a common form creator class. You set list of fields with their types (columns) and list of values (rows) or an SQL-query to fetch them.&lt;br /&gt;
&lt;br /&gt;
The main features of the library should be:&lt;br /&gt;
&lt;br /&gt;
* Different column types (at least text, link, edit link, publish, order, logical and date types).&lt;br /&gt;
* Inputs for data filtering.&lt;br /&gt;
* Ability to set columns from either the php array or the xml file (this to be discussed).&lt;br /&gt;
* Ajax support for the following tasks: publish/unpublish, order up/order down, save ordering, filtering, sorting by columns.&lt;br /&gt;
* Quick edit mode to change some data on fly without entering item’s edit page.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Oleg Nesterov&lt;br /&gt;
:&#039;&#039;&#039;Skills Needed:&#039;&#039;&#039; PHP5, OOP, MySQL, JavaScript, Ajax, and some base knowledge of Joomla! Framework&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;/div&gt;</summary>
		<author><name>Onesterov</name></author>
	</entry>
</feed>