Getting extensions ready for Joomla 4 - Sascha Dube (YOOTheme Pro)
With Joomla 4 stable already released, many people are thinking about migrating their sites or starting new sites directly on Joomla 4. But, the question that arises is if all the extensions or templates are already available. To answer that question, we have been talking to the developers for several months now to find out what their update plans are. On this occasion, we talked to Sascha Dube, from YooTheme Pro, one of the major page builders we can find on the market today.
Thanks for joining us in the series, Sascha! Could you tell us a little about your products?
Thanks for having us! In 2007 YOOtheme started as a typical Joomla template club, but in the last couple of years, the template market changed a lot. About 5 years ago, we replaced our monthly templates with a new product called YOOtheme Pro. Technically, it is still delivered as a template, but it really is a complex feature-rich Joomla extension. YOOtheme Pro renders any aspect of the Joomla frontend, not just the menus and modules. It comes with a page builder which allows you to create layouts for single articles and also template the Joomla component views. These include for example the content, tags and search pages, just to name a few. Additionally, YOOtheme Pro comes with tons of different styles and page builder layouts which can be loaded from a dedicated library with just a click. Instead of monthly template releases, YOOtheme Pro regularly gets feature releases and so-called "theme package" releases which basically add more content to the style, layout and image libraries and show it in a dedicated demo website. So with YOOtheme Pro, you don't have to switch from template to template anymore, you get a future-proof one-in-all extension to power your website.
What will happen with templates or extensions now J4 Stable is released? Are they compatible or will the developers have to provide complete new versions?
As said before, we no longer provide new templates. Our old Warp 7 templates were sunset back in January, and we highly recommend switching to YOOtheme Pro. We recently updated YOOtheme Pro and made it compatible with Joomla 4. Luckily we are able to support both Joomla 3 and Joomla 4 with all their features at the same time. For example, YOOtheme Pro supports the Joomla 3 repeatable field as well as the new Joomla 4 subform field. This was possible because Joomla did a good job of introducing some of the changes in Joomla 3 which is why now there are not too many breaking changes. For example, Joomla 4 made the switch to fully use PHP namespaces. To have a version that runs both in Joomla 3 and 4, we have a class map file that allows us to use those namespaced classes in Joomla 3 as well. Also, Joomla 4 changed the way event parameters are handled, but with our abstraction layer, we were able to provide a clean implementation here as well.
What should users do when they migrate to J4? Will this migration imply a total change of their website? What they should expect from their providers?
Just make sure you are running the latest YOOtheme Pro version and you can update to Joomla 4 with just a click. Everything will work out of the box. By the way, the same applies to Widgetkit und ZOO which also can be used with both Joomla 3 and Joomla 4.
As a developer, what would you consider the best moment to start preparing products when a new major version is on the way?
Starting with the alpha phase we check if there are breaking changes that have a serious impact on our extensions. This allows us to give early feedback to the Joomla developers. For example, with Joomla 4, we reported an important issue for us on Github back in January 2018. We also carefully evaluate how much effort the implementation would be and begin the work accordingly. For Joomla 4 we started during the beta phase and gradually implemented the support of Joomla 4 features. This allowed us to easily iron out all the details in the end and have a full implementation ready right after Joomla 4 stable was released.
How do the different types of versions impact the update of templates or extensions (alpha, beta, RC)?
Like in our case, the alpha, beta and release candidate versions are very helpful to adapt extensions like YOOtheme Pro to the new major version of the CMS. They allow third-party developers to give early feedback which in the end makes the upgrade as smooth as possible for the whole Joomla community.
Joomla 3 used Bootstrap 2, Joomla 4 uses Bootstrap 5, how this update affects your products?
In YOOtheme Pro everything is built with our own front-end framework UIkit. And since YOOtheme Pro renders almost all Joomla frontend views, it almost makes no difference for us whether it is Bootstrap 2 or 5. For example, Joomla frontend editing is one of the rare cases where default Joomla template files are loaded and Bootstrap is needed. For this case, we have built a Bootstrap 5 Less UIkit adaptor. It applies the UIkit style chosen in the YOOtheme Pro style customizer to the Bootstrap CSS. This way the pages which are using Bootstrap will look similar to the rest of the site. If you have no pages which are using Bootstrap, YOOtheme Pro even has a new option to prevent Bootstrap from loading altogether.
How do you expect the launch of J4 to impact your business?
First of all, we are very glad that Joomla 4 is here and want to congratulate all Joomla volunteers and contributors who made it happen. Thank you! Personally, for us, the most exciting end-user feature is the new Subform field which makes data organization much better for our dynamic content demo websites. And from the technical aspect, it's great to see the use of PHP namespaces, and the overall architecture was improved a lot. Since all our extensions run on both Joomla 3 and 4, we hope that the latest release will give new impetus to the Joomla market in general and also will set a new pace for Joomla. One thing we would love to see is smaller, more frequent major releases.