Updating
Your tickets, staff, settings and attachments stay in place when you update. Back up your site and database first all the same: an update changes the database’s structure.
Two ways to update
Section titled “Two ways to update”With a package file. Install the new package over the old one under System → Install → Extensions, exactly as for a new install. Joomla recognises the component and updates it.
From the Pro Installer (Pro). In the component, go to Home → Update, enter your Activation Key, click Start, choose the version under Select Version and click Continue. The installer downloads the version, keeps a backup of the current files while it works, and puts them back if anything fails. See Activating Pro for the details. It refuses to install a new version once your subscription has ended; the version you have keeps working.
Before anything changes
Section titled “Before anything changes”Before it copies a single file, the update runs the same database test as a
new install: MySQL 8.0.13 or MariaDB 10.4 or newer, InnoDB, utf8mb4,
FULLTEXT indexes, and permission to create, alter and drop tables. If the
test fails, the update stops with a message that ends “Nothing was changed”,
and your site carries on running the version it had.
What the update does
Section titled “What the update does”After the new files are in place, the update brings the database in line with them. Every step is safe to run more than once.
- Adds what is missing. Tables and columns the new version needs are created, and rows that newer features rely on (such as new e-mail templates) are added if they are not there yet. Nothing that exists is overwritten.
- Converts older tables. Versions up to 1.2.9 created their tables as
MyISAM in 3-byte
utf8, which cannot store emoji. Those tables are converted to InnoDB withutf8mb4. On a large help desk this can take a while. A table that cannot be converted keeps working; you see a warning naming it, and the conversion is tried again at the next update. - Adds new settings. Settings the new version reads but your site does not have yet are added with their defaults. For 1.3.0 these include Run Background Tasks On Page Load (Yes) and Outgoing Mail Delivery (Send immediately). Settings you already have are left alone.
- Tidies some data.
- A customer who was also listed as a watcher on their own ticket is removed from that ticket’s watchers.
- The “priority changed” e-mail’s old default subject is replaced with “JS Support Ticket: Your ticket priority has changed”. A subject you wrote yourself is kept.
- Saved ticket list views that only showed the Created column, because of an earlier fault, go back to the default columns. This happens once.
- Keeps your translations. From 1.3.0 the component’s language strings have new names. For each translated language file on your site (not English), the update copies your existing translations to the new names, so the help desk does not fall back to English. Lines already present are never overwritten, and your old lines stay in the file.
- Reinstalls the bundled plugins and modules, so they are updated too.
When all of this has worked, the update records the new version number. You see the usual Joomla message that the update succeeded, plus any warnings.
If the update cannot finish
Section titled “If the update cannot finish”Sometimes the files are updated but the database is not, for example when the server runs out of time or disk space part way through. JS Support Ticket notices this itself: the version it recorded does not match the code.
It then finishes the job on its own:
- On an administrator page, it runs the whole database update again, at most once every two minutes. When it works you see “JS Support Ticket finished updating its database.” While another page is still doing it you see “JS Support Ticket is still finishing a database update. It continues automatically; reload this page in a few minutes.”
- On your website, it only adds missing tables and columns, so visitors never wait for a long table conversion. It tries at most once every ten minutes.
- The scheduled task, if you use Joomla’s Scheduled Tasks, runs the whole update too.
If tables are still missing after a try, the administrator shows:
JS Support Ticket could not finish updating its database. Missing tables: … Database error: … Fix the cause, usually the database user’s permission to create tables, then install the package again or use System > Maintenance: Database > Fix. Until then, the features that use these tables will not work.
The same message is recorded under System → System Errors.
-
Read the database error in the message. Most often the database user is not allowed to create tables; ask your host to allow it.
-
Install the same package again under System → Install → Extensions, or use Joomla’s System → Maintenance: Database → Fix.
-
Open any JS Support Ticket screen. The message disappears once the database is complete.
After updating
Section titled “After updating”- Check System → Settings for any new settings and decide whether you want their defaults.
- If you use Joomla’s Scheduled Tasks for the help desk’s background jobs, set Run Background Tasks On Page Load to No so the jobs do not also run while visitors load pages.