Joomla Google Summer of Code 2019

My name is Kumar Shivam. Finally, phase-1 of Google summer of code- 2021 is ended here, this blog is related to the phase-1 experience for me and how I contributed to my project. The time period from community bonding to Joining Joomla! as an open-source contributor taught me many things.

The very 1st Day begins with the Admin and Students meeting, where we have a video conference call via Google meet. The Admin discussed the idea of how to join the community and become a part of it by contributing and completing of the project assigned in GSoC.

About the Project

Admin-Student Meeting

Community Bonding Period (20th May - 6th June): During this time period I got a chance to learn about Joomla! and their community norms very closely. I have started by connecting with my Mentors in the channel and with other students who are part of GSoC'21. During this phase of the community bonding period, I have read many documents related to Joomla! the latest version which is available here Joomla! DOCS. This gives me a brief idea about the Development in Joomla!.

In the next, I started testing Pull requests for a better understanding of coding style followed by Joomla!.
Thereafter, I'm working upon the project idea which needs to be worked on throughout the GSoC'21. My mentors help me there by discussing the idea of the project and the implementation work. Mentors also provide many documents and articles related to Accessibility which helps me to understand things in depth.

Week-1 Coding Period (7th June - 12th June):
The Coding Period begins in which I have to work on the project by pushing all the commits to Github. I discussed with the mentors for the project task distribution. I have been added to Joomla! Accessibility channel. I shared the idea of testing the accessibility features and enhancing them with the improvements.

Task Performed During Week-1:

  • Working upon aria attribute and keyboard functionality.
  • Keyboard testing and other Accessibility feature tested.
  • Working in idea of creating an extension for Keyboard shortcuts for the New, Save & Close, Save & New and Close.
  • Setup Plugin for Joomla 4.1.

Week-1 Ended with Team Meeting with mentors where they provided me the structure Document .

The problem faced during this week is: I need to be more expertise over the domain of Joomla!.

Week-2 Coding Period(14th June - 20th June):
The 2nd week of the coding period is smooth where I have created the structure of the Plugin. There is an existing keyboard shortcut plugin that is made by a third party. I have checked the execution and browse through the MAC and Window keyboards functionality.

Task Performed During Week-2:

  • Added the structure of the Plugin in Github
  • Implemented several keyboard shortcuts for the users (Example: Save, New, Save & Close).
  • Discussed the keyboard shortcuts for the MAC users.
  • Improved the code style.

Week-2 Ended with Team Meeting with the mentors where they provided the feedback to work more upon the coding standard of Joomla!.

The problem faced during this week is: I have to learn more concepts of Javascript in-depth and maintained the Joomla! Coding standard.

How I Improved it: Added the function and created a list of Keyboard shortcuts.

Week-3 Coding Period(21st June - 26th June):

The 3rd Week arrived and where many major changes are there in which I have to work so this week goes busier than others. As per the last commits I was not satisfied with the coding part, so I decided to upgrade the plugin and improve it more efficiently.

Task Performed During Week-3:

  • Implemented the New plugin which can be executed from backend.
  • Updated a new branch and push all the latest commit in Github .

Week-3 is Ended with the Team Meeting with the mentors where they suggested adding some functionality in the Keyboard Shortcut Plugin.

The problem faced during this week is: I am unaware of Web-Assets of Joomla!

How I Improved it: I have read the Joomla Web Assets documentation and implemented the required things in the code.

Week-4 Coding Period(28th June - 3rd July):

The 4th week is full of thrilled as the new plugin is created under a new branch so to complete it with a good impression, I have to check all the required features which will give the best results.

Task Performed During Week-4:

  • Added switch for the special keys like alt, ctrl, shift, etc.
  • The idea of modal pop up is hitted which I added for the keyboard shortcut combination.
  • Added key capture combination in modal.
  • Added Restore which will restore all the defaults key combination in Plugin.

Week-4 is Ended with the Team Meeting with the mentors and get their feedback for the implementation.

The Problem faced during this week is: I have faced a problem while adding the modal window for the buttons.

How I Improved it: The mentors provided me the existing Joomla! the modal window I have implemented the same for Keyboard shortcut Plugin as well.

Overall the Joomla! community is more what I expect with all the awesome people guiding me and working along, I'm learning and Improving myself everyday with Joomla!