GSoC: Helping out Yash Part-III

Written by | 11 September 2016 | Published in Joomla! Community Magazine - September 2016
At the start of the project my proposal was to add the previous 1.x feature of Joomla of creating a menu item directly from the component view in the newer versions of Joomla. During starting weeks me and my mentors discussed what approach to take to add such functionality. The decision was to make it between using helper function or using Plugins. In my proposal I had suggested to use the plugin method using various trigger event. So it was decided to first add the functionality for only article view(On-the-fly) version, after that the functionality can be made generic using plugin. So basically the method that I proposed at starting was used to achieve the final goals.

This feature is beneficial for new users. Here are some key features of the functionality:

  1. Create menu item directly from the component view.
  2. Enable the plugin in one or more than one component.
  3. The functionality can also be used by other 3rd party component to create a menu item.
  4. Reduced number of steps to create a menu item.

This was my first time coding a plugin for Joomla. Getting familiar with the Joomla framework, MVC structure and how Joomla CMS works were some of the learning experience that I gained through this project. I am quite happy with my result. Though the plugin need to be made compatible with the categories component and also need a few tweaks but 90% of the goals of the project are achieved. But as this is my first PR to the core I intend to work on this PR in future to make it better and to achieve its 100% goals.

Experience Gained

Well, whenever I see a question what’s the most difficult challenge that I faced during GSOC period only one thing pops up in my mind. Being selected as a GSOC student is one hell of a challenge itself.

Coming to my GSOC period, I learnt many things

  1. Got more familiar with github.
  2. Learnt how coding standards helps an organization to keep its code well organized.
  3. Learnt to take constructive feedbacks from the mentors and implement them accordingly.
  4. Also got the chance to publish some of articles at Joomla Community Magazine.
  5. Learnt how to interact with other members of the Joomla community to get help.
  6. Finally learnt how the Joomla framework works and Joomla infrastructure.

My Thoughts about Joomla!

When I was in the process of selecting an organisation for my google summer of code project, I came across the Joomla and in the description it read that Joomla is currently responsible for powering over 2.7% of all of the internet's websites, and I was like wooaah! That’s an impressive number. That’s the point where I thougth that as a community Joomla must be awesome, because to pull off that 2.7% stat is not possible without a well supporting community. That was my first impression of Joomla.

When I first started coding on my project “Improving menu item workflow in Joomla” I was little skeptical if I wouldbe able to complete my project on time or not. As a new developer to Joomla API and Joomla MVC structure I struggled at starting, but as time passed and under the expertise of my mentors I made myself comfortable coding in Joomla and right now I enjoy coding in Joomla.
After the end of GSoC I intend to help Joomla in whichever I could help. Testing the PR’s and solving some issue on the issue tracker page from time to time are some of the way with which I am planning to be a part of Joomla family again. In future If it’s possible I also intend to be a part of Joomla GSoC team.

Details of the Project

Link to the PR: https://github.com/joomla/joomla-cms/pull/11766
Link to the articles related to the projects: http://magazine.joomla.org/site/itemlist/user/46956-shubhamrajput

Read 4700 times Tagged under Google Summer of Code, English
Shubham Rajput

Shubham Rajput

I am Shubham Rajput. I am form Ghaziabad,Uttar Pradesh,India and currently pursuing my B.Tech Degree in Computer Science And Engineering from VIT University, Chennai, India.