Joomla GSoC 18 with Olatunbosun Egberinde

It all started the day Puneet Kala  gathered us all for the meeting the week our names were announced as a GSoC student, and here we are today already at the end of the 3rd phase of GSoC.

It was fun for me when I came into Joomla as a student and I can boldly say it’s more fun getting to the end of it. It was awesome, challenging, stretching, and FUN so far!
All thanks to Google for this opportunity and also to Joomla for taking me in as a Student.
I can say vividly that GSoC is beyond learning to code, it's a lot more than that, from getting to know how to relate with folks at work to learning how to manage time, to having a perception of the work life and so much more. It’s just a great experience.

Update on the Project

A lot of progress has been made since my last blog post and I will like to talk about them here.
Five more commands have been added to the CLI Update from 2 more milestones.

Before I introduce the new commands I would like to start from where I stopped in the last blog post where I introduced the milestone 3.

Where we were and where we are now

Milestone 3

The milestone 3 is practically more stable now compared to the time of my last blog post and well tested as compared to when the first blog post was written. At first there was challenges in testing because of the whole update process which is quite complex and since no "update" is really out for that to be achieved, but after a lot of thought and the help of my mentors, we're finally able to test the core:update command which finds and download update when available then updates the Joomla core.

Also, progress is now shown in the CLI to see each step of the update process, we thought of this as necessary so the person running the command will see as each stage passes. Here's an example of a successful update using core:update command.

Olatunbosun 3 1

Milestone 4

The milestone 4 introduces a command that allows us to install Joomla when it's not installed.

However this command comes in 2 forms which performs the same task, the first form of the command allows installation to be done in an interactive way which asks user for input as it's running to collect inputs for everything required to set up Joomla. Running this command in this mode will require that you provide answers to some settings as you're being asked. Quite cool!

The command in this case is the core:install command, an example of the command being run in the interactive mode is shown below:

Olatunbosun 3 2

The second form of the command allows us to specify a file to load all the options from, we're bringing this method forward as we thought that the interactive mode can be quite cumbersome when you have to always type. In this form you will specify the path to a JSON or an INI file. This file will list all the options needed for a Joomla installation, you can check the CLI Update documentation here to see what can be inside the file in JSON and INI format. The command loads the file and performs the installation once the options defined in the file are validated.

Olatunbosun 3 3

Milestone 5

This milestone introduces 4 commands which allows viewing and setting of Joomla Configurations.

These are the config:set, config:get, site:up and site:down commands.

The site:up and site:down commands are useful when you want to get your website into the offline or online mode quickly.

Olatunbosun 3 4
Olatunbosun 3 5
Olatunbosun 3 6
Olatunbosun 3 7

Documentation

I would like to mention that the documentation for the CLI update is now available in the JDocs here. The documentation shows more information about usage of all commands so far that has been added from Milestone 1. The documentation will be updated as more information on the CLI update comes.

A part of the documentation highlights, using a video, how you can contribute to the CLI Update as a developer by adding more commands, the video described how this can be achieved. More details on the developer part of the documentation will be added later as needed.

The Google Summer of Code is coming to an end but there’s always more that can be done in the Joomla Project, more commands can still be added to CLI Update that’s why I have included a tutorial about this in the Documentation.

Appreciation

My appreciation goes to all my mentors first, for their patience and for their desire to improve my knowledge as they carefully did their best, I will forever be grateful for that, their consistency in answering my silly questions even in their busy schedules and personal duties.

I’m sure you’re not going to regret this opportunity and your time investments, I will get better at this and be as good as I can.

I won’t give up on my skills and will get better at it, I will make you all proud. Once again thank you. Marco Dings, Harald Leithner, Nicola Galgano, Ricardo Fusco, Tobias Zulauf, Sandra Decoux, Puneet Kala and Niels Braczek  - All of these people have in one way or the other shaped my GSoC experience. It’s an experience I will like to have over and over again.

My appreciation also goes to Joomla community and Google for giving me the opportunity to have this experience.

Conclusion

Personally the GSoC ending is the beginning of a new journey for me, I’ve learned a lot and it has given me the desire to learn more. It’s a new challenge for me.

I will encourage more students to participate in GSoC and get to work on open source projects, there is only one thing I’m sure you’ll have in the end when you do and that is a better you!

It’s amazing to see how large open source organizations like Joomla works.