The Joomla! Community Magazine™

Template Manager Improvements for CMS 3

Written by | Monday, 01 July 2013 00:00 | Published in 2013 July
I'm a student from India participating in Google Summer of Code 2013 program with Joomla. My project is about dramatically improving the Template Manager and adding a host of new functionalities to it.

About Me

I’m a 3rd year undergraduate student from India and I live in Delhi NCR region with my family. I’m a Web Application Developer and an Open Source enthusiast. I feel I’m blessed to have started working in an era where FOSS is being adopted worldwide and is getting serious recognition. As a student I feel there are unparalleled benefits in the Open Source world. I seriously believe that contributing to an Open Source project is one of the most noble thing to do.

Here in India, Open Source adoption and contribution is still not prominent but the upcoming generation (to which I belong) is changing the scenario. The people are more aware and clearly see the unparalleled benefits of using FOSS. I understand that it is just a matter of time before the we see a huge number of regular and highly motivated contributors from India.

Apart from that I’m a die-hard foodie and Manchester United fanatic. I just can not miss a match on a Saturday evening. At one time I even wanted to become a footballer.

Joomla

I interned at a startup last summers and the first project I was given was to build a Website using Joomla for a client. At that point I had no experience with any CMS. So I learned how to build templates for Joomla and how other things work. So at the end of my internship I had around 5-6 websites built using Joomla. I used a variety of extensions and learned to customize them. This helped me in getting familiar with the architecture.

I used this experience in developing websites for college events and societies. From that point I made up my mind that I’ll contribute to Joomla and give something back to the community. The best way to kick start was getting into the GSoC 2013 program with Joomla. So I prepared and submitted my proposal. Thankfully the mentors and program administrators liked my proposal and I got selected into the program.

Project

Officially my project title is “Improvements to the Template Manager for CMS 3”. This project is about improving the Template Manager and adding a host of new features to it. The main aim is to make it easy both for the end users and the developers to make changes to their templates.

It should be intuitive and simple enough for a non-programmer to understand. As it has seen no major changes since Joomla 1.5, the goal of this project is to dramatically modify the template manager and add new functionality, keeping in mind the requirements of the end user as well as the developers.

The features that the new template manager will have are:

  • Functionality for editing all types of files i.e. css, php, js, less, xml
  • Creation of new files
  • Creating of overrides
  • Compilation of less files
  • Template Preview
  • Customized JUI generation
  • Upload functionality for adding more files
  • Support for CDN
  • Cropping and resizing of images

End Result

The project is currently in the development stage and the implementation plan has been changed about 3 times during the project planning phase so that the requirements are fully realised and the new Template Manager brings innovative things to the table.

After the successful completion of the project, the template manager can be used like a browser based text editor. The files can easily be browsed and opened up for editing. This will make editing the template a lot easier as most of the work can be done by just logging in to the administrator area instead of editing files via FTP and SSH.

The directory structure and files will be listed on the left sidebar in a collapsable tree. The editor will open up on the right side if we click on any file for editing from the left sidebar.

To give you all a better idea of what I’m doing here is a small mockup of the project. I developed many mockups of different implementation plans as they’ve gone through many changes in the past. This is the final result of that. This is a raw mock up and you may not see all the functionalities listed above.

I’m continuously blogging about the progress of the project and everything related to it. You can find all the previous implementation plans and mockups on my GSoC Template Manager Project site.

Reason for choosing this project

I chose this project as I believe I had sufficient experience building templates and I was well familiar with how templating works with Joomla. The other reason for selecting this project was also that I was able to practically relate myself with the project. Whenever I’m stuck somewhere I just think what feature I want as a developer and which implementation would be the best for the CMS. This helps me in coming up with new ideas. Personally, I believe that I chose the best project for myself as I’m also having a lot of fun in this project.

A Big Thank You

My mentors, Program Administrators, Production Leadership Team and the Joomla Community have been very supportive throughout and I’m very thankful to all of them for giving me all the freedom to work on my ideas and always taking out time from their busy schedule to listen to me and provide constructive feedback. I’d also like to thank them for selecting me and providing me with a great opportunity to contribute to the software I love. I’d also like to thank CloudAccess for providing all the students with 3 years of hosting and a domain for free.

Read 16053 times
Tagged under Google Summer of Code, English
Ram Tripathi

Ram Tripathi

I'm an undergraduate student from India. I first developed a website on Joomla during an internship at a startup in my second year. From that point I fell in love with Joomla and have been using Joomla since then.

I got a great opportunity to contribute to the Joomla Project through the Google Summer of Code 2013 program. My project "Improvements to the Template Manager for CMS 3" was selected by the Joomla mentors. I also contribute to the Joomla Bug Squad.