Joomla Google Summer of Code 2022

From getting afraid just by looking at the number of lines of code, and the number of sub-folders inside a folder to getting accepted for Google Summer of Code 2022, I’ve come a long way.

Hi! My name is Shubham Verma. This year, I was accepted for the Google Summer of Code and will contribute to the Web Accessibility plugin project. But, before knowing what I will be working upon, let’s see how it all started.

Needless to say, like any other newbie open source contributor, huge codebases present on Github were really daunting to me. I had no idea how someone like me with little knowledge of HTML, CSS, and JavaScript would ever be able to contribute to such huge codebases. If you are also facing the same situation, then I will be sharing 4 points that you should keep in mind if you also want to contribute.

  1. Find something which you really care about: 

The most important part is to find a project to which you would love to contribute. It takes a lot of time to understand a project's code base. And, ask yourself: Will you ever spend your time on something which you don’t care about? Finalize at least 3 projects matching your interests, and then pat yourself on back because at least you started.

  1. Ready your weapons before going to the war:

 As a software developer, programming languages are your weapons, and the codebase is your war ground. Once you finalize your projects, learn the tech stack/programming languages used in the project. Don’t worry, you don’t need to learn everything. Once you are comfortable with the basics of 50% of the languages used, you are ready to start. As in my case, I started contributing to Joomla! by solving JavaScript and CSS-related issues and learned PHP on the go.

  1. Find Issues and Communicate: 

Head over to Github, and filter the issue by the “Good first issue” label. Good first issues are the issues that are easy to solve. If you are not able to come up with a complete solution, don’t worry! Tell how you are planning to solve the issue to the other members of the organization and ask them to help you. Someone from the organization will definitely help you.

Apart from solving your first issue, communication is the next important thing. There is no doubt that communication is the key while contributing to open source projects. Communicating with other members of the organization can really help you. Every organization has a channel where they communicate. For Joomla! It is RingCentral. Ask them to add you to the channel by mailing them.

  1. Keep Learning and Keep Contributing: 

Once you solve your first issue, you will gain a lot of confidence. Now, just keep repeating step 3. Day by day you will get more familiar with the codebase of the project, and you will be able to solve complex issues as well.

Another important thing is to see how experienced developers(who are contributing to the project for a long time) are solving the issues. See their pull requests, and notice their code changes. This trick will really help you a lot. I used to do the same. In the beginning, I used to note down which part of the code changes the which part of the CMS. If you have a rough idea about the solution of an issue but you are not able to solve it, then wait till someone solves it. 

Once it is solved, notice the code changes and keep learning.

So this was all about the strategies that I followed and I would recommend you to do the same. Now let’s talk about my project,i.e., Web Accessibility Plugin.

What is Web Accessibility?

The degree to which a website can be utilized by people with impairments is referred to as its accessibility. This can include those who are blind or have low vision, those who are deaf or have hearing impairments, those who are physically or mentally challenged, and more.

Every website wants to draw in as many visitors as it can to its web pages. Whether it is an e-commerce site or a web development company if accessible site design is not prioritized attracting people with impairments can be a really challenging task. 

What does Joomla! offer for Accessibility?

In case you don’t know it already, let me tell you: Joomla! means “all together”. Therefore, Joomla! makes sure that websites built using Joomla! are accessible to the widest possible audience, regardless of ability or technology. 

Joomla! comes with an inbuilt a11y plugin that offers a large list of features such as text-to-speech, text size, space manipulation, etc. 

During my GSoC period, I will be adding several new features such as Dyslexic Font, Accessibility statement, Page structure, etc. Apart from this, I will also be solving the bugs in the a11y plugin.

I am fortunate to receive an opportunity to work on this project. This blog ends here, and in the upcoming blogs, I will be sharing my experience of working on this project.