Test your template and framework before upgrading to Joomla 3.8

Test Your Template and Framework Before Upgrading to Joomla 3.8

Joomla 3.8 was released a few days ago and offers a number of improvements, but it is primarily a release to give extension developers tools that they need to prepare for some changes in PHP. It has a couple of security fixes, but they probably do not apply to the way many webmasters have configured their sites. You need to move to 3.8, but you do not need to move today.

Moving three sites from 3.7.5 to 3.8 was uneventful, but it is clear that the changes in 3.8 will require testing for templates and the frameworks upon which they depend. All of my sites upgraded without issue, but I had to update one template’s framework and another template suddenly started working properly in one area. My experience for upgrading the three sites and my recommendations for migration follow.

Recommendations for Upgrading to Joomla 3.8

  • More than previous releases, you need to do some research and testing for templates and their underlying frameworks before upgrading a production site. Two of my three sites had recent upgrades to their underlying framework, and the third site is Protostar-based which probably got upgrades as part of Joomla 3.8.
  • Do not put testing for this upgrade off indefinitely. There are changes to the router that generates URLs and changes to prepare for upcoming PHP encryption support changes. Some extensions and templates will break in the future, and you probably want to learn about problems now rather than at a point when you absolutely need to upgrade immediately for security patch reasons.
  • Read about this release. The router/URL generator and encryption changes will require some planning. The compatibility mode for the router works just like it always has but you will probably want to change to the new mode in the future, but this will require planning.
  • If your ISP offers PHP 7.2, do not upgrade to 7.2 at this time. Akeeba Backup and Akeeba Admin Tools only support PHP 7.1, and they do not work on 7.2. I tried. That said, PHP 7.2 appears to offer signficant performance improvements over 7.1, so I plan to move as soon as Akeeba supports 7.2.

Upgrading ProtoStar-based Site

My Protostar site upgraded with no changes in behavior or problems.

Upgrading Rocket Theme Afterburner2 Site

My RocketTheme written Afterburner2 template site got an upgrade to the Gantry framework upgrade a couple of weeks ago, but did not change behavior at that time. When I upgraded to Joomla 3.8, the most recent article that was supposed to show up above a static page started working correctly for the first time ever. It always worked for https://hillcresttm.org/home but this is the first time that it started working properly for https://hillcresttm.org/.

For me, I always considered the previous behavior broken, but any change in behavior is something that means you need to test.

Upgrading a Shape5 Forte Site

My Shape5 written Forte template site upgraded with no error messages, but menus did not appear on when displayed in a desktop browser. Menus worked fine in mobile browsers, just not desktop browsers. An examination of the template showed an available upgrade to the Vertex framework upon which Forte is based. Upgrading from Vertex 4.1 to 4.2 fixed the menu display problem.

Figure 1. Check the Vertex framework software level in Shape5 templates.
Figure 1. Check the Vertex framework software level in Shape5 templates

Alternative Routers–sh404SEF

The old Joomla router had a defect where it would generate multiple URLs with a canonical attribute, a big no-no for search engine optimization (SEO). sh404SEF and other Joomla extensions provided alternative routers that fixed this problem. As you upgrade to Joomla 3.8 and various extension developers upgrade to support the new router, you will need to test for compatibility if you have used an alternative router. In particular, I found a problem where the OSMap site-map plugin fails to generate a usable URL when set up with sh404SEF as the router, but works fine with the Joomla router. The old non-search engine friendly (SEF) URLs that I have registered with Google still work fine.

If you use sh404SEF and have problems with a particular component, you can try using other routers for that component by specifying the router for that component within sh404SEF, as shown in Figure 2, the dialog for sh404SEF->Configuration->By Component.

Figure 2. Choosing the sh404SEF (default) or Joomla router when sh404SEF is installed.
Figure 2. Choosing the sh404SEF (default) or Joomla router when sh404SEF is installed.

Other New Features to Enable

The default session handler uses the database for your Joomla site, but the PHP handler can be noticeably faster. To enable it, go to Global Configuration and change the settings as shown in Figure 2.

Figure 3. Switch to the PHP session handler for better performance.
Figure 3. Switch to the PHP session handler for better performance


Joomla 3.8 is an important upgrade, but it is not an urgent upgrade. You should spend some time testing your template before upgrading your production site.