Migration notes

While we try to make migration between major versions of Akeeba Ticket System as smooth as possible this is not always possible. For reasons beyond us, the first two major versions introduced a lot of technical debt that had to be repaid over the next several years in another two major and one minor rewrite of the software, making for a problematic migration experience.

Akeeba Ticket System 1 was using Bootstrap 2 as its CSS framework. It sprang out of a proof of concept hastily put into production when the third party ticket system we were using until that point in time was discontinued without prior notice. This created a lot of technical debt that had to be repaid over the next decade.

Akeeba Ticket System 2 was using XML forms for most of its interface and was compatible with Bootstrap 2 and 3 but didn't allow you to override its output very easily. The reason for that odd choice is that at the time Joomla had decided to use our FOF framework as the core supported Rapid Application Framework. Using XML forms would be the standard way to write interfaces, each template providing their own rendering backend, making the output truly template–agnostic. By the time we had finished converting our software Joomla changed its mind and we were stuck with an inflexible output method which necessitated yet another massive rewrite. This was a massive setback.

The combined effects of ATS 1 and 2 was that the first 5 years of development left us with a component that was nowhere near what we wanted to offer and in need of successive major rewrites to bring it in line with our vision, something only tampered by available time and the uncertainty of when Joomla 4 would be released at that time.

Akeeba Ticket System 3 was written with Blade view template files and our own Akeeba FEF framework. It also moved from using jQuery to using plain vanilla JavaScript in anticipation for changes which were scheduled for Joomla 4. This was the first version that made it practical to have template overrides to customise the entirety of the component's output. At this point we were interested in striking a balance between adding features and repaying the technical debt from the first two versions of the software as we didn't know at which point in time Joomla 4 would be released.

Akeeba Ticket System 4 was developed when the timeline for Joomla 4's release started becoming more clear. Our goal was to provide a version of ATS which would bridge Joomla 3 and 4 before embarking on a full rewrite which would do away with the remainder of the technical debt incurred in the first two major versions. We upgraded the backend (FOF) and frontend (FEF) frameworks and further reworked our JavaScript to increase performance and remove all traces of inline scripts. Template overrides were mostly but not fully compatible with ATS 3. You mainly had to change FOF3 with FOF4 in them to make them compatible.

With Akeeba Ticket System 5 we stopped using our own frameworks, instead using the core Joomla backend framework (Joomla core MVC) and Joomla's standard frontend framework (Bootstrap 5). This was not possible before; Joomla's core MVC in Joomla 4 is a MAJOR update to what Joomla 1.6 to 3.10 inclusive offered, making it possible to use it for complex extensions like ours. We also further refined our JavaScript to make it even more lightweight and reduce the number and difficulty of media overrides should you choose to use a different frontend framework.

The only downside is that ATS 5 being the final major rewrite to realise our original vision for ATS it needs more migration work on your part than its predecessors. The upside is that barring any massive, unforeseen changes in Joomla itself we do not anticipate another major rewrite — frankly, we are tired of having to do that. We expect that future versions in the 5.x version range and beyond will be iterative improvements, making it easier for all of you to keep up and for us to improve on the component without the distraction a full blown rewrite.

Migration from Akeeba Ticket System 2.x or 3.x to 5.x

If you have an old Joomla 3 site you may have to do a multi–step migration to Joomla 4 and Akeeba Ticket System 5.

First, make sure that you have installed the latest Akeeba Ticket System version for your Joomla and PHP version per our Compatibility page.

Upgrade to the latest Joomla 3 version and PHP version supported by the Akeeba Ticket System version you installed.

Repeat these last two steps until you have the latest Joomla 3.10 version. You should also have the latest Akeeba Ticket System 4 version.

Upgrade your site to Joomla 4.

Follow the migration instructions from Akeeba Ticket System 4.x to 5.x.