Upgrade SpeechMiner from any Version to 8.5.512
This document explains how to upgrade SpeechMiner from any version to version 8.5.512.
Pre-upgrade Requirements
- Request the most recent release of the target software version from your Genesys representative.
- If your system includes text interactions, request the Text Migration Console tool from your Genesys representative.
- Request the SpeechMiner license from Genesys Licensing.
- Verify that the following are installed:
- Microsoft .NET Framework 3.5 SP1 must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
.net 3.5 Service Pack 1 contains many new features building incrementally upon .NET Framework 2.0, 3.0, 3.5, and includes cumulative servicing
updates to the .NET Framework 2.0 and .NET Framework 3.0 subcomponents. You can download the installation package at:
http://www.microsoft.com/en-us/download/details.aspx?id=22. - Microsoft .NET Framework 4.5 SP1 (4.5.1) must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
You can download the installation package at:
http://www.microsoft.com/en-us/download/details.aspx?id=40773. - Microsoft .NET Framework 4.7.2 must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
You can download the installation package at:
https://support.microsoft.com/en-us/topic/microsoft-net-framework-4-7-2-offline-installer-for-windows-05a72734-2127-a15d-50cf-daf56d5faec2. - Microsoft Visual C++ 2013 Redistributable must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
You can download the installation package at:
http://www.microsoft.com/en-us/download/details.aspx?id=40784. - Hosts on which the Indexer will be installed must have .NET Core 6.0 Runtime & Hosting version and above. Download and install the required libraries of .NET Core 6.0 Runtime & Hosting from the following location: https://dotnet.microsoft.com/en-us/download/dotnet/6.0. If the system doesn't have an Internet connection, obtain and install the Microsoft Visual C++ 2015 Redistributable (64-bit) before installing the .NET Core Windows Server Hosting bundle.
- When upgrading to a later build for the same version, SMUpgrade is not required. Contact Genesys Customer Care to verify if you need an SQL script for the specific upgrade.
Upgrade Checklist
The following checklist summarizes all the procedures required for upgrading Genesys Interaction Analytics (GIA). Make sure to complete all of the required procedures.
Item to Check | Details |
---|---|
Storage Requirements | To successfully complete the upgrade process, the data partition in the SQL server must have available disk space. The minimum required storage for the upgrade should be twice the size of the production database .mdf file. |
Check for Customization | If any customizations were implemented on your DB, make sure that they are part of the new version, or that they can be used in the new version without changes. Contact Genesys Customer Care for assistance. |
Licensing | As of 8.5.504.02 you only need one license for SpeechMiner. Before attempting an upgrade, contact the Genesys Licensing Team for assistance and an updated license. |
Rollback Plan
To ensure that you can revert back to your current SpeechMiner version, back up your current version's database and data folders (index, grammars, etc.).
For detailed information about the folders you should back up, refer to Required Folders
Since your current DB and data folders are saved and available, back-out steps are not required if problems arise with the upgrade process before you uninstall your current version. Your current system should still be configured and functional.
After you uninstall your current SpeechMiner version and install your target SpeechMiner version, the only way to revert back to your current version is to uninstall the target version, reinstall your current version, restore the database and data folders from backup, and update the config files using SMConfig.
Upgrade Procedure
- You must test SMUpgrade and backup your database before you begin the upgrade procedure. Create a backup of your database, place it on a separate system and perform all the upgrade steps to verify that the process works properly.
- Verify that you have installed Elasticsearch. For details, refer to the Install, Configure, Upgrade and Run Elasticsearch page in the SpeechMiner Administration Guide.
- Verify that your system includes a new index backup. If it does not include a new index backup, create a new index backup using SMConfig. Your index backup folder name must have the following structure: SpeechMinerBackup_YYYY_MM_DD_HH_MM (for example, SpeechMinerBackup_2020_03_12_21_13). SMupgrade follows this folder name structure when searching for the backup folder. For details, refer to the Using the SMConfig to Configure Genesys Interaction Analytics (GIA) page in the SpeechMiner Administration Guide.
- Disable Database Mirroring for the duration of the upgrade to enable the procedure to run faster.
- Using SMConfig->Services->Stop Services, stop your current system. In addition, stop the Interaction Receiver and SpeechMiner Application Pools if they exist.
The Interaction Receiver Application Pool only exists if you have recording and the SpeechMiner Application Pool only exists on web servers. - Create a backup copy of the source DB.
- Use the SpeechMiner Installer to install the Indexer.
- Install SMUpgrade tool. The Lucene To ES Migration tool will be installed as well.
The location of the Lucene to ES migration tool in the same location as the SMUpgrade tool (C:\Program Files (x86)\Genesys\Software\utopy\tools\bin\release). - Open the LuceneToESMigration.exe.config migration file and modify the following parameters:
- numberOfShards: The number of Shards used in this cluster according to the Elasticsearch environment recommendations.
- numberOfReplicas: The number of Replicas used for every Shard.
- indexerUrl: Indexer URL. For example, http://[SERVER]/indexer.
- indexUser:The same user that was used when installing the Indexer.
- indexPassword:The same password that was used when installing the Indexer.
- LuceneIndexPath: The path to the latest Lucene backup.
- connectionString: The connection string used to connect to the current SpeechMiner database.
- Double-click LuceneToESMigration.exe to run the migration tool. The migration tool will index all the interactions saved in Lucene backups in the Elasticsearch cluster. When the migration tool completes its process one of the following messages will appear.
Important
If interactions are not indexed, the specific interactions will be written to the FailedList.txt file. This file is only created if interactions fail to index. Save the path to the FailedList.txt file if it is created, since you will need this path when running SMUpgrade.
The Exit code can only be seen if you run the migration tool from the command line and type echo %errorlevel% when the tool completes the process or aborts.- Exit code 0: Success.
- Exit code 1: Low Disc Space. The Elasticsearch cluster does not have enough free space. Add additional storage space to your Elasticsearch servers or add additional Elasticsearch servers to the Elasticsearch cluster and run the migration tool again.
- Exit code 2: Indexer is Not Available.
- Exit code 3: Failed to initialize Elasticsearch Nodes Or Indices. Note: Verify that Indexer URL (http://[SERVER]/indexer) is reachable or valid.
- Exit code 4: Failed to Connect To Database. The migration tool was not able to connect to the database. Solve the connection problem and run the migration tool again.
- Exit code 5: Failed to initialize Lucene Reader.
- Exit code 6: Language is not activated. Use SMConfig to activate the language.
- Exit code 7: Exceeded the maximum number of indexing failures (configurable value).
- Exit code 8: Unknown Exception.
- Once the migration tool process is complete, run the Text Migration Console tool (remember to request this tool from your Genesys representative) if your system includes Text interactions. If your system does not include Text interactions, skip this step and continue with step 11.
Important
If you are upgrading from 8.5.0.4:
- And you already ran Text Migration in the past, you must skip the Text Migration Console tool step and go directly to step 10 (install and run SMUpgrade).
- Convert your text stored file from UTF 16 format to UTF 18 format.
- Run the Text Migration Console tool in the background, open the command line and run the following command (where <authType> equals -sql (server authentication) or -win (Windows authentication):
- Verify that the Exit code is 0 (zero). 0 indicates that text data was successfully transferred from the database to the file system. To verify the Text Migration exit code run: echo %errorlevel%
- Once the Text Migration Console tool is run successfully, stop the Uplatform service.
- Run the Text Migration Console tool again using the following command line (where <authType> equals -sql (server authentication) or -win (Windows authentication):
TextMigration <authType> <dbserver> <dbName> [<dbuser> <password>] - Once the Text Migration Console tool is complete, run the database upgrade procedure.
TextMigration <authType> <dbserver> <dbName> [<dbuser> <password>]
ImportantThe Text Migration Console tool will move the text data from your database to the Store folders. All migrated text will belong to the systems site with ID=0.ImportantIf the Text Migration Console tool was not successful you will receive an error message. Once the source of the error is solved, run the Text Migration Console tool again until it is successful and you receive 0.ImportantDo not continue with this procedure until the command that runs the Migration Console tool is successful and you receive 0. If the tool is not successful contact Genesys Customer Care for assistance.ImportantDuring the database upgrade procedure you will be required to provide the index backup folder name you used in the previous step. SMUpgrade will move all the new interactions that were indexed after the Lucene backup index was created to the IndexQ. - Install and run SMUpgrade to upgrade your database from your current version's DB to the target version's DB as follows:
- Before upgrading to 8.5.512.00, verify that members are not included in the SpeechMiner and Reports roles. If members are included in these two roles, remove them from the roles.
- Verify that you are working with English US localization settings. You can not upgrade using localization settings that are not English US.
- Install .NET 4.6.2. For additional information refer to Installing the .NET Framework.
- When upgrading a large database, make sure that the hard drive that hosts the target database has enough storage space. The minimum required storage for the Upgrade procedure should be twice the size of the production database .mdf file.
- Contact Genesys Customer Care to receive the scripts required to perform the upgrade procedure. Allow for one week to receive the scripts along with instructions about how to use them.
- If you are upgrading from 8.5.511.00 (build 85), you do not have to contact Customer Care since the scripts are included in the installation.
- When upgrading from one hotfix to another from the same release (for example, from 8.5.512.01 to 8.5.512.05), contact Genesys Customer Care.
- Ensure that the upgrade scripts provided by Genesys Customer Care are placed in the the proper directories. The contents of the schema and data folders provided should be saved in the respective directories in utopy\tools\UpgradeScripts\ (Schema and Data).
- Verify that your recovery model is either Simple or Bulk-logged. To determine which recovery model you have, right click db > properties > options > recovery model.
- Use the SpeechMiner Installer to install the SMUpgrade component. It is recommended to install and run the SMUpgrade component on the SQL server.
- Configure the following in the \utopy\tools\bin\release\SMUpgrade.exe.config file:
- Configure the LogFile location. The default LogFile location is in the same folder as the SMUpgrade.exe.config file.
- Configure the LuceneBackupFolder value. Use the same value configured for LuceneIndexPath in step #7 above.
- Configure the FailedLuceneMigrationFile value. Use the full path to the Failedlist.txt file created by the migration tool in step #8 above (if exists). If the Failedlist.txt file does not exist leave this value emtpy.
<connectionStrings> <add name="SQLServer" connectionString="server=[SERVER];uid=[USER];pwd=[PASSWORD];database=[DB NAME]" /> </connectionStrings> <appSettings> <add key="ScriptsFolder" value="..\..\UpgradeScripts" /> <add key="LogFile" value=".\SMUpgradeLog" /> <add key="ClientSettingsProvider.ServiceUri" value="" /> <add key="MasterPassword" value="" /> <add key="LuceneBackupFolder" value="" /> <add key="FailedLuceneMigrationFile " value="" /> </appSettings>
Important- It is highly recommended to use the sa credentials.
The user account must belong to the db_owner role in the target database. By default, the DBUser includes the db_owner role. - If you are encrypting audio when upgrading to 8.5.5 or later, you must set and remember the Master password. For details, see the Using the SMConfig to Configure Genesys Interaction Analytics (GIA) section in the SpeechMiner Administration Guide.
- Verify that the Script folder points to the folder you received from Genesys Customer Care. By default the Script folder is as it appears in the ScriptFolder line above.
- Verify that the user who is running SMUpgrade has permissions to edit the Scripts folder.
- Configure the LogFile location. The default LogFile location is in the same folder as the SMUpgrade.exe.config file.
- Run SMUpgrade.exe from a Command Line as an Administrator.
- When you are asked if you are sure you want to continue, answer yes.
- Verify that the database and versions specified in this step are correct.
When you are asked if you are sure you want to upgrade the database from your current version to the target version, answer yes. - At this point the Upgrade process begins. The process should complete with Return Code 0.
- All messages are written to the file that starts with the name specified in 4c, followed by a time stamp.
- If for some reason, the Upgrade process could not open in the Log file the messages will only be written in the Console.
- The Upgrade process can fail before or after the database was changed. If the process failed before the database was changed, solve the cause and run the Upgrade procedure again. If the process failed after the database was changed, the database was only partly changed and SMUpgrade will attempt to create a recovery point (that is, the point from which the Upgrade process can continue). If a recovery point is created, verify at what point the procedure failed, determine the cause and run SMUpgrade again (note: at this point you will be asked whether you want to run the SMUpgrade from the recovery point or from the beginning). If a recovery point is not created, rollback to the previous database and determine the problem before beginning the process again.
- If the Upgrade process failed during the Schema upgrade or during the data upgrade, SMUpgrade will create the remaining SQL script and save it in a file in the Script folder under the Data or Schema folders. The name of the script file will be identical to the name of the script SMUpgrade ran with an .rest.sql suffix. If you decide to run SMUpgrade from the recovery point, SMUpgrade will use this file to upgrade.
- Continue with the upgrade instructions below.
- Optional: Uninstall your current version from all servers. The two versions (your current version and the target version) cannot be running side by side at the same time. Only one version can be registered as the active SpeechMiner service on each server. The installation binaries can be left on the server.
- Install the target version platform on all servers.
- Install the target version Web on the Web server.
- Install the target version SMART on users' desktops, as required.
- If you are working with Genesys Interaction Recording (GIR), create new configuration objects:
ImportantIf you are upgrading from 8.5.505 you do not have to perform this step. Go directly to step 17.
- Use Genesys Administrator Extension to create an additional new Application Template:
- Import the following template from the SpeechMiner CD:
- Speechminer_node.apd
- Verify that the template has Genesys Generic Client in the Type field.
- Import the following template from the SpeechMiner CD:
- Create three new Application objects using the Speechminer_node Application template.
- In the Name field, enter the name of each application object.
The three new Application objects should be named as follows (where <XXX> is the same as the name set in the SMConfig's Recording panel):
- <XXX>_Platform_Node
- <XXX>_InteractionReceiver_Node
- <XXX>_Web_Node
- Create a connection for each Application object to the Server application with the similar name. For example, for Speechminer_Web_Node use the name Speechminer_Web.
- In the Name field, enter the name of each application object.
The three new Application objects should be named as follows (where <XXX> is the same as the name set in the SMConfig's Recording panel):
- Use Genesys Administrator Extension to create an additional new Application Template:
- Start SMART and perform the following:
- Right-click on each active Program icon and choose Activate program.
- Run the following SQL code in order to force apply of all the topics:
update smartTopicTbl set saveDate = dbo.time2tod(GETUTCDATE()) where version = 0 - Click the Apply button.
- In the new Apply popup window, choose Apply all.
- Click the Apply button.
- Deploy SQLCLR. Using SQL management, run the commands that are located in the C:\Program Files (x86)\Genesys\Software\Support\sqlclr.sql script in the SpeechMiner database. For details, refer to the SpeechMiner Administration Guide Installing the SpeechMiner Components > Installing the SpeechMiner Database > SQL CLR.
- Run SMConfig.
- Configure the Sites & Machines panel as necessary, and save the changes. Make sure you save this panel even if you have not made any changes.
- Configure the Services panel and save the changes. Do not start any of the services.
- Configure the Index panel and save the changes.
- In the Reports panel, update the MRSLibrary.dll on the report server.
- Deploy the reports to the report server.
- In the Recording panel (relevant only if your are working with GIR), set the Configuration Server username and password if you are not using the Genesys supplied "default" user.
- Using SMConfig, start the UPlatform services on all the servers.
- Open the SpeechMiner web-based interface and test the functionality.
- If Database Mirroring was enabled and you disabled it at the beginning of this procedure, enable Database Mirroring.