Getting extensions ready for Joomla 4 - Sander Potjer
You probably know by now: Joomla 4, our next major version, is on the way. Over the past few months, many extension developers have been working hard to get their extensions ready for Joomla 4 and make the migration as smooth as possible. In previous issues of the Joomla Community Magazine, we interviewed various extension developers: small ones, big ones, famous ones and not-so-famous ones. This month we talked to Sander Potjer at PWT Extensions.
Thanks for joining us in this series, Sander! Could you tell us a little about your extensions?
Thanks for the invite! Back in 2011 - almost 10 years ago now - I developed the Joomla extension ACL Manager. At that time Joomla 1.6 was just released and included great new ACL possibilities. However, during presentations about this feature, I noticed people had difficulties understanding and overviewing the core implementation. In an attempt to explain this to people I developed ACL Manager which was a big hit from the beginning.
A few years later we developed multiple custom extensions for our clients at Perfect Web Team and we started to use and improve them in every new project. At some point, we decided to release a few of them for the public under the brand PWT Extensions. We have four extensions: PWT ACL (former ACL Manager), PWT Image for easy image handling, PWT SEO for SEO score calculations and PWT Sitemap for a quick and easy sitemap.
What will happen with your extensions when J4 is released? Will they be compatible or will you have to provide complete new versions?
First of all, we will review for each of our extensions if they are still an addition on top of the Joomla core. After all, some features could be added in Joomla 4 making the need for an extension less relevant. For example, we're still in doubt about PWT Image as the media manager improved a lot in Joomla 4.
We have always used the core functionality and tried to keep our extensions as clean as possible. Our extensions require at least Joomla 3.8 since the beginning PWT Extensions. This allowed us to use the "Joomla! 4 Compatibility Layer". So from the beginning, we have been preparing our extensions for Joomla 4. By the time Joomla 4 stable is released, we will make sure that our extensions are updated to support both Joomla 3 and Joomla 4 within one package.
What should users do with the extensions when they migrate to J4? What should they expect from their extension providers in general? And what can they expect from you?
Can you expect or even demand a Joomla 4 version of an extension that is offered for free? Not by default if you ask me. Often those extensions are developed in people’s spare time and shared with the community with "open source" in mind and provided "as it is" (without support). Hopefully, they will offer a Joomla 4 version but generally, I expect this more from paid extensions.
By paying for an extension you allow a developer to work on the extension for further improvements and compatibility with new Joomla versions. I don't think many paid extension developers provide any guarantee on that, but at least there is a bigger chance for it. In our client projects, we usually select paid extensions in favor of free ones as in general it provides a bit more continuity in the longer term.
At PWT Extensions we only offer paid extensions and are happy to provide Joomla 4 versions of our extensions to our customers. You can expect us to have Joomla 4 versions ready before the Joomla 4 stable version is released.
As a developer, would you say it is essential to start working on the update as soon as possible? Why or why not?
It depends - as always! There is some work that needs to be done if you have a huge extension in terms of codelines, not using the Joomla core (properly) and haven't made any preparations in the past years, for example around namespaces. But even then it might be a relatively easy task if you have an extension that offers integration with another system for example.
In our experience, most work needs to be done in preparing the interfaces of the extensions for Joomla 4. You can get a good indication by installing your Joomla 3 extension in Joomla 4 and see how far you can get. The looks might be bad, but if the functionality works you are already close. With the beta versions of Joomla 4 out now, it is a good moment to do this.
What impact do the different types of versions (alpha, beta, RC) have on the update of extensions?
During my first attempt to install PWT ACL in Joomla 4 back in 2019 it was working out of the box. The functionality hardly required changes. It could only use some adjustments for new ACL permissions in Joomla 4 for example. However, it was clear right then and there that the interface could use some Joomla 4 love. But since the backend interface and use of css-frameworks was still a hot topic in the community we put this on hold. We decided to wait until the first Release Candidate of Joomla 4 to prevent double (or even triple?) work.
Over the past few weeks, some interface improvements have been merged into the core (great work by Ciaran Walsh & Dimitris Grammatikogiannis!) and we do feel the moment to pick up the interface work is getting closer now. So possibly we will have a PWT ACL version for Joomla 4 soon as a start.
What do you consider the biggest challenge in getting extensions ready?
Speaking for ourselves, development isn't a challenge. We have a great team of experienced Joomla frontend and backend developers, so we fully trust we can get the extensions ready in time. The biggest challenge for us is the unpredictable timeline of Joomla 4 :-)
As a volunteer-driven project, it is hard to set a proper timeline for Joomla 4. We completely understand that, but it makes business decisions harder to make. Will we work on major new versions of our extensions for Joomla 4 only, or do we focus on getting the current ones ready for Joomla 4 first and adding smaller new features? We have had these discussions already two years ago and chose the option to get the current ones ready. Glad we did after all, otherwise we would have a new major extension version waiting for Joomla 4 for some time now.
How is your business going at the moment, and what impact do you expect J4 to have on that?
Our main business is building websites and custom web applications, which is going great. PWT Extensions are just a small part of that. We do have a great group of loyal PWT Extensions customers and keep improving our extensions based on feedback and suggestions from them and on our own experiences in client projects. Over the past two years, we have seen a slow decrease in customers. We of course do hope that Joomla 4 will gain some momentum and attract new users, so potential new customers for our extensions.
However, we need to be realistic as well and Joomla 4 is already taking some time now. We are losing customers switching to other CMS. We also saw migrations result in people reconsidering their CMS as well in the past. Especially when their favorite extensions are no longer available for new versions. We do hope the migration/upgrade to Joomla 4 will be as easy as possible for most users so we don't lose customers because of this. At least we will make sure that our extensions won't be a reason to not use Joomla 4!
Is there anything else you would like to advise our readers regarding extensions and Joomla 4?
I've performed some very complex Joomla 1.5 migrations in the past, see the Joomla Community Magazine article "Complex Joomla! 1.5 Migration With Minimal Downtime" [https://magazine.joomla.org/all-issues/march-2014/complex-joomla-15-migration-with-minimal-downtime ] from 2014 about this topic. I would like to remind you of take-away number 1 from that article: Cleanup!
Review the codebase of your Joomla 3 extension if you are a developer. Your skills have improved for sure, so I'm sure you can perform a cleanup of the current codebase. As a Joomla site builder or administrator, I suggest reviewing the extensions in use, are all of them still needed? Did they receive any updates over the past two years? If not, you might want to replace them in Joomla 3 already. Cleanup any disabled extension and extensions not in use. As a Joomla content editor: cleanup disabled articles, menu-items, modules etc... And don't forget to empty the trash!
So start with a proper cleanup on any level now, this will make the move to Joomla 4 easier!