Ankit Ahuja



Milestone #1 ( 15 June )

Complete edit-in-place for module, menu item and article titles. Also, create a Toggle for turning editing on/off and basic framework for the project including the component and plugins required.

Milestone #2 ( 30 June )

Complete Article editing in modal popup. Fix bugs, if any, in edit-in-place.

Milestone #3 ( 11 July )

Complete Module editing in modal popup. Fix bugs, if any, in article editing.

Milestone #4 ( 18 July )

Complete Menu Item editing in modal popup. Fix bugs, if any, in module editing.

Milestone #5 ( 10 August )

Complete Drag & Drop for placement of modules. Fix bugs, if any, in menu item editing.

The remaining timeframe will act as an overflow buffer to add any remaining features, fix bugs and perform the integration testing of the entire project.

Also, I will be posting demos along the way to gather continuos feedback from the community regarding User Interface aspects. 

I will be striving to make this project as an extension so that everyone can easily plug this into their own Joomla! installation with minimum effort and start using it right away. I will be developing this project for J! 1.5 at the moment. Later it can be made compatible or ported to J! 1.6 easily.

First off, I will be creating a component which will handle all the AJAX Requests from the JavaScript at the frontend. These tasks will include, for eg.: saveMenuItemTitle,saveModuleTitle, saveMenuItem, etc. One of the greater challenges will be to keep the JavaScript template-independent, especially in case of identifying menu-item and module titles. For modules, I will be creating a custom module chrome whose style can be attached to all modules to make them editable.

I will also be creating a system plugin which will support the component. This plugin’s work will be to include the javascript so that the user is able to perform changes at any page, once she is logged in and has the appropriate permissions. There will also be a content plugin which will support editing of articles from the frontend.

I will also maybe include some sort of a mechanism for the user to Toggle in-place editing on/off. This is especially of importance in case of menu-item titles, which are links. This maybe done with the help of a module or some other way ( to be decided )

I will be handling all the tasks in the order as listed below:

  1. Edit-in-place for menu item, module and article titles: JavaScript will identify all the titles on a page and make them editable. At present, the idea is that when the user hovers over these titles, they will be highlighted and the user can click on them to edit them.

    There will also be some way in which the user will be able to Toggle in-place-editing on/off. I am looking for feedback from the community on how they would like this to be implemented.

  2. Editing of articles in a modal popup: When the user with sufficient permissions is logged in, an edit icon will be displayed next to the title of the article. When the user clicks on this icon, the WYSIWYG editor for the article will be displayed in a modal popup, where the user can make the changes and save the article.

  3. Editing of menu item & module parameters in a modal popup: Similar to the above pattern, the user will see an edit icon next to module and menu item titles which she can click to see a modal popup where their parameters can be edited and saved.

  4. Drag and drop placement of modules: This will allow the user to drag and drop modules into new positions. The placement will lead to an AJAX request to the component which will then appropriately set the ‘position’ and ‘order’ for parameters for the affected modules.

Joomla GSOC 2009 Student Ankit AhujaI am a 20 year old undergrad student living in New Delhi, India. I'm majoring in Computer Science from MD University. I love programming and one of my favorite pass times is creating fun web apps. In my free time, I also like to read blogs and play cricket. I am new to open source but loving it! I'm extremely excited about working on this project and thank everyone at Joomla! for giving me this wonderful opportunity!

The project that I will be working on for this GSoC is an Enhanced Frontend Editor for Joomla! 

Currently, there is very limited editing that a user can perform from the frontend. This project intends to resolve that. It will utilize edit-in-place fields, modal windows and a drag & drop interface to provide an interactive editing experience to the user. It will allow in-place editing of article, module and menu item titles and editing of articles, module and menu item parameters using a modal window. It will also allow the user to position modules by drag and drop at the frontend ( the new position of the modules will be saved at the backend )

The goal of the project is to make it easy for the user to make quick edits to articles, easily modify placement of modules and also avoid a trip to the backend whenever possible.

To know more about me, you can visit my personal website -- or follow me on twitter, @ahujaankit


Latest Blogs on Ankit's Project

Ankit's Project Links