Expand the Joomla Extension Manager with Nuno Lopes

Almost 3 months and a half passed since I was accepted as a student in GSoC on Expand Extension Manager project for Joomla. Since then I learned to develop PHP code for the CMS core, and how to dive into large code bases with PhpStorm and Xdebug.

At this point, all the 5 features that were discussed in the beginning of the project for the Extensions Manager are ready, I only need to finish my mentor’s reviews and sooner they will be submitted to the 4.0-dev branch in joomla-cms GitHub.

Original Expectations and Reality

At the beginning of the project, I thought that GSoC would be only about writing code, but I was wrong. There was a lot of teamwork and collaboration.

We had meetings each Monday and there we had to discuss the features in a more detailed way, talk about the progress made in that week and the define objectives for the next week. In this way, we could be sure that we were on schedule and implementing the features according to the Joomla practice. I also had to make reports of those meetings.

Even, when a feature was already working on my computer, there was still a lot to do. After I had it ready, I always had to document and prepare a Pull Request (PR) for testing and acceptance.

Finally, I had to write a technical note for each feature to the core team, where I needed to explain what I was going to change in the CMS core, the reasons why and account for the structure of it.

Difficulties of Joomla! 4 development - Breaking New Ground

Joomla! 4 is not released and, there is no documentation yet.  In the beginning, I had to search and analyse the brand new code produced by developers of the Core Team. Something that I  have never done  before. So it was a big challenge for me.

It was a great discovery to see code from people with far more experience than me, with different points of view, solve a problem with more efficiency.

Also, in some parts of this GSoC project, I saw myself completely lost in some tiny details that I spent a lot of hours or even days without solving the problem. Luckily I had very active and responsive mentors, and they helped me a lot, without them I don’t think I could have finished the project deadlines by myself.

After the program - Life goes on!

After the program ends, I will still have one year of university left (I hope ahah), and I would like to be in contact with this amazing community and contribute to Joomla. I am very grateful with Joomla! for bringing me this fantastic experience. Not only helping in what I’ve made but also in other areas where I was able to contribute.

This year Joomla! World Conference will be held in Rome, so I’m going there and hope to meet personally my mentors and admins that helped me a lot to finish my project, and also with my colleagues of the other GSoC projects.

References - Links to the commits and technical notes

[4.0] Show changelog - GSoC Expand Extensions Manager

[4.0] Download key manager - GSoC Expand Extensions Manager

[4.0] Fix database for Extensions - GSoC Expand Extensions Manager

[4.0] Edit Update Site - GSoC Expand Extensions Manager

[4.0] Checksum extensions - GSoC Expand Extensions Manager