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.

What's New?

View the 2.1 Release Notes for the new features and improvements in this series.

Upgrading Database

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.

  1. Upload and extract the 2.1.0 zip file
  2. Manually run the below SQL script against your database:
    2.1.0_migrations.sql
  3. 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:

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.
  • 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.
  • 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.

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.