First, I am going to introduce myself. My name is Anurag, I am a Computer Science and Engineering undergraduate student at Indian Institute of Technology Patna ( IIT-P) from India. When I was in college, I was introduced to Open source and GSoC through my seniors. Later, I joined the Open source community as a Web Developer.
Google Summer of Code and Joomla!
Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.
Joomla! is free and open-source CMS which allows users to create websites and apps and to manage multiple users with different permission levels, managing content of websites etc.
My Journey to GSoC with Joomla!
7 months ago, I was thinking about getting involved into the Joomla! Community but I had no idea how to start. Then I met Kasun Vithanage a GSoC’17 student with Joomla. He helped me to get involved within the Joomla! Community. A Special Thanks to him.
When Joomla published the project idea list, I chose the Project 3 (Improve Override Management) which was a very interesting project for me. And, then Google Summer of Code 2018 announced the results. Yes! My project proposal was selected. The project is to Improve Override Management. It was the happiest moment in my life till now :)
Project - Improve Override Management
Mentors: Astrid Günther, Tobias Zulauf , Allon Moritz
Why this project
We know that Joomla is a highly secure CMS and this project increases the security of Joomla to one more level for the people who love and do overrides in Joomla. Override is a very useful feature in Joomla to customise the site to the way user wants it and in the facts, it allows to not hack the core code of Joomla.
https://docs.joomla.org/Layout_Overrides_in_Joomla
https://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core
This project adds an update checking feature to Joomla. If the template file is changed where an override exists, it notifies the user that one of the core files of their template overrides will be changed during the update, to avoid security issues or functionality issues like, (a command is replaced by a more secure command or code and the previous command or code won’t work anymore with Joomla core, this can create security or functionality issues) and they can adjust their override before anyone can notice.
You can see this feature in details here: https://github.com/joomla-projects/gsoc18_override_management/projects
- Override interface
This view should show all overrides of the user template with date of last change, data of last check and a checkbox which a user can check, if the override is checked. For an update, this checkbox should be unchecked, if the counterpart core file is changed and the date of change should be updated. - Show message / Create Notification after update/upgrade
To inform user, the system sends an email which contains the list of overridden files which was changed during the update and renders a message on the page. A notification card like Joomla 4 update checker and extension check in cpanel. - Integrate the Tool to create the diff view
Integrate the Tool/ Javascript Library - Create the diff view to show the difference between override and the original core file.
First Meeting
I had my first meeting with my mentors and admins on (May 8, Tuesday) an hour which was very helpful.
We discussed our project architecture in detail. You can see the report of our first meeting here: https://volunteers.joomla.org/teams/gsoc-18-improve-override-management/reports/782-1st-meeting-joomla-gsoc-2018-improve-override-mana
Now, the most exciting and challenging part has started. This week onwards, I will write blog posts/reports weekly to share updates about this project. Thanks for reading !