Page tree
Skip to end of metadata
Go to start of metadata

Minimum version 

Minimum version

Icon

It is not possible to upgrade to version 4 from any version older than 3.60.00. The import script will abort if you attempt to upgrade from a version older than 3.60.00!

Is Kayako 4 currently suitable for your organization?

There are some things in Kayako 4 that are still in development. Kayako 4 is not yet at feature parity with Kayako 3 - there are some things that are yet to be implemented. Please read this document before upgrading: Information for upgrading Kayako 3 users.

Icon

There is no downgrade path (back to Kayako 3) once you have upgraded to Kayako 4. We advise all customers thoroughly test their new Kayako 4 helpdesk before making the final switchover.

Take your help desk offline

To ensure that all current data is imported, you must first take your help desk offline. This is easily done by renaming your Kayako directory and replacing it with a directory containing a single index.html file. This file should have a notice in it explaining to your customers that you're currently upgrading your help desk and that it will be back shortly.

This also prevents any incoming email sent to your email queue(s) from becoming tickets and interfering with the import process.

Backup, backup, backup!

The most important step in upgrading from version 3 to 4 is making very sure you have a complete and valid backup of your version 3 database and the files folder (this is where download files and possibly file attachments are stored in version 3).

Extract attachments

If your help desk contains a large amount of attachments, there are additional steps you should take when importing.

If your desk is set to save attachments to the database (this is the default setting, so unless someone changed it, this is the case), importing that data by fetching from one database and inserting into the new one can take an enormous amount of time.

We recommend that you follow these steps before importing your v3 database:

  1. Copy the code from Attachment script and save it as moveattachments.php in the cli folder of your v3 installation.
  2. Execute the script by running php /cli/moveattachments.php.

Now all of your attachments should be stored in the file system in /files directory. Once done, copy the entire contents of this directory to the new version 4 installation's files directory( __swift/files) and run the Import script afterwards.

Icon

Make sure that you copy the contents of v3 'files' directory to version 4 installation's files directory before running the Import script.

Database backup method

  • MySQL has published information about backing up databases here.

You should store this backup database on a RAID machine or optical storage (or multiple physical locations) for safe-keeping.

Icon

Make sure the number of staff you are importing from V3 to Kayako 4 should be one less than the seat count purchased for Kayako 4. For example, you have added 12 staff in V3 and purchased a 10 seat count licence for Kayako 4, so, after importing you'll get an error "Staff count exceeded. (12 > 10). Please contact Kayako Support for further assistance at https://my.kayako.com." Here, you first need to bring down the staff count in V3 to 9 and then import the database.

Install version 4

If you haven't already, install version 4

Icon

If you are installing version 4 on the same server where version 3 is installed, you need to create a new directory for version 4 installation. Do Not upload the version 4 files in the same directory where version 3 is installed. Also a new database is to be used to instal version 4.

Import the database

Once version 4 has been installed, you can begin the automatic import of your entire version 3 database. The following section describes this process.

Command-line interface

If your database is over 2 Gigabytes in size, we recommend using this method instead of the web interface, as it is more efficient.

Execute PHP script

Using the command prompt, change directory to the console directory in your version 4 installation.

Icon

If the php program isn't in your environment variables' path section, you may need to specify the full path of the php program.

Execute the following command (case-sensitive):

Provide database location and authentication details

In the following screen, you need to provide information about your version 3 database that you wish to import:

  • Database server: Where the database is located; if it's on the local machine, you can use the default (127.0.0.1). If the database is on a remote machine, make sure that there are no connectivity problems between the two machines, (e.g. no firewall or IP rules restricting access to the MySQL server).
  • Database name: The name of the database. (by default, this is 'swift').
  • User name: The name of a user that has access to the database.
  • Password: If the user requires a password, enter it here.
  • MySQL server port: The port number that MySQL is serving requests on, usually 3306.
Icon

If you don't remember the name of your database or other information, you can locate it in your version 3 installation under /config/config.php.

Once you hit enter on the last field, the import process should begin, and look something like this:

This process may take some time, so please be patient. When the import has completed, you will see a screen like this:

Auto Resume and Limiting Passes for Large Databases

The system supports Auto Resume for Console Based Imports and ability to limit number of Passes.

By default the system will attempt to resume from the last execution breakage, rather than breaking the import process midway using Ctrl+C, it is recommended that the Import script be called using /Base/Import/Version3/LIMITOFPASSES

The LIMITOFPASSES variable enforces a graceful exit and the system will resume from the last process time preventing any duplicate records from being created.

For large databases, the script should be executed multiple times to prevent proper memory garbage collection and successful import of the database.

!! IMPORTANT !! In case of any failure, it is important that the setup be executed again and the import process restarted to prevent any missing records, data duplication or installation issues.

Example

Web interface

Log in to the Administrator Control Panel

This is the same as in version 3 (e.g., mydomain.com/support/admin/).

Choose import script

Browse to Import -> Manage in the left-hand navigation pane. You should now see a list of available import scripts, one of which should be titled Kayako SupportSuite/eSupport/LiveResponse v3. Make sure this one is selected and press 'Next'.

Provide database location and authentication details

In order to import data from the version 3 database, the script will need to know the following:

  • Database server: Where the database is located; if it's on the local machine, you can use the default (127.0.0.1). If the database is on a remote machine, make sure that there are no connectivity problems between the two machines, (e.g. no firewall or IP rules restricting access to the MySQL server).
  • Database name: The name of the database. (by default, this is 'swift').
  • User name: The name of a user that has access to the database.
  • Password: If the user requires a password, enter it here.
  • MySQL server port: The port number that MySQL is serving requests on, usually 3306.
Icon

If you don't remember the name of your database or other information, you can locate it in your version 3 installation under /config/config.php.

Automatic import

Hit 'Next' after providing all the information above, and if everything goes to plan, you should see a screen like the following:

Depending on the amount of data present in your current database, this process may take several hours.

Icon

Do not interrupt the import process or attempt to use the help desk in any fashion until this process is complete! This could very easily cause your new database to end up corrupted.

Verify import

You should now ensure that your data was successfully imported by visiting your support center, staff control panel and administrator control panel.

Important things that need reviewing after import

Section/Table

Notes

Staff teams/group permissions

Permissions are not imported and need to be reconfigured.

User group permissions

Permissions are not imported and need to be reconfigured.

Template groups

Template groups are imported without the changed templates. Template group passwords are not imported due to change in functionality and encryption mode.

Templates

Templates (customized or otherwise) are not imported due to complete change in user interface.

Languages

Languages are not imported into the system and language packs need to be translated again.

LoginShare

LoginShare plugins are not imported due to change in protocol and structure, and need to be re-engineered.

Ticket attachment types

Ticket attachment types are not imported. Custom attachment types will need to be recreated.

Parser log

Parser logs are not imported.

Knowledgebase articles

All private knowledgebase articles are marked as Draft articles because the private/public property has been moved solely to categories, you will need to manually mark them as Published (after editing the category view permissions if required).

Alerts

Functionality of "Alerts" in v3 have been revamped and renamed as "Notifications" in v4. The v3 Alert rules will not be carried over to the v4. Hence, you need to create those rules again in v4.

Downloads

The independent Downloads module has been removed. The functionality has been superceded by the Knowledgebase, where articles now accept file attachments. Download files are now imported as knowledgebase articles. Additionally, the successful import of files requires moving all the store files from files/* (in Kayako 3) to __swift/files/* (to Kayako 4). Any password protection set for files will be lost as this feature is no longer supported.

SEO friendly URLs (Clean URLs)

In case of v3 hosted clients, the URL links will change to SEO friendly links (clean URLs) when upgraded to v4. For example, if the link is "http://kayako.helpserve.com/index.php?_m=tickets&_a=submit" then it will be changed to "https://my.kayako.com/Knowledgebase/Article/View/531/144/what-is-kayako-ondemand".

Comments

Unapproved comments are not imported.

Custom fields

User Group custom fields will be imported into respective User Organizations; however, the corresponding data in Custom fields will not be imported.

Ticket views

Ticket views are not imported and need to be recreated.

Ticket search engine indexing

The search index for your tickets needs to be rebuilt. This may take several hours. Run the indexer from the administrator control panel, under Tickets -> Maintenance.

Icon

Kayako LiveResponse Operator's application has been replaced by Kayako Desktop. Download Kayako Desktop here.

How are import collisions handled?

  • Staff Username: In case of a duplicate staff username, the username is suffixed with "_imp<RANDOMDATA>"
  • Record Titles: In case of a duplicate record title, the title is suffixed with " (Import)"
  • No labels