Upgrading to 2.1 from 2.0
SupportPal 2.1 is a major update, adding multi-brands functionality and PHP 7 support, amongst many other new features and improvements. The most important change to take in to consideration when upgrading is the change of the database charset to utf8mb4, which has been detailed more below.
Estimated Upgrade Time: Less Than 1 Hour.
Before attempting an upgrade, please take a backup of both your SupportPal database and all associated SupportPal files, then verify the backup is valid (not corrupt).
What's New?
View the 2.1 Release Notes for the new features and improvements in this series.
Upgrading Database
In this version the minimum MySQL server version required to run SupportPal has been bumped up to 5.5.3. See System Requirements for further details.
The release includes improved UTF8 support at the database level, allowing us to correctly store characters such as emojis that are commonly used on social networks. Due to this change, the upgrade script may be slow so we recommend to read through the below before continuing:
System Cleanup
Database tables that contain significant text, for example the email_log
and ticket_message
tables will significant slow down the upgrade as their character encoding is converted. For this reason, we highly recommend that you purge your email log to reduce your database size. The email log can be purged by logging into the operator panel and browsing to Utilities -> System Cleanup, all emails before the selected date will be permanently removed from your database.
Manual Character Conversions
To avoid server-side timeouts breaking the upgrade process, we highly recommend that you manually run the UTF8mb4 database changes and then continue with the SupportPal in-browser upgrade process as you would normally.
- Upload and extract the 2.1.0 zip file
-
Manually run the below SQL script against your database:
2.1.0_migrations.sql - Proceed with the usual SupportPal upgrade by browsing to http://support.yourdomain.com/upgrade
Disable Server-side Timeouts
We recommend that you disable server-side timeouts within your web server, PHP and MySQL configurations for the duration of the SupportPal in-browser upgrade process.
Please ask your server administrator or hosting provider for more details on what settings are appropriate to disable for your server environment. We suggest the following PHP configuration:
max_execution_time = 0
default_socket_timeout = 36000
mysql.connect_timeout = -1
API Changes
Due to the changes to accommodate brands, several API routes have been modified with some breaking changes. The changes are detailed more below:
- Self-service
- Articles are no longer limited to a single type, the
type_id
field has been removed.
- Comments now have a
type_id
field along with article_id field, to determine which brand the comment has been posted under. - Types now have a
brand_id
field to be associated with a brand.
- Articles are no longer limited to a single type, the
-
Ticket
- Tickets have a
brand
field that is the brand ID of the ticket on POST and PUT, and can be used on GET to fetch tickets from several brands as a comma delimited string e.g."1,2"
. - Departments have a
group
field that is an array of assigned operator groups. - Ticket custom fields have a
brand
field that is an array of assigned brands.
- Tickets have a
-
User
- Users and organisations now have a
brand_id
field to determine which brand they belong to. It can be entered on POST, but not on PUT as it can be updated once set. It defaults to the default brand ID if not entered. - Operator groups now have a
department
field that is an array of assigned departments. - User custom fields have a
brand
field that is an array of assigned brands. - Organisation custom fields have been added to the API.
- Users and organisations now have a
PHP 7 Support
The 2.1 series adds support for PHP 7. If you wish to use SupportPal with PHP 7, please ensure you have installed the ionCube loaders v6 before updating SupportPal. We have two versions of the release available in our downloads area, one for PHP 5.5 and 5.6, and one for PHP 7+, so ensure you select the correct one based on your server set-up.
Other Important Changes
- Email routes with pretty URLs setting - In order to generate a functioning link, we have made use of the pretty URLs settings when generating links for emails. If your pretty URLs setting is off, index.php will be added to the URL to ensure it works. If you are able to access your installation completely without index.php, we recommend to turn on the pretty URLs option to generate better looking links.
- Merge fields changed to a Redactor plugin - We have streamlined the merge fields to be a button in the redactor toolbar in the relevant section. Clicking on the merge fields button will show a popup and clicking any field will add the text in the editor where your caret is currently positioned.