This article was written as a collaboration between Jennifer Gress and Duke Speer. It started out in a debate format, but we tended to agree too often.Check out co-author Jennifer Gress' Author profile.
We are using the terms LTS and STS instead of specific release numbers so that it can be used as a reference, no matter which future major release series of Joomla you are considering. The concepts and considerations apply beyond Joomla 2.5 (LTS as of Feb. 2014) and 3.x (STS as of Feb. 2014); they should apply just as well when 4.5 is LTS and the 5.x series is the current STS. The factors you need to weigh remain the same.
Joomla’s design philosophy is that all the changes that affect how third-party extensions work with and use Joomla's core code (the core’s API) gets locked in when the series is first released (x.0), and the tremendous effort that goes into maintaining backwards compatibility from that point forward. So, once an extension has been adapted to a new STS series, the work should be done and nothing should break the extension for the rest of the series. As a practical matter, there are so many moving parts and continual improvements, that this does not always happen perfectly, and so releases simply need to be tested in the context of your site design’s inventory of extensions before installing them into a production site.
When it comes to choosing LTS or STS for a site, site owners tend to fall into three categories.
Either they want:
- To be as futureproof as practical: They want to be on the latest available Joomla on the day of deployment and are willing to pay (with either support staff time or money) for post-deployment maintenance. A few may want the bragging rights of having the latest Joomla using the latest features, but more likely they are insuring for the future and want the longest possible support cycle available, and also want to be on the version that is actively being developed and improved since they perceive it to also be more secure. They have no idea what future minor release features they might want, but they like the idea that when one comes along in core, it's available to them without a migration. Implementation could be as simple as flipping the "published" switch.
- To set it up and forget it: They have very limited resources and usually mismatched but commensurately low expectations. They need a fixed deployment budget and insist on not paying for, or spending time on post-deployment maintenance. None of their requirements necessitate any feature added in the Joomla STS series. They understand how soon the LTS end-of-life is and keeping short term costs low is more important than avoiding a future year migration. The one-click upgrade from LTS to the next LTS for the components is not perceived to be a big deal and reinstalling another STS template with suitable template overrides is just an opportunity to freshen the look. This is a static site design that only needs security updates, so it is best built on the current LTS version so the the UI elements are never a moving target. Every one-click update can be applied by them directly without fear that they will break their layout.
- To let the experts decide: They buy into the idea that site designers are the experts, will choose the software tools that are most appropriate for their site, and will let their feature requests and designer judgment dictate the appropriate version. For this type of site owner, we go through a decision tree based on requirements. As of the date of review, it may be that some features are best implemented or can only be implemented in LTS; the STS version of an important extension is not available or needs more work. Or, that some features are best available or soon to be available in STS core, such as heightened security.
Now that we know the site owner’s risk tolerance and whether it is designer’s choice, it’s time to choose LTS or STS.
Key points to consider:
Technical Specifications for Hosting
Does the server meet the minimum specifications to run the latest Joomla STS? If not, and if there is no willingness to change hosts, you may be out of options. You’ll have to build using the LTS release which typically has older and lower technical specifications that your host’s server is more likely to meet. Sometime in the next year or so, hopefully your host will update their servers, or you will need to change hosts in order to upgrade to the next LTS. You can view Joomla’s current Technical Requirements here: https://www.joomla.org/about-joomla/technical-requirements.html
Check that all extensions you want to use with an STS release of Joomla are ready for it. (Keep in mind that your template is an extension.) Check the developers site and make sure the developers of your selected third-party extensions are testing their extensions during the testing period before each Joomla STS release instead of relying on core to not break backwards compatibility, or waiting for people to report their site is broken. Remember that choosing to use an STS release means installing each of the several releases leading up to the LTS release. As a STS series matures, though unlikely, changes may need to be installed for each third-party extension you are using (including the template and its HTML overrides).
If you build your new site in the current Joomla LTS, you may have to do a “mini-migration” to the next LTS when it is released. Joomla’s core data may be able to be updated with a “one-click update,” but this will not update extension data and simply applying the one-click update to core may make a change that breaks even a well coded extension because the one-click change in series causes a change in the available API. Most third-party extensions will need to be uninstalled and reinstalled, and their data migrated to a new format. Check each extension about the steps needed to upgrade it. You will have to budget some time and possibly subscription fees to accomplish this before your current working Joomla series site reaches End Of Life (EOL).
If you build your new site in the current Joomla STS release cycle, you will have to budget some time, money, or both to test and install all releases within the series until the LTS release is installed on your site. You may have to make some layout and CSS changes or manage bugs along the way (whether they are related to Joomla core or third-party extensions) and those will take some time as well. You should plan on taking the time to test all updates for STS releases on a test site before simply installing them on a live production site or take, test, and be prepared to restore from a full site backup, if you encounter issues.
Choosing when you begin to use an STS series will help determine how much time and effort you will have to budget. If the STS is at x.2, it is only a couple of steps away from LTS. If you start your build with x.0, you will have more steps (x.1, x.2, x.3, x.5) to get to LTS.
If you don’t want to deal with bugs or functionality that doesn’t necessarily work the first time, you might consider building in Joomla’s LTS as opposed to STS. If you don’t want to deal with a migration (albeit a mini-migration might be all it is) process, then building with Joomla’s STS might be better for you.
There is no sure answer since every site builder and every site is different. So how about a few scenarios and opinions on how we would handle the choice between LTS and STS?
Simple website using only Joomla core extensions, Akeeba Backup, JCE, and a template.
Duke: Joomla STS. Even for an initial “x.0.0” STS release, this is your opportunity to keep up with new developments, with a real site, and for designers to put an STS site in your design portfolio. Allow for a couple weeks to pass after first release, and monitor the bug reports. If the reported bugs are deal-breakers, wait for the next bug fix release; otherwise here’s your chance to get some first-hand experience with the new core software and its features. Reskinning a core template is the safe route. If the release has been out more than 30 days, the major template clubs are usually caught up and have new designs ready.
Jenn: Joomla STS. I agree, Akeeba & JCE have worked beautifully on STS for the last two STS releases, are updated quickly if a problem arises, and the rest is core. Also, the major template designers like RocketTheme update their templates quickly with new STS releases of Joomla.
Website as above plus EasyBlog, or similar more complex components like SobiPro.
Jenn: Joomla STS. EasyBlog has incredible support and are very responsive with bug fixes.
Duke: Again, we agree, Joomla STS. But I might wait until the “x.1” release of the series for a complex component. The reason is that, while stable, a “x.0” release of core is the first time that a lot of extensions are being tested to be sure they play well with each other. The first two months after the “x.0” release is when all the third party extension developers are adapting to the moved targets in core, but also to each other. This is when issues like managing which version of jQuery and similar libraries have loaded, or reaching consensus on the appropriate nested elements and Bootstrap classes to use in modules to produce HTML that the template designers can style and keep pace with.
Many designers produce templates that style major add-on components like Kunena forum, K2, JomSocial, and the major e-commerce components, and with complex components prepared for the “x.0” release, some of the output still feels a bit like the wild wild west. It takes a round of bug reports and fixes, plus a couple rounds of revisions for much of the extension dust to settle, so that the template designers have much less of a moving target and can produce a stable product.
SobiPro was a ground-up rewrite of the popular Sobi2 directory that anticipated and took advantage of some of the advances make in Joomla’s core code. Software developers that use the opportunity of a recent major release to do a white-sheet-of-paper rewrite and optimization of their software, instead of patching over patches since the Joomla 1.5 version, get my attention as having the potential to be more futureproof. It is also a sign of a sustainable business that is reinvesting into their products and thus, likely to be around when we get to Joomla 4 and 5. While I might hesitate at taking a version 1 extension into production on a time-sensitive project, I would certainly be an early-adopter to help that extension grow at the same pace as Joomla itself.
Website that is huge. Lots of content. Many users updating content constantly. E-commerce store with 1,000 sku’s and A/B split testing. Membership site with social networking component. Custom template. Cannot be broken.
Jenn: Joomla LTS with time or money budgeted and the expectation set to go to the next LTS when it is due to be released.
Why? It needs to be stable. It needs to work. It has a ton of stuff going on constantly. The template would potentially need to be updated in just a few months if we built in STS. If in LTS it can wait some amount of time to be updated and only done once. It will be a bear to migrate but it will work properly in current LTS release until that time comes which is required for their split testing and operation. Still the word “ugh!” comes to mind. That being said, if all the extensions they wanted to use were ready for the current STS, have a good history of being updated, and have excellent support, I’d go with Joomla STS as long as it was understood exactly what would need to happen moving forward.
Duke: What she said! Really!
We hope that this article helps you to ask the questions and get the answers that guide you to making a choice that works best for you and your site. Feel free to add a comment with feedback, how you choose, or a question. We’re here to help and happy to share! Jenn & Duke