Joomla Google Summer of Code 2019

Hi, I am Rishabh Ranjan Jha and a pre final year Computer Science UG student from India.

I am a GSoC’21 student working on the Joomla Cookie Manager project.

Welcome to my Blog post about the second coding phase of the project.

About the project

Joomla is a very popular CMS and currently it doesn’t have its own cookie manager to manage cookies, so we need to install some third-party extensions for that.

We have built a cookie manager using a component and a plugin to manage browser cookies as required by GDPR and other privacy regulations.

This project has mainly three parts in the backend and two parts in the frontend:

Backend

  • Add cookies: Admin can add cookies, according to their categories, to display it to the users.

blog2

  • Add scripts: Admin can add cookie setting scripts, according to their categories, to block/unblock according to the users’ consent.

blog2 2

  • View consents: Admin can view the cookie consents given by the users.

blog2 3

Frontend

  • Consent banner: This is the banner which is displayed to the users on their first visit. This banner includes the cookie categories along with the short description about cookies.

blog2 4

  • Settings banner: Cookie settings banner will only be displayed to the users, if they want more details about the cookies. This banner includes the cookies categories with their descriptions, along with an associated list of cookies. This banner also includes user’s consent details namely Consent, Consent ID and Consent date.

blog2 5

Second Phase work

In the second phase, we have implemented the cookie blocking/unblocking process and cookie consent informational framework to store users’ consents. And we have also added nine different positions to display the consent banner.

Currently this project is in the testing phase and I hope after some time it will get merged into the Joomla core. I am so excited for that day.

Scope of Improvements

There is a lot of scope of improvements in this project.

One is to implement the automatic cookie scanning to identify the cookies available on the website.

Second is to add something whether an image or a div with some text that will be displayed to the users before their consent in place of iframes, images, objects, etc.

My experience

This 10 weeks journey is one of the most memorable journeys for me. I have learnt so many things during this period and it also improved my programming skills. 

I am very thankful to all the people involved in this project. Without their constant support, it can’t be possible to complete the project on time. 

What’s next

Now I am very happy because I have completed the project and a little bit sad because GSoC ends. 

Sometimes it’s very difficult for me to understand the code because of my less knowledge of PHP and JavaScript. So after GSoC, I will learn some more concepts of PHP and JavaScript so that I can understand the magic done by Joomla code that is written in the libraries.

I will always be with Joomla and contribute to this wonderful community.

Thank you so much for this wonderful journey.

Project Repository: https://github.com/joomla-projects/gsoc21_cookie-manager

Weekly Reports: https://volunteers.joomla.org/teams/gsoc-21-feature-enhancement-2#reports

First Coding Phase Blog: https://community.joomla.org/~comm/gsoc-2021/gsoc-project-cookie-manager.html