SpeechMiner 8.5.0.1 to 8.5.2 Upgrade Procedure
This document explains how to upgrade SpeechMiner from version 8.5.0.1 to version 8.5.2.
Pre-upgrade Requirements
- Request the most recent release of the 8.5 software from your Genesys representative.
- Request the SpeechMiner license from Genesys Licensing.
- Verify that the following are installed:
- 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 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.
- 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 SpeechMiner. 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 minumum required storage for the upgrade should be twice the size of the production database .mdf file. |
Perform Pre-upgrade Tests | Since upgrading SpeechMiner can take several hours it is important to avoid delays. For this reason, it is recommended to test SMUpgrade before you begin the upgrade procedure. To test SMUpgrade, perform one of the following:
|
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. |
Purging Old Data | Most systems have a data retention policy in place. Data (for example, audio,exploration data, etc.) that is older than the specified period of time is automatically deleted. If you do not have a data retention policy in place, it is recommended to determine what data should be saved and what can be discarded, since deleting the data before the upgrade will reduce both the time it takes to run the upgrade process and the storage-space requirements. |
Compressed Audio Format | If your previous system stored a compressed format different from an MP3 format you should perform one of the following to listen to audio interactions from your previous system:
|
Rollback Plan
To ensure that you can revert back to SpeechMiner 8.5, keep the 8.5 DB active on the server, rather than just keeping a backup file.
Do not delete the 8.5 data folders (index, grammars, etc.). Instead, configure the 8.5 system with new data folders. Create the following new folders to ensure that you will not lose 8.5 data:
- Create the following empty folders:
- Input
- Interaction Receiver Input
- Filtered
- Index (this folder will be populated during the upgrade procedure).
- Copy the content of the following existing folders to new folders with the same name:
- Store
- Grammar
- Backup
For detailed information about the folders you should create, refer to Required Folders
Since the 8.5 DB and data folders are saved and available, back-out steps are not required if problems arise with the upgrade process before you uninstall 8.5. The 8.5 system should still be configured and functional.
After you uninstall SpeechMiner 8.5 and install SpeechMiner 8.5.2, the only way to revert back to 8.5 is to install 8.5 again and update the config files using SMConfig. However, since the DB and data folders would not have been deleted, they should be available and ready to use without changing the system configuration.
Upgrade Procedure
The following table lists the approximate times required to complete the upgrade steps:
Step | Time |
---|---|
Stop the system (step 1) | 15 minutes |
Back up the database (step 2) | 120 minutes |
Create target database (step 3) | 30 minutes |
Run SMUpgrade (steps 6 to 13) | 10 to 20 hours |
Configure and start the system (steps 14 to end) | 60 minutes |
- Using SMConfig->Services->Stop Services, stop the 8.5 system.
- Create a copy of the source DB and upgrade it to the latest build:
The source DB must be in build 8.5.7104. Refer to the versionTbl table to determine the correct version.
If you have a build that is later than 8.5.7104, contact Genesys Customer Care.
If the source DB is not the latest build and you do not want to update it to the latest build, create a copy of the source DB and update the copy to the latest build.
ImportantThese steps are necessary because the 8.5 DB schema needs to be updated to the latest schema in order for the rest of the upgrade process to succeed.Use the copy of the source DB as the baseline for the 8.5.2 upgrade.
- Back up the 8.5 index folder to a backup folder (see Configuring SpeechMiner—Index).
- Create a copy of the source DB (back up the DB and then restore it in another location).
- Configure the copy of the DB with the Index backup. This will be the baseline for the upgrade.
- Implement the schema changes on the baseline DB to bring the schema into line with the latest 8.5 build version. For this step you will need assistance from Customer Care.
- Create the 8.5.2 target DB as follows:
- Manually—Refer to Installing the SpeechMiner Database > Manual tab.
- Setup Wizard— Refer to Installing the SpeechMiner Database > Setup Wizard tab.
- Manually—Refer to Installing the SpeechMiner Database > Manual tab.
- If the MS-SQL server is an Enterprise Edition, run EXEC sp_create_DB_storage_partitions on the target database.
- If your source and target databases are on different servers, make sure the servers are linked in both directions, using the stored procedures sp_addlinkedserver and sp_addlinkedsrvlogin, as needed.
- Install and run SMUpgrade (to migrate the data from the 8.5 DB to the 8.5.2 DB), as follows:
Prerequisites:
- When migrating a large database, make sure that the hard drive that hosts the target database has enough storage space.
- Verify that you are working with English US localization settings. You can not upgrade using localization settings that are not English US.
Usage
- Query the versionTbl table to ensure that your 8.5 source database is updated to the latest 8.5 schema.
- 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:
- file locations
- tables to skip (comma separated list)
- number of threads running concurrently on a large table
- bulk copy usage
If you do not set the bulk copy usage, the callAudioTbl upgrade will take up to two times longer on a large DB.
Only use the skip-tables configuration if specifically requested by Genesys Customer Care.<appSettings> <add key="ErrorLogFile" value=".\SMUpgradeLog.txt" /> <add key="LogFile" value=".\tableLog.txt" > <add key="TimingsFile" value=".\tableTimings.txt" /> <add key="SkipTables" value="callTasksTbl" /> <add key="NumThreads" value="10" /> <!-- <add key="bulkpath" value="[PATH]" /> --> </appSettings>
- Run SMUpgrade.exe.
Log in and select the appropriate 8.5 source and 8.5.2 destination databases.
The databases that appear in the old databases drop down list include ver8_5 in their file name. The databases in the new databases drop down list, include ver8_5_2 in their file name. You can also type relevant databases that are named differently.
ImportantIt is highly recommended to use the sa credentials or a user account with bulk insert permissions.
The user account must belong to the db_owner role in the target database. By default, the DBUser does not include the db_owner role. - The GUI shades the tables as follows:
- Green—The table is finished. Both the source and the target DBs contain the same number of records. This conclusively shows that either the data has been copied or there is no data to copy.
- Yellow—The number of records in the source and target DBs is not indicative of whether the data in both DBs is identical or not. It is therefore not known whether the table is finished or not.
- Red—The table is not finished. The number of records in the source and target databases are not the same, and indicating that the data has not been copied in full.
- Click Full Upgrade to run the upgrade, or Resume Last if your previous upgrade was interrupted.
- Continue with the upgrade instructions below.
Resuming the last upgrade will shorten the time to run, but might cause problems. To avoid such problems, restore the database again and run the full upgrade. You can also define tables to skip in the configuration file. Every step in the upgrade process is shown in the GUI.
You can stop the upgrade by clicking the Close button. You will be prompted to confirm your action. Note that the window closes immediately, but the process still runs for a while, as it needs to re-enable the indexes it disables when it starts running.
The time each step took is written to the TimingsFile. The location of this file is defined in the configuration file.
IN CASE OF FAILURE: Review all status, error and exception notifications in the ErrorLogFile.
- If the SpeechMiner Maintenance Job exists, and the Update time table step is included, delete the Update time table step. Make sure the last step in the job is set to quit the job upon both success and failure.
- Run SQL commands on the new DB to update audio formats:
- Optional: Uninstall 8.5 from all servers. The two versions (8.5 and 8.5.2) 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.
- Update Microsoft .NET Framework.
- Update Microsoft C++ Redistributable.
- Install the 8.5.2 platform on all servers.
- Install 8.5.2 Web on the Web server.
- Install 8.5.2 SMART on users' desktops, as required.
- Deploy SQLCLR on the DB server.
- Update the package folders with the 8.5.2 .gram files. The .gram files are located in the <Installation Folder>/Support/Grammars.
Alternatively, if you have not made changes to any file in these folders, you can delete their content completely. SMConfig will copy the grammar files to <Installation folder>/Support/Grammars. - Manually copy the files in <Installation Folder>\Support\Grammars\Confidence to the Global Packages folder.
- Copy the following commands and paste them into the New Query text area:
EXEC sp_configure 'xp_cmdshell', 1 GO
- Run SMConfig.
ImportantIf your target database was restored from a backup file, you may need to "fix" an orphan dbuser. To do this, simply run EXEC sp_change_users_login 'Auto_Fix', 'dbuser'.
- 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.
- Update the SpeechMiner License with the new 8.5.2 licenses provided by Genesys Licensing.
- In the Reports panel, update the MRSLibrary.dll on the report server.
- Deploy the reports to the report server.
- In the Audio panel (when using compression):
- Change the compressed format to MP3.
- Under If compress format not available select Convert the recognition file on-the-fly to MP3.
For additional information refer to the Audio section in the Administration Guide. - Change the compressed format to MP3.
- Run the following query to convert GSM files to MP3:
Replace WAV_GSM610 with your current audio format (see AudioFormatsTbl).
declare @formatName varchar(40)
set @formatName='WAV_GSM610'
declare @formatId int
select @formatId=audioFormatId from audioFormatsTbl where audioFormatName = @formatName
declare @conversionType int
declare @conversionDesc varchar(100)
select @conversionType=audioConversionTypeId,@conversionDesc=Description from audioConversionTypesTbl where fromFormat=@formatId and toFormat=3
insert into audioConversionGroupsTbl values(6,@conversionType,3,'PLAYER - ' + @conversionDesc)
- 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.
- Using SMConfig, start the UPlatform services on all the servers.
- Update the Stored Procedures by copying any existing custom Stored Procedures from the 8.5 DB to the 8.5.2 DB.
It is not necessary to copy Stored Procedures that are used by gauges, and are in the GaugeWidgetProcedures table, because they are copied automatically. - Open the SpeechMiner web-based interface and test the functionality.
- Update the Database Jobs:
- All database jobs that point to the 8.5 DB should be changed to point to the new 8.5.2 DB. Examples of DB jobs that might need to be changed:
- DB maintenance job
- sp_agentFilterCleanByDays
- sp_updateUntilYesterdayMaxChannels
- All database jobs that point to the 8.5 DB should be changed to point to the new 8.5.2 DB. Examples of DB jobs that might need to be changed:
- In the SpeechMiner web-based interface, manually reschedule 8.5 reports that should continue to run on a scheduled basis.
- If one or more of your users changed their default SpeechMiner homepage in the previous version, update the url format to the selected page in the new version.
insert into audioFormatsTbl values(3,'MP3',1,'mp3',44100)
declare @pcm2mp3 int
declare @mp32pcm int
declare @mp32mp3 int
insert into audioConversionTypesTbl values (1,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'WAV_PCM to MP3')
select @pcm2mp3=@@IDENTITY
insert into audioConversionTypesTbl values (2,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'VOX to MP3')
insert into audioConversionTypesTbl values (3,3,4,null,null,8000,'MP3 to MP3')
set @mp32mp3=@@IDENTITY
insert into audioConversionTypesTbl values (4,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'WAV_ADPCM to MP3')
insert into audioConversionTypesTbl values (5,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'WAV_TRUESPEECH to MP3')
insert into audioConversionTypesTbl values (6,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'WAV_GSM610 to MP3')
insert into audioConversionTypesTbl values (8,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'WAV_MULAW to MP3')
insert into audioConversionTypesTbl values (9,3,1,'ffmpeg.exe','-i {0} -f mp3 {1}',8000,'WAV_ALAW to MP3')
insert into audioConversionTypesTbl values (3,1,1,'ffmpeg.exe','-i {0} {1}',8000,'MP3 to WAV_PCM')
select @mp32pcm=@@IDENTITY
update audioConversionGroupsTbl set audioConversionTypeID=@mp32pcm where audioConversionTypeID in (select audioConversionTypeId from audioConversionTypesTbl where fromFormat=6 and toFormat=1)
update audioConversionGroupsTbl set audioConversionTypeID=@pcm2mp3 where audioConversionTypeID in (select audioConversionTypeId from audioConversionTypesTbl where fromFormat=1 and toFormat=6)
update audioConversionGroupsTbl set audioConversionTypeID=@mp32mp3 where audioConversionTypeID in (select audioConversionTypeId from audioConversionTypesTbl where fromFormat=6 and toFormat=6)
update audioConversionGroupsTbl set description=replace(description,'WAV_GSM610','MP3')
update audioFormatsTbl set uplatformSupported=0 where audioFormatId not in (0,1,3,7)
delete audioConversionGroupsTbl where audioConversionTypeID in (select audioConversionTypeId from audioConversionTypesTbl where toFormat not in (select audioFormatId from audioFormatsTbl where uplatformSupported=1))
delete audioConversionTypesTbl where toFormat not in (select audioFormatId from audioFormatsTbl where uplatformSupported=1)
update siteAudioFormatsTbl set audioFormatId=3 where audioFormatId=6
update audioFormatsTbl set uplatformSupported=1