Your iService Release Zip file includes an upgrade script for applying updates. After you configure the deploy tool, future updates will not require changes to the setup.
Always backup your iService databases before performing an upgrade.
Version Specific Upgrade Notes
Release 9.10This release requires updates to the web.config file to support new libraries.
iService Version 9.10.0093 and higher require this change in web.config. Without this change, backend crashes might occur with an assembly mismatch warning in 3rd party integrations like OpenAI. To fix, System.Text.Json needs to have assembly binding redirects changed from 8.0.0.0 to 8.0.0.4. Find these lines:
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
change to:
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.4" newVersion="8.0.0.4" />
Release 9.9There are no release specific requirements when upgrading from 9.8 to 9.9.
Release 9.8There are no release specific requirements when upgrading from 9.7 to 9.8.
Release 9.7There are no release specific requirements when upgrading from 9.6 to 9.7.
Release 9.6This release requires updates to the web.config file to support new libraries.
Add the runtime section included below to web.config after the </system.webServer> section:
<runtime>
Release 9.5When updating to v9.5, you must ensure your database is running in the proper compatibility mode.
iService 9.5 uses OPENJSON() to parse JSON bodies stored in interaction bodies, which requires the tenant database to have a compatibility level of 130 (sql 2016) or higher before the tenant can upgrade. The upgrade will fail otherwise.
For basic steps on how how to set compatibility level for database see https://learn.microsoft.com/en-us/sql/relational-databases/databases/view-or-change-the-compatibility-level-of-a-database?view=sql-server-2017
For more in depth instructions, including potential impacts, see https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level?view=sql-server-2017
Release 9.4There are no release specific requirements when upgrading from 9.3 to 9.4.
Release 9.3There are no release specific requirements when upgrading from 9.2 to 9.3.
Release 9.2There are no release specific requirements when upgrading from 9.1 to 9.2.
Release 9.1This release includes a replacement for the framework used for real-time browser updates. Prior versions used WebSync for that process but version 9.1 includes a new custom web socket system. This requires new lines to be added to your web.config file in the iService Website. The only changes to web.config are the addition of four new lines highlighted in green (nothing needs to be removed).
@@ -11,6 +11,8 @@ <system.web> <httpHandlers> <add verb="*" path="websync.ashx" type="FM.WebSync.Server.RequestHandler" /> <add verb="*" path="web.skt" type="OneToOne.Shared.iService.WebsocketHandler" /> <add verb="*" path="longpoll.skt" type="OneToOne.Shared.iService.LongPollHandler" /> <!-- CORS Support. Uncomment this block and the other block to enable. This should be left disabled unless you need inbound cross-domain browser requests, and you understand the security risks. <add verb="*" path="*.api" type="OneToOne.iService.WebApp.Site.CorsHandler" /> --> @@ -26,6 +28,8 @@ <validation validateIntegratedModeConfiguration="false" /> <handlers> <add verb="*" path="websync.ashx" type="FM.WebSync.Server.RequestHandler" preCondition="integratedMode" name="WebSync Handler" /> <add verb="*" path="web.skt" type="OneToOne.Shared.iService.WebsocketHandler" preCondition="integratedMode" name="Websocket Handler" /> <add verb="*" path="longpoll.skt" type="OneToOne.Shared.iService.LongPollHandler" preCondition="integratedMode" name="LongPoll Handler" /> <!-- CORS Support. Uncomment this block and the other block to enable. This should be left disabled unless you need inbound cross-domain browser requests, and you understand the security risks. <add verb="*" path="*.api" type="OneToOne.iService.WebApp.Site.CorsHandler" preCondition="integratedMode" name="CORS Handler" /> -->
Release 9.0There are no release specific requirements when upgrading from 8.8 to 9.0.
Release 8.8The .NET Framework versions 4.5.2, 4.6, and 4.6.1 will reach end of support on April 26, 2022. After this date, security fixes, updates, and technical support for these versions will no longer be provided.Beginning with release 8.8, the web.config file for your iService website should be updated to use .Net 4.6.2.
Look for this line in your web.config file and update to 4.6.2. However, you must first ensure your server is running the 4.6.2 version of .Net.
Change the old value: <httpRuntime maxRequestLength="16384" requestValidationMode="2.0" targetFramework="4.6.1"/>
to the new value: <httpRuntime maxRequestLength="16384" requestValidationMode="2.0" targetFramework="4.6.2"/>
Releases 8.3 through 8.7There are no release specific requirements when upgrading to 8.3 through 8.7.
Release 8.2Release 8.2 includes initial support for retrieving email using Microsoft Exchange Web Services (EWS), often called Exchange Online or hosted Exchange. This release contains a defect that removed a constraint preventing the creation of duplicate mailbox configurations in a tenant. This defect is corrected in 8.3, so when upgrading beyond 8.1 you should skip the 8.2 installer and go directly to 8.3.
If you previously installed 8.2 and are missing the constraint, you can add it back using the script below.
ALTER TABLE [dbo].[Mailboxes] ADD CONSTRAINT [U_Mailboxes_inServerinUsername] UNIQUE NONCLUSTERED ( [inServer] ASC, [inUsername] ASC )
Release 8.1The web.config file located in your website installation folder should be modified to enable modern encryption during mail processing. Without this change, iService may only process mail using older, non-secure encryption protocols. The following line should be changed from: <httpRuntime maxRequestLength="16384" requestValidationMode="2.0" />
Release 8.0
Update to the web.config file for your iService website A location Service Worker text block needs to be added inside the <configuration> tag in the web.config file. This can be placed between </system.webServer> and </configuration> tags at the end of the file:
</system.webServer> insert the section below
Check for duplicate property values In certain conditions, the auto save process may create duplicate values for properties that are set to a single value. The following constraints were added in 8.0 to prevent this at the database level.
Case properties: ALTER TABLE [InteractionsCasesProperties] ADD CONSTRAINT U_InteractionsCasesProperties_threadID_propertyID_propertyValue_valueIndex UNIQUE (threadID, propertyID, propertyValue, valueIndex); Interaction Properties: ALTER TABLE [InteractionsProperties] ADD CONSTRAINT U_InteractionsProperties_interactionID_propertyID_propertyValue_valueIndex UNIQUE (interactionID, propertyID, propertyValue, valueIndex);
You can determine if your database already has this constraint using the script below. These will return a single NULL if the constraint doesn't exist, or a single id if it does:
Case properties: SELECT OBJECT_ID('dbo.[U_InteractionsCasesProperties_threadID_propertyID_propertyValue_valueIndex]', 'UQ') Interaction properties: SELECT OBJECT_ID('dbo.[U_InteractionsProperties_interactionID_propertyID_propertyValue_valueIndex]', 'UQ')
If your v7.8 database contains interactions with this condition (multiple values for a property that is not set as multiple value), you must correct them before upgrading to v8. You can locate interactions with this issue using the scripts below.
To check duplicate case property values: SELECT propertyid,
To check duplicate interaction property values: SELECT propertyid,
The quickest way to correct this issue once you locate the IDs (using the script above) is to remove the duplicates using the Search Interactions page.
Removing a duplicate property
|
Create the Deploy Tool FoldersThe deploy tool must be run on the Windows server that is running the iService web applications. Create a folder named \deployiservice on your iService web server. Then, unzip the Release Archive and copy the contents of the Deploy Tools folder into \deployiservice.
The Release Archive
The contents of the Deploy Tools folder should be as shown below.
Contents of the Deploy Tools folder Edit the deployiservice.cfg file
The deployiservice.cfg file includes four parameters as shown below.
The configuration file
When the upgrade is run, the prior installation (website, mail popper files, and the prior setup files used during upgrade) is backed up to an ArchivedDeploys folder. The first line refers to the location where these files will be saved. Do not modify this line.
The second line references the location of the iService website. This is typically within the \inetpub folder, but may be configured differently for your installation.
The third line references the location for the mailpopper files. These should be located at the path shown here and should not be changed.
The fourth line is the name of the IIS worker pool for iService. The name of your worker pool was established during the initial installation. This value must match the name of your worker pool. |
Extract the Release zip contentsOpen and copy the entire contents of the release .zip file to the "iservicesetupfiles" sub-folder created during configuration of the tool. Generally this is something like c:\deployiservice\iservicesetupfiles.
Run the deployiservice.bat fileThe batch file for running the upgrade should have been copied to the \deployiservice folder during your configuration. It is also located in the release .zip as shown below.
*Note that this step is not necessary for subsequent upgrades.
Right click and run the new deployiservice.bat file as Administrator.
As a safety precaution. You will be reminded to backup your databases before continuing. Press Y and enter to continue.
Upgrade database via the management consoleDuring the upgrade, the management console will appear. Click on the "Update" tab to process any required database updates.
If any database updates are needed, they will be listed in red text. Click the "Perform Updates" button to apply them:
After they are applied, close the Management Console.
Complete upgradeWhen the deploy script says "Done. Press any key to continue..", the upgrade is finished and you can close the deploy script window.
|
© 2008 - 2024 One-to-One Service.com, Inc. All rights reserved.