GSoC/GCI Archive
Google Summer of Code 2012

Joomla!

Web Page: http://docs.joomla.org/GSOC_2012_Project_Ideas

Mailing List: https://groups.google.com/forum/?fromgroups#!forum/joomla-gsoc-2012

The Joomla! community manages two major software projects, the Joomla! Content Management System and the Joomla! Platform.

  • The Joomla! CMS is a PHP based application that powers about 2.7% of the web, 9.3% of all CMS-based websites, as well as many intranets.
  • The Joomla! Platform is a PHP application framework used for building web and command line applications, and is the basis of the Joomla! CMS.   


Each of these projects has hundreds of contributors, a set of working groups, and a leadership group. These are coordinated by the Production Leadership Team.  This is an umbrella application for the two projects.

The Joomla! CMS and Joomla! Platform are community driven FOSS projects developed and maintained by an international community encompassing  over 200 countries. Joomla! is used by millions of websites and Web applications ranging from the hobbyist, professional web developer, to large enterprises, for both the World Wide Web and intranets.

The Joomla project is a community effort which strives to engage contributors from diverse backgrounds and varying interests and skills in building and supporting great software together. The mission, vision and values of the Joomla Project reflect this. (http://www.joomla.org/about-joomla/the-project/mission-vision-and-values.html)

The official sponsoring organization is Open Source Matters, the non profit organization that manages financial and legal issues for the Joomla! project. However, GSoC participation will be a joint project of the Production Leadership Team (development and developer engagement), Community Leadership Team (community management and outreach) and Open Source Matters (administration). A team of experienced people drawn from many areas of the project will manage the 2012 GSoC project for Joomla.

Projects

  • A Joomla Platform Library to compile and compress Javascript and CSS files The goal of this project is to come up with a library for Joomla Platform which will facilitate compressing and combining of JavaScript and CSS files before they are sent to the client browsers. So developers can keep their well structured, commented and easy to read files aside and give compressed files which are optimized for speed downloading, to be served to the end users. And even more they will be able to send a single combined JavaScript/CSS file to render the page instead of sending a number of separate files. So developers will be able to reduce the page download time as well as to save their valuable bandwidth. This will benefit users with faster page loads and webmasters with reduced bandwidth usage.
  • JGoogle Package I will create a Joomla Platform package which implements a subset of Google APIs. I tentatively recommend the following APIs: Google OAuth/ClientLogin, AdSense Management, Google Analytics Tracking, Google Calendar, Google Calendar Embed, Google Maps, Google Picasa, reCAPTCHA Embed, and Google Short Links. In addition to these APIs, I will write generic, extensible classes which connect to Google via OAuth and other authentication protocols to send/receive data.
  • JMediaWiki Package for Joomla Platform Mediawiki is a free and open source web based wiki software which runs Wikipedia and thousands of other wiki based sites. Mediawiki provides an API to access and modify wiki features, data and meta-data. The existing php clients for mediawiki is either incomplete or stopped development. The goal of this project is to integrate a client for accessing mediawiki API within the Joomla platform. The new JMediawiki package will allows applications based on Joomla Platfrom to access any mediwiki based sites seamlessly including Wikipedia.
  • Language Installation and update tool for Joomla! The goal of the project is to create an interface to install languages from a repository of accredited language packs during Joomla installation and subsequently from the administrator interface.
  • Petri Net API The goal of the project was to integrate a Worflow engine in Joomla. Then we figured out it was better to rewrite the foundations of a new one. After researches, the project became Petri Net API and consisted in implementing a Petri Net abstraction to become the base of a new Workflow engine.
  • Social Package This is a Joomla! Platform package with basic and advanced functions for each major social network which would help developers to reduce the time they have to spend when including such networks in their applications.
  • Web Service API for Directory-Like Applications The project is about creating an Web Service RESTful API for applications that follow the structure of a directory, the main goal of it being to build a basis for the Joomla Application Directory.