ImpEx:osTicketExport
From Cerberus Helpdesk Wiki
These steps will work for exporting from osTicket to Cerb4.
Contents |
Requirements
- You have an existing osTicket installation.
- You've installed a fresh copy of Cerberus Helpdesk 4.0.
- You've installed the Cerb4 ImpEx tool.
Configuring the osTicket Export
Inside the example-configs/ directory from the Cerb4-ImpEx files you'll find a osticket.cfg template:
You should copy the osticket.cfg template to a new file if you're going to be performing multiple imports.
Options that are 'commented out' will use their defaults. The default behavior is to export nothing.
- To enable an option, uncomment it by removing the leading # character on the line. Then choose the appropriate value for the option.
- To disable an option, comment it out by adding a leading # character to the front of the line.
Below are some notes on the most common configuration options.
- Line 4: outputDir - This is where your export files will be written for this source. If you're exporting from multiple sources you should give them each a unique outputDir.
- Line 5: fixMagicQuotes - If your osTicket webserver has magic_quotes_gpc enabled in php.ini then you'll want to set this option to true. If you aren't sure, you can create a new phpinfo.php file in your web-path with the following content and open it in your browser:
- Line 8: dbConnection - The server connection details to your existing osTicket database in JDBC format. Make sure the hostname, port and database name are properly set. Usually you'll only need to change the database name (which is cerb3 in the example file).
- Line 9: dbUser - Your osTicket database login.
- Line 10: dbPassword - Your osTicket database password.
- Line 13: exportTickets - Set this to true to export ticket content from osTicket.
- Line 14: exportToGroup - This is the Cerb4 group that your osTicket tickets will be imported into. This value can be set to anything and the group will be created if it doesn't already exist. The default is 'Import:osTicket', which you'll want to change if you're importing from multiple sources.
- Line 15: exportMaskPrefix - A mask prefix that will be appended to the osTicket ticketID. The default is 'OST', which will give an ID of 500 a mask of OST-000500. This allows you to still find old helpdesk content in Cerb4, even though the ticket will be assigned a new internal ID.
- Line 20: exportWorkers - Enable this option to export osTicket workers.
- Line 29: exportKb - Enable this option to export articles and categories from the osTicket premade knowledgebase.
- Line 30: exportKbRoot - This option specifies where you would like your osTicket articles to be merged with your Cerb4 knowledgebase categories. You can enter a new category name here and it will be created. You can enter the name of an existing Cerb4 top-level category and the imported articles will be merged with your existing content. It's usually a good idea to import your KB articles to a new top-level category per import source -- then you can purposefully organize your knowledgebase content using Cerb4's philosophies. You may wish to ignore this advice if you have thousands of articles to import.
Running the Export
You can start the export with the following command:
You'll be given feedback about the current progress. When the export is complete, you should have several subdirectories inside your outputDir directory.
Should you happen to run into "out of memory" errors while exporting, you can tell the Java VM to use more memory with the -Xmx argument, like so:
Importing the output into Cerb4
You need to move the subdirectories from your outputDir directory into the /cerb4/storage/import/new directory of your new Cerb4 installation. Only includes the contents of outputDir and not the top-level output directory itself. Also be sure to change the owner of the files to your webserver's user, or otherwise alter the permissions since the importer needs to delete the import files as it imports them.
The final step to begin your automatic import is to enable the Background Importing and Synchronization job in Cerb4 -> Helpdesk Setup-> Scheduler. You should set the Run Every option to something reasonable -- not too slow that it takes a week to import your data, but not so fast that you bombard your database with queries. It's difficult to provide a universal default since the right settings depends on many factors: how powerful your server is, what other services your server is providing, if you need to be considerate to other users on the machine, how much data you're importing, etc. There's no harm in beginning the import manually to find an ideal setting before leaving it unattended.
To manually run the import process, open your browser to: /cerb4/cron/cron.import?loglevel=6&reload=0
You can change the value of the &reload= parameter to a number of seconds to wait after finishing an import before starting another batch.
Dealing with import failures
Occasionally, the Cerb4 import process may reject one of your import items. These files will show up in Cerb4's /cerb4/storage/import/fail/ directory under their original export subdirectory. Once your import is finished, you can move these files into the /cerb4/storage/import/new/ directory and run the import process manually to see detailed error messages.