Documentation forService Desk

Phase 4: Build your service desk from scratch or migrate existing data

On this page

Introduction

With planning complete, it’s time to execute your migration. Follow your migration plan to ensure minimal disruption. Leverage SolarWinds support and documentation to guide the process, test key functionalities, and validate data integrity before going live.

This page describes the tasks for migrating your existing data from Web Help Desk. Before you begin migration tasks, be sure you have completed the first three phases in the process:

After completing Phases 1-3, you decided whether on the best transition approach for your organization.

See the PDF version of this Migration Guide.

Build from scratch tasks

You've already assessed your organization's needs, planned for the transition to Service Desk, and completed the preparation process.

  1. It's time to Begin initial setup by building the foundational building blocks of your service desk.

  2. Set up and design your service portal. The service portal is for the customers of the services your service desk provides. See Service Portal overview.

  3. Review the contents of the Administrator Setup Guide and set up the features you identified in the assessment, planning, and preparation processes.

  4. When setting up your Service Desk from scratch, it is still possible to migrate over some data using CSV imports. See CSV file imports, updates, and exports.

Migrate existing data from Web Help Desk

Migration prerequisites

  1. Back up your WHD database. Instructions are available on the Prepare your Web Help Desk database page under Back up the PostreSQL database.

  2. Restore the backup on a WHD-equivalent production/test server. Be aware that the migration utility:

    • Is not compatible with legacy Web Help Desk. It supports Web Help Desk 12.7.7 and later versions.

    • Is not compatible with legacy MSSQL Server 2008. Your database backup needs to be restored on MSSQL Server 2012+.

    • Is not compatible with legacy PostgreSql 9. Your database backup needs to be restored on PostgreSql 13.

  3. Ensure:

    • Your Service Desk account is on the Advanced or Premier plan.

    • You have access to your Service Desk account with Account Owner privileges.

    • You have access to WHD Database using the same login as the one configured in the WHD application.

    • You have collected the following information about your instance of WHD Database: database name, username, password, IP address, and port number. You will need the information during the configuration process.

  4. Install Microsoft-JDK 17 on the production and test server if it is not already installed. Use the link below to download and install Microsoft-JDK 17.

    • For Ubuntu/Debian

      sudo apt update
      sudo apt install openjdk-17-jdk
    • For CentOS/RHEL

      sudo yum install java-17-openjdk
    • For Fedora

      sudo dnf install java-17-openjdk
  5. Verify OpenJDK 17 is correctly installed by running:

    java -version
  6. Set up JAVA environment variables.

Migration steps

Migration Step 1: Download and install the WHD migration tool

  1. Contact your Service Desk sales rep or account rep for the most up-to-date link to the Migration Tool.

  2. Download the whd-migration-swsd.zip file and extract it to a WHD-equivalent production/test server. The file contains:

    • Data folder
    • Resources folder
    • whd-migration-swsd-0.0.1-SNAPSHOT.jar
    • application.properties
    • window_migration.bat

Migration Step 2: Configure the WHD Database

Configuration settings

  1. Copy the .whd.properties file from the <webhelpdesk>/conf directory and paste it into the migration utility folder where the utility jar file is located, usually in WebHelpDesk/conf.

    If whd.properties is not available, configure the database details in the application.properties file.

  2. Open the application.properties file in a text editor and configure the details for the three types of connections below:

    PostgreSQL properties

    spring.datasource.url=jdbc:postgresql://IP_Address:Port/database_name

    spring.datasource.username=username

    spring.datasource.password=password

    spring.datasource.driver-class-name=org.postgresql.Driver

    spring.jpa.hibernate.ddl-auto=update

    spring.jpa.show-sql=false

    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

    MSSQL properties

    spring.datasource.url=jdbc:sqlserver://IP_Address:Port;databaseName= WHD_DATABASE;encrypt=true;trustServerCertificate=true

    spring.datasource.username=username

    spring.datasource.password=password

    spring.jpa.hibernate.ddl-auto=update

    spring.jpa.show-sql=false

    spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect

    MySQL properties

    spring.datasource.url=jdbc:mysql://IP_ADDRESS:PORT/DATABASE_NAME

    spring.datasource.username=USERNAME

    spring.datasource.password=PASSWORD

    spring.jpa.hibernate.ddl-auto=update

    spring.jpa.show-sql=false

    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Configuration settings to migrate data for specific time ranges

For customers who have not made the final decision to move to Service Desk, SolarWinds recommends that you migrate only one month's data from WHD while you make that decision. You can later migrate the rest of your data.
  • If you want to migrate data for the last 3-6 months or the last half year, set the fromDate ticket filter in the application.properties file.

    Default fromDate value: 01-Jan-2001

    #ticket filter date format(dd-MMM-yyyy)

    jobticket.fromdate.filter=01-Jan-2001

  • If you want to migrate data up to a specific date, set the toDate ticket filter in application.properties.

    Default toDate value: CURRENT_TIMESTAMP

    #ticket filter to date format(dd-MMM-yyyy), Default: CURRENT_TIMESTAMP

    jobticket.todate.filter=01-Jan-2001

  • If your Web Help Desk version is 12.8.3 or later, update the due_date flag to true

    Default: false

    jobticket.duedate.flag=true

Miscellaneous configuration settings

Except for Other Assets without an IP address, all assets are chargeable in the Service Desk. If you don't want charged assets, be sure to configure their flag as false per bullet number 2 below.
  1. For Linux OS only: If you are running migration utility in Linux OS, set the popup flag to True and the Service Desk account URL and JSON web token:

    #Default: false
    swsd.showpopup.flag=true
    swsd.account.url=<SERVICE_DESK_ACCOUNT_URL>
    swsd.json-web-token=<JSON_WEB_TOKEN>

  2. If the category flag is set to True, the utility tool will move all assets based on their categorization and whether it is chargeable. If it is False, all assets will be moved to the Other_Assets category and IP address information will be stored in the Description details.

    #Default: true
    asset.categoryFlag=false

  3. If the AssetName flag is set to false, the utility will add Asset: as a prefix to the asset name, resulting in the asset name Asset: +AssetNumber. If the AssetName flag is set to true, the asset name will be only AssetNumber.

    #Default: false
    asset.assetname=false

  4. Create/Update Ticket/Incident status and Asset status.

    Ticket and asset statuses differ between WHD and Service Desk. If the ticket/incident does not match, it will be updated based on the available/configurable status. If the asset status does not match, it will be adjusted to Operational.

    In Service Desk, navigate to Setup > Global Settings > Custom States.

    • To see the custom states related to incidents, click the Incidents tab.

    • You create a Custom State for assets by clicking + Custom State.

  5. Set up allowed domains.

    1. In Service Desk, navigate to Setup > Global Settings > Service Portal.

    2. Scroll down to Allowed Domains.

    3. Remove all domains from the text field and click Update.

  6. Disable Service desk notifications.

    1. In Service Desk, navigate to Setup > Service Desk > Notifications.

    2. Disable all notifications from the Send to column to stop alerts during migration.

  7. If the existing port is busy with another service/application, you can change the port number:

    server.port=8888

Migration Step 3: Run the utility on your deployment machine

Navigate to the migration utility folder, locate the file proper file (see below), and then double-click it to run it.

  • Windows OS: window_migration.bat

    If window_migration.bat does not work, use a command prompt to run the migration utility.
  • Linux/Mac OS: java -jar -Xms5368M -Xmx8589M whd-migration-swsd-0.0.1-SNAPSHOT.jar -spring.config.location=application.properties

Migration Step 4: Configure your Service Desk account

Instructions for Windows and Mac OS

  1. When the utility starts, the popup below displays.

  2. Click Configure Service Desk Account.

  3. In Service Desk, navigate to Setup > Account >Account Summary. You need the Account URL from that page.

  4. In the utility tool, add your account URL with https:// before the URL.

  5. When you see the message that the URL is reachable, click OK.

  6. In Service Desk, navigate to Setup > Users & Groups > Users.

    1. In the Name column, select the user account (with Administrator role) you used to set up your Service Desk account.

    2. Click Actions, and from dropdown select Generate JSON Web Token.

      Directly under the Default Landing Page field, the JSON Web Token field expands to show the new token.

    3. Click Copy.

    4. In the utility tool, paste the Web Token.

    5. When the successful connection message displays, click OK.

      The Command Prompt window will display.

  7. Familiarize yourself with the data migration options.

    Option descriptions
    1. Metadata * Migrates all metadata (Locations/Sites, Departments, Categories, Custom Fields, Tech, Clients and User Groups) from WHD to Service Desk.
    *The Metadata option is mandatory.
    2. Parent Ticket/Incidents Migrates all parent incidents data from WHD to Service Desk.
    3. Child Ticket/Incidents Migrates all child incidents data from WHD to Service Desk.
    4. Client/Tech Notes Migrates all client/tech notes data from WHD to Service Desk.
    5. Attachments Migrates all Ticket and Notes attachments data from WHD to Service Desk.
    6. Ticket/Incident Status Update Updates all migrated Ticket status from WHD to Service Desk.
    7. FAQ Migrates all FAQ data from WHD to Service Desk.
    8. FAQ Attachment Migrates all FAQ attachments data from WHD to Service Desk.
    9. Vendors Migrates all Vendors data from WHD to Service Desk.
    10. Purchase Order Migrates all Purchase Order data from WHD to Service Desk.
    11. Purchase Order Attachment Migrates all Purchase Order attachment data from WHD to Service Desk.
    12. Assets Migrates all Assets data from WHD to Service Desk.
    13. Assets Attachment Migrates all Assets attachment data from WHD to Service Desk.
    The options below are not required for your first data migration.
    14. Delete Mapping Records

    Deletes all mapping records from WHD database newly created tables.

    Use this option if you have cleared the Service Desk data and want to perform the migration activity again with the same database.

    15. Delete Service Desk Data

    Deletes all Service Desk data based on your Input. You can pick and choose what specific data to delete.

    0. Exit Stops the migration utility.
  8. Migrate data using the steps in a-d below.

    As you migrate data, monitor progress on Console.

    1. Use Option 1. Metadata * to start the metadata migration process.

      All metadata is migrated from WHD to Service Desk. Imported metadata will include location, departments, categories, custom fields, users (tech and client), and User Groups.

      1. Check the progress of the metadata migration on console and see if you see any exceptional failure.

      2. If you see any failed site/department/category/user/custom field, create it manually in Service Desk and be sure to use the same name when you create it.

      3. Reconcile all the migrated metadata between WHD and Service Desk.

      4. If all looks good, move on to migrating WHD tickets.

    2. Use Options 2-6 to start the ticket migration process.

      This step lifts and shifts the ticket, comments, and attachments

    3. Use Options 7-8 to start the FAQ migration process.

      This step lifts and shifts the FAQ and FAQ attachment.

    4. Use Options 9-13 to start the Assets migration process

      This step lifts and shifts the Vendors, Purchase Orders, Assets, and Assets Attachments.

If at any point during the data migration process you receive a PKIX certificate error message, refer to Migration Step 5: .

Migration Step 5: Additional server configuration step for PKIX path certificate error during data migration

Complete this step only if you began Migration Step 2: Configure the WHD Database and received a PKIX certificate error during the migration process.

  1. Login to Service Desk and from any Service Desk window, right-click and then select Inspect.

  2. Select option Security > Show/view certificate > Details > Export.

  3. Save the certificate.

  4. Import the example.cer file into cacerts in the command line (may require you to run the command prompt as an administrator):

    keytool -import -noprompt -trustcacerts -alias samanage -file "C:/Users/Documents/samanage.com" -keystore "C:/Program Files/Microsoft/jdk-17.0.12.7-hotspot/lib/security/cacerts" storepass changeit

  5. Replace:

    C:/Program Files/Microsoft/jdk-17.0.12.7-hotspot/lib/security/cacerts with your cacerts file

    C:/Users/Documents/samanage.com with your samanage.com file.

Known issue

If you observe the "Too Many Requests" error in the logs and the migration is failing or not importing all of the data:

  1. Reduce the thread count in the application.properties file located in the migration utility folder.

    servicedesk.customfields.threadcount=4

    servicedesk.location.threadcount=4

    servicedesk.department.threadcount=4

    servicedesk.categories.threadcount=4

    servicedesk.user.threadcount=5

    servicedesk.usergroup.threadcount=4

    servicedesk.ticket.threadcount=10

    servicedesk.comment.threadcount=8

    servicedesk.ticketstatus.threadcount=4

    servicedesk.faq.threadcount=5

    servicedesk.vendor.threadcount=4

    servicedesk.purchaseorder.threadcount=5

    servicedesk.asset.threadcount=7

    servicedesk.wipe.threadcount=5

  2. After lowering the ticket status thread count to one, if the "Too Many Requests" issue persists, update the below flag to true.

    #Default: false

    servicedesk.ticketstatus.disablethreads=true

Migration Step 6: Perform a QA review of the migrated data

A quality assurance review of the data you migrated is essential to ensuring your service desk transition is smooth. Compare the data you migrated from Web Help Desk and verify its presence in Service Desk.

Migration Step 7: Perform User acceptance testing

Have a group of users test Service Desk. They should be familiar with they way your previous service desk tool worked so they can identify anything that could be an issue.

  1. Navigate to the incident index and check that previous incidents are in Service Desk.

  2. Check to see that the category/subcategory Service Desk list matches what was in Web Help Desk.

  3. Verify that any custom fields are mapped to incidents.

  4. Confirm that Service catalog items were created.

Migration Step 8: Update any changed links

Update any company information that might be used centrally. For example, where employees can access the Service Desk customer portal and where/how they can submit tickets.

Next phase

Phase 5: Launch your Service Desk