Installing ThingWorx Apps > Upgrading ThingWorx Apps > Upgrading from ThingWorx Apps 8.3 to 8.5.0
Upgrading from ThingWorx Apps 8.3 to 8.5.0
If you are upgrading from a ThingWorx Apps system earlier than release 8.3, you must first upgrade to ThingWorx Apps 8.3, before upgrading to ThingWorx Apps 8.5.0
To upgrade from ThingWorx Apps 8.3 to ThingWorx Apps 8.5.0, complete the steps in the following sections:
* 
Due to data model changes in ThingWorx Apps 8.5, existing status and KPI historical information from the source system is lost after the upgrade.
Before Beginning the Upgrade Process
Before you begin upgrading, review the following information:
ThingWorx Apps Product Requirements.
ThingWorx 8.5 system requirements. For more information, see the 8.5 System Requirements in the ThingWorx Help Center.
Upgrading to ThingWorx 8.5, available from Reference Documents. For Product, select ThingWorx Platform.
* 
If you are upgrading from a ThingWorx Apps 8.3 system where you have defined custom subtypes or custom equipment relationships, export the launch point configuration thing (PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion]) from your source system before upgrading to ThingWorx Apps 8.5.0
After upgrading:
Custom subtypes from your ThingWorx Apps 8.3 system need to be manually redefined as custom equipment types in ThingWorx Apps 8.5.0Refer to the exported XML for the custom subtype settings as you configure your custom equipment types. The subtype-related tables in the launch point configuration thing from previous releases are not visible after upgrading.
Custom equipment relationships from ThingWorx Apps 8.3 need to be manually redefined in ThingWorx Apps 8.5.0Refer to the exported XML for the equipment relationship settings as you configure your custom equipment types and equipment relationship definitions.
Before Upgrading ThingWorx
Complete the following steps before upgrading ThingWorx to 8.5.0
1. Ensure that all equipment is part of the equipment structure before upgrading. In ThingWorx Apps, on the Equipment tab of Configuration and Setup, all equipment (assets, lines, or custom subtypes) must be included in the equipment structure as a child of a site or of some other piece of equipment before upgrading. The equipment relationships that are allowed are determined by the equipment relationship rules that are defined for your system. For more information on adding related child equipment in the equipment structure, see Equipment Structure. For more information on equipment relationship rules in ThingWorx Apps 8.3, see the "Customizing Equipment Structure Relationship Rules" section of the ThingWorx Apps Setup and Configuration Guide for ThingWorx Apps 8.3.
2. Remove the Advanced Grid extension. In previous releases, the Advanced Grid widget was delivered as part of the ThingWorx Apps extension dependencies. With 8.5, the Advanced Grid widget is provided out-of-the-box with the ThingWorx platform, and is available for use in mashups in place of the older widget.
a. In ThingWorx Composer, navigate to Import/Export > Manage Extensions.
b. Find and delete the grid-advanced_ExtensionPackage.
3. If you are upgrading from a system with the PTC Servigistics Knowledge and Diagnostics (SKD) extension installed, it must be removed before upgrading to release 8.5.0. Complete the following steps in ThingWorx Composer to remove the extension.
a. Remove the PTC.SCA.SCO.SKD.DiagnosticsAwareThingShape from the Implemented Shapes on PTC.ISA95.PhysicalAssetThingTemplate, PTC.SCA.SCO.CSLMAssetThingTemplate, and any other thing templates used for assets which were made available for diagnostics.
b. Delete any entities that use SKD extension entities, for example the SKD Connector thing created when configuring the SKD extension. For more information, refer to the "PTC Servigistics Knowledge and Diagnostics Integration" section of the ThingWorx Apps Setup and Configuration Guide for ThingWorx Apps 8.3.
c. From Import/Export > Manage Extensions, find, and delete the ServiceKnowledgeAndDiagnostics-extension extension.
d. Restart the ThingWorx server.
4. In ThingWorx Composer, set the runAsUser field on the Configuration page to Administrator for each of the following scheduler things:
PTC.Factory.StatusEvaluationScheduler
PTC.Factory.MidnightDeviceDiscoveryScheduler
PTC.Factory.MidnightPurgeWeekOldHistoryScheduler
PTC.SCA.Mfg.KPIsCalculationScheduler
PTC.SCA.SCO.AssetInitializationScheduler
PTC.SCA.SCO.KEPServerExStatusCalculationScheduler
PTC.Factory.TrendManagementUtils
PTC.SCA.SCO.AnomalyStatusEvaluationScheduler
5. Ensure that all custom scheduler things are configured with a runAsUser value of some user, such as Administrator.
6. Due to the KPI data model change in 8.5.0, any subscriptions, alerts, or events that are defined on properties from PTC.SCA.SCO.KPIsThingShape must be removed before upgrading. This thing shape has been replaced in 8.5.0 by multiple KPI-related thing shapes. If you have such a subscription, alert, or event defined for any custom equipment types, either on the custom thing shape or custom thing template for the equipment type, or on an individual equipment thing of that equipment type, they must be removed. For a list of the KPI-related thing shapes in 8.5.0, see the "Thing Shapes for Specific Functionality" section of Creating Custom Thing Templates for Equipment Types. For more information, see Configuring and Customizing KPIs.
Upgrading ThingWorx Platform
Complete the following steps:
1. Upgrade your ThingWorx installation. For more information, see Upgrading to ThingWorx 8.5 in Reference Documents. For Product, select ThingWorx Platform.
2. Restart the ThingWorx server.
Upgrading ThingWorx Apps
Complete the following steps to upgrade ThingWorx Apps to 8.5.0:
1. Prepare ThingWorx Apps for upgrade:
a. Import the ThingWorx-apps-<version>-extension-upgrade-utility file. This file is included in the ThingWorx-Apps-<version>-extension-bundle along with the ThingWorx Apps extension files.
b. In ThingWorx Composer, navigate to the PTC.SCA.SCO.EquipmentUpgrade thing.
c. Under Services, execute the RemoveDeprecatedShapes service. The service has completed successfully when "No results" displays in the service output pane.
2. Complete the steps in Importing the ThingWorx Apps Extension to ensure that the ThingWorx Remote Access Extension 1.1.0 is imported, and to import the ThingWorx Apps extensions. Your data and connections are automatically preserved.
3. Import any optional extensions as described in Import Optional Extensions.
4. Restart the ThingWorx server.
5. Clear your browser cache.
6. Run the postupgrade utility.
a. In ThingWorx Composer, open the PTC.SCA.SCO.MigrationUtility thing.
b. Under Services, execute the PostUpgradeUtil8_3_XX_To_8_5_XX service. A success message displays in the output pane when the service completes successfully.
* 
One of the services that this utility runs reinitializes the TagsToExport configuration table on the PTC.Factory.Administration.ImportExportUtils thing. Any custom or additional tags that you added to the TagsToExport configuration table are lost when the table reinitializes.
c. If any of the component services of the PostUpgradeUtil8_3_XX_To_8_5_XX service fail, then the output lists the failed service and the entity on which it resides. See the script log for more information. Resolve the issue, and then rerun the failed service.
7. Run the status expression upgrade service.
a. In ThingWorx Composer, open the PTC.SCA.SCO.AppHome.ApplicationInitialization thing.
b. Under Services, execute the UpgradeStatusExpressions service. The service has completed successfully when "No results" displays in the service output pane.
8. Complete the post import database configuration steps as described in Post Import Database Configurations.
9. Update the script timeout setting as described in Update the Script Timeout Setting.
10. If you customized your ThingWorx Apps, refer to Upgrade and Customizations to address any impact to your customizations resulting from the upgrade.
11. If you upgraded from a ThingWorx Apps 8.3 system with custom subtypes, manually redefine them as custom equipment types with any relationships necessary for your equipment structures. For more information, see Creating Custom Equipment Types and Structures.
12. If you upgraded from a ThingWorx Apps 8.3 system with custom equipment relationships defined on the launch point configuration thing, manually redefine them in an equipment relationship data table. Configure that data table so it is used for the default context. For more information, see Defining Equipment Relationships.
13. Complete the following steps to repair remote property bindings to KEPServerEX.
a. In ThingWorx Composer, open the PTC.SCA.SCO.RepairUtility thing.
b. Under Services, execute the RepairKEPServerEXRemoteBinding service. The service has completed successfully when "No results" displays in the service output pane.
14. Complete the following steps for each of these entities: RemoteThingWithFileTransfer, RemoteThingWithTunnels, RemoteThingWithTunnelsAndFileTransfer, GenericThing, RemoteThing, Connectable.
a. In ThingWorx Composer, open the entity.
b. Under Permissions > Visibility, remove PTC.Factory.MachineVisibility from both the entity permissions and the instance permissions. Use the toggle Toggle between permissions for the entity and permissions for the entity instance. to switch between the permissions for the entity itself, and permissions for instances of the entity.
c. Under Permissions > Run Time, remove FactoryUsers from both the entity permissions and the instance permissions.
15. Disable the PTC.SCA.Mfg.KPIsCalculationScheduler. Under General Information, clear the Enabled checkbox, then click Save.
16. On all existing lines, assets, and any custom equipment types for which KPIs are calculated, define the KPI elements as instructed in Configuring KPI Calculation.
17. Grant access permissions to contexts and existing equipment. For more information, see Managing Context and Equipment Permissions.
18. Update the database tables:
For a Postgres database, run the following commands:
ALTER TABLE workdefinitionmaterialspecification ALTER COLUMN occurrencepath TYPE VARCHAR(4000);
ALTER TABLE historicaldata ALTER COLUMN value TYPE VARCHAR(4000);
For a SQL Server database, run the following commands:
ALTER TABLE <schema>.workdefinitionmaterialspecification ALTER COLUMN occurrencepath NVARCHAR(4000);
ALTER TABLE <schema>.historicaldata ALTER COLUMN value NVARCHAR(4000);
19. If you are upgrading to an 8.5 service pack release, follow the instructions in Upgrading to an 8.5 Service Pack Release.
Was this helpful?