Upgrade your ThingWorx platform and validate the upgraded system.
Before you begin to install ThingWorx 9.x, run through the prerequisites and be sure to review materials for upgrading from the version of ThingWorx you are currently on. Refer to ThingWorx System Requirements for additional information and ensure necessary equipment, hardware, and software are acquired. PDF versions for earlier versions can be located using the Reference Documents page on the PTC Support Portal.
Determine your database before performing this installation and consider your database options. If there has been a change in the database, then follow migration for upgrades. For more information on database options, see the ThingWorx Model and Data Best Practices, ThingWorx Platform 9.0 Deployment Architecture Guide, and ThingWorx Platform 9.0 Sizing Guide.
In case of a complicated installation of current ThingWorx Software, ensure your infrastructure supports your upgrade according to the documented architecture plan. In case you need support, contact PTC Technical Support.
Do not forget to review the software/hardware compatibility and supportability factors. For example, PTC might be turning down support on some specific version of Linux OS or Azure/AWS, or PTC stopped supporting Datastax enterprise from ThingWorx 9 onwards.
The upgrade can be performed in 2 ways. Either upgrade the same current server to higher versions or install new ThingWorx software on another server followed by importing code and data entities from the previous server. Check out the limitations and scope of these from the Help Center. For example, an installer upgrade can only be performed if your current ThingWorx server version is 8.5 and above.
Send prior information to all members about when you upgrade to ensure resources are planned. Communication should be sent about planned outages and downtimes as well.
Make sure again that everything is backed up from your current server (i.e., both data and entities). Take care of dependencies. Be ready with required PTC provided extensions versions and customizations – either get it from backups or download the latest versions from PTC Marketplace or PTC Software Download page. Lastly, get approvals and acknowledgments from members and move forward with the upgrade process. Download the licenses as well.
Once the upgrade is completed, verify the software version, perform a sanity test, and evaluate licensing. Confirm infrastructure security networks, proxies, and firewalls. Beyond this plan for integrations. Should any issue arise, contact PTC Technical Support.
To access the materials within this guide, download the ThingWorx Software or get Technical Support. You will need a PTC account to enter the eSupport Portal.
Recommended Resources:
It is crucial to ensure that other partner apps are co-upgraded to compatible versions. Please review our previous step and PTC Product Compatibility to ensure that other partnered applications are compatible.
For example, if you are installing ThingWorx Navigate, ThingWorx 9 must be installed using the ThingWorx Foundation Installer before installing ThingWorx Navigate.
There are other applications to consider, such as:
Recommended Resources:
Get the verification records over compatibility factors through test server results. If your current installations involve third-party apps or complex customizations, verify the version compatibility and functionality and evaluate feedback from the test server.
Other external applications and functionalities like SSO, HA, SDK, and EMS check and validate versions for software like Ping Federate and pgpool – check for features.
After a compatibility check, download appropriate versions and proceed with upgrades.
In ThingWorx 9, the migration of extensions is only required for Java extensions, and if you have the following:
Things would remain the same for other custom extensions and PTC-provided extensions as it previously was on the current servers. Extensions folders and files can be retrieved from backups. PTC-provided extensions can be downloaded from PTC Product Download or PTC Marketplace in case of higher versions.
Did you find this helpful?
Establish Testing Environment
Validate Upgrade
We have centralized our top resources from across the company to help you plan, set-up, and deploy your ThingWorx upgrade.
In this success path, you will find general step-by-step instructions for all ThingWorx versions as well as the latest version-specific documentation, training courses, and PTC services to help you along the way.
The information is useful for:
A Success Path is an online guide to help you implement a specific PTC product at your organization. Each path provides step-by-step instructions from the early planning stages all the way through to deployment. Use a Success Path to help your organization get the most out of a product and achieve your business goals.
Did you find this helpful?
Before you begin, complete these steps:
New Mashup Widgets – Leverage new widgets in the Mashup Builder to create new IIoT user interfaces like Waterfall Chart, Menu, and Tool Bar.
JAVA SDK 7.0 Andriod Support – Supports Android API versions 19 through 22. It can be used with an IDE that supports Java-based development. Proxy settings can be configured for all examples provided with the Java SDK, including Android applications.
JAVA SDK 7.0 Edge Extensions – Set of building blocks of functionality that allow you to select functionality you want, reduce the SDK footprint, and create functionality by writing your extensions. A Thing representation of a device can be assembled with functional blocks faster, reducing time to value.
Remote Access and Control (RAC) – Run remote sessions to Axeda Edge devices using the Axeda Policy Server. Give visibility to a local audit trail and control over remote sessions. Ability to see and record a Remote Sessions Request status and provide details for a file transfer performed in a VNC session.
ThingWorx Solution Central – Expanded application support, including the ThingWorx applications; you can now download out-of-the-box solutions directly from Solution Central. You can authenticate with Config API of ThingWorx Kepware Server, organize TKS based on Sites, and perform CRUD operations on objects such as Channels, Devices, and Tags.
Active-Active Clustering – Added ability to further improve the ThingWorx Platform's stability by giving you a full scale. This also provides enhanced operability and flexible deployments.
ThingWorx Container Support – Further commitment to ThingWorx Docker and the ability to containerize your infrastructure. Paired with clustering, this gives you the ability to quickly add nodes or manage your whole infrastructure in an agile fashion.
Composer/Mashup Builder – Further improvement on web component widgets by enhancing Bindings, Properties, Theming, and Undo/Redo to increase developer productivity. From a visualization standpoint, we revamped our charting framework to increase responsiveness in charts, subsequently improving the ability to see charts on a mobile device or tablet.
Thing Groups – We have created flexible hierarchies for asset populations by regions, models, customers, authorizations, and more.
ThingWorx Flow Updates – Improved security of flows within the platform and third-party systems with Delegated Authorization.
ThingWorx Analytics – Improved AI features to create predictive models that include confidence intervals and optimize analytic models based on the cost of prediction errors.
ThingWorx Edge – Consume Rich OPC-UA models through Kepware, ThingWorx, and Microsoft Azure IoT. We also broadened edge capabilities with new extensions for the Java SDK, including improved Android support.
Factory Talk Historian Connector – Rockwell Automation's Factory Talk Historian Connector can now connect to ThingWorx, giving you the ability to create ThingModels and represent alarms/events into ThingWorx automatically.
JAVA SDK 7.0 – Supports Android API versions 19 through 22. It can be used with an IDE that supports Java-based development. Proxy settings can be configured for all examples provided with the Java SDK, including Android applications.
This roadmap contains forward-looking information subject to change and does not imply future commitment.
Many of our IoT customers upgrade to the latest and greatest ThingWorx release to stay up to date. The new release has updated security patches that give you peace of mind. Having a stable platform that can scale with your business needs delivers value to your end customers.
Whatever reason you decide on upgrading, PTC and partners are here to help you select the best upgrade path for you.
When upgrading to a newer version of ThingWorx, administrators have two options for new features and enhancements into existing landscapes: in-place upgrades and migrations. Generally, in-place upgrades are applicable when upgrading to the same persistence provider. They do not require import data/entries after installing ThingWorx. Migrating includes more steps because you must export data and entities, and then import those entities and data into the new version of ThingWorx. To best assess the upgrade path for you, use the matrix in the ThingWorx Help Center linked here.
Before upgrading ThingWorx, review your existing system and determine the effects of upgrading. Be sure your hardware is ready to support the latest version. Prepare the post-upgrade work items.
Before you begin, complete these steps:
Before you upgrade ThingWorx, you need to understand what is standard in ThingWorx and what your team has customized. Your customizations should have been documented by your developer when they were initially implemented. With version 9.0 and greater, there is no widget or extension depreciation from version 8.5. Please review previous versions of ThingWorx to better understand the possible depreciation of widgets or extensions.
Recommended Resources
If you have a backlog for ThingWorx, review the line items in the log before upgrading. There may be items you move around based on the new features and functionality. At this time, you want to determine if any work needs to be done before and after the upgrade. We do not recommend making changes during the upgrade.
Begin to mark new backlog items based on the features and functionality you plan to implement after completing the upgrade.
Whether you use ThingWorx in your manufacturing plants or smart products, it is essential to think about each instance’s unique activities. Determining these activities helps you decide when to upgrade and how to test a specific instance.
It would be best if you also determined what activities need to be done while ThingWorx is unavailable. For example, suppose ThingWorx runs your factory’s machines. In that case, you need to determine if the downtime is acceptable or if there needs to be a manual intervention. Also, be mindful of:
There are several more factors to consider when planning your upgrade.
Understanding the downtime required for each instance is critical to a smooth upgrade. Be sure to evaluate each instance’s needs and compare them against your test upgrade when the time comes.
Now that you have evaluated each of your production instances, you must now determine the right time to complete the upgrade. It may not be possible to simultaneously upgrade each of your instances because of the previously determined unique activities.
It is best to complete the upgrade during a slow time of year, such as late December.
You also want to consider the other PTC products you own and when they need to be upgraded. You can review the PTC Product Calendar here.
Before you can upgrade to the latest and greatest version ThingWorx has to offer, make sure you know your path to upgrade to 9+. Check out this article on how to find the software compatibility matrix for your specific release.
When preparing for an upgrade, it is essential to consider your connections to other ThingWorx and PTC products. Take a close look at the changes and constraints from your current version to any version post 9.0, which applies to other ThingWorx products such as ThingWorx Analytics and ThingWorx Flow.
Key considerations include:
The features available in ThingWorx 9+ can help improve your ThingWorx’s security. There is a change in the way audit data is stored in ThingWorx. Your current set up for logging data will still be available and default in the new release. You will need to actively change the configuration and update each of your customizations that use audit data. Also, you must plan to transfer your existing audit data to the new implementation.
The audit subsystem is intended to provide the information you need to answer the following questions:
A new feature available in ThingWorx 9.0 is Thing Groups. Thing Groups are a referenceable entity type that allows for Things and Thing Groups as its members. In addition to ThingWorx’s current permissions model, Thing Groups provide ThingWorx administrators the ability to manage at scale exposure of Things to only those that require access. These are the following prominent use cases for Thing Groups:
Visibility permission management at scale - You can group Things so that only specified user groups or users can see them. Thing Groups allow for visibility permission delegation. This visibility permission delegation is enabled in the User Management Subsystem. Visibility permissions delegation will enable users to set the org on Thing Groups and have that visibility setting delegated to the Things and Thing Groups that are members of the Thing Group in which the visibility permissions were set.
Thing Groups as a building block for mashups and other applications. Application developers can leverage Thing Groups to visualize hierarchies or scope custom workflows to a specified group of Things.
The most common ways to group Things are by regions, customers, specific locations, and model number. You can learn more about Thing Groups here.
Recommended Resources
If you plan to implement High Availability Active-Active Clustering, this is a significant change to your infrastructure. Review your previously documented plan and determine the difference. Here are a few topics to consider as you create your infrastructure architecture plan:
When ready, document your final changes and share them with the project team.
Recommended Resources
When upgrading to a newer version of ThingWorx, your administrators have two options for getting new features and enhancements into existing landscapes: in-place upgrades and migrations.
Generally, for in-place upgrades:
Migrating includes more steps because you must export data and entities, and then import those entities and data into the new version of ThingWorx.
Recommended Resources
Understand the skill sets and experience your project team needs to upgrade ThingWorx. Determine whether your organization internally employs the right talent. Hire outside resources to bridge any gaps if needed.
Before you begin, complete these steps:
Having experience implementing ThingWorx is a significant advantage when it comes to upgrading. PTC, experienced partners, or systems integrators can often fill gaps in skill sets and experience.
Although their titles may differ, you typically need the following skills to participate in your upgrade.
IT Administrator: your IT administrator maintains your organization's IT network, servers, and security systems. They'll also play a role in building and operating your IoT application.
Integrations: have a team member available to turn off and on the integrations to test and upgrade the platform. If necessary, this person would be on standby if there are any changes required to the integrations.
Application Management: this could be one or more people that handle the ThingWorx entities, code repository, and organization and management of the database backups.
Business Process: manages the business processes that govern development, manufacturing, and change management. There may be different people per business process.
Database Administrator: setup, maintenance, and management of the Source Data database, including troubleshooting, maintenance, installation, and backup of the system.
Find out whether your organization employs people who have these skill sets. If so, ask the employees whether they can make themselves available to contribute to the project. Get their manager's approval, if needed. You can do most of the work remotely, but team members should be on-site to gather requirements and the go-live stage.
Typically, organizations hire contractors or consultants to bridge skills gaps and achieve their use cases. If internal employees are non-existent or unavailable, hire outside resources. Verify that the individuals you hire have the right skills and experience to meet your project goals.
If you purchased a Success Plan from PTC, you have access to IoT experts who support and guide you. Customer Success Management can help you plan, implement, and measure your IoT initiative. Your PTC Customer Success Manager ensures you have the right mix of resources on your team. They'll help make sure each contributor has extensive experience with the ThingWorx platform and is well suited for the role. If you don't have a Success Plan, contact your sales representative.
Recommended Resources
Stakeholder support is a crucial asset throughout your IoT initiative. Cultivate buy-in at various levels of your organization, from high-level business leaders to frontline workers. Your most important stakeholder is at the executive level. Identify a well-respected, well-connected executive champion who advocates for your initiative on an ongoing basis.
In addition to the people who champion IoT solutions, you'll also need end-users to test them in the real world. Identify a manageable group of workers who tests and provide feedback on early-stage applications. These workers should represent your ideal end-users. They'll help you identify urgent fixes and opportunities for improvement before you implement ThingWorx on a larger scale.
Possible stakeholders may include:
Determine how, when, and to whom you'll communicate throughout your IoT project. Your stakeholders have different needs, depending on their role.
As you plan how to communicate with your stakeholders, answer these questions:
Keep in mind that your stakeholders' involvement and communication needs may change over the project's course. Modify your approach as you go.
While it's essential to communicate, it's also imperative to listen. If stakeholder communication is only coming from one direction, you risk missing valuable feedback or opportunities to address concerns. Establish channels for soliciting and responding to feedback across your organization. Make sure stakeholders know how to get answers.
Determine training needs based on the roles on your team and your chosen use case(s). We have many options to help you start building applications with ThingWorx. For example, we have courses to learn to develop in ThingWorx, manage platform security, and a course for DevOps practices, among many others.
Most courses are available through PTC University Training Central (requires a PTC account). A PTC training advisor can help you choose which courses are the most important for your team.
When upgrading ThingWorx, there are many tests and quality assurance tests to ensure that the upgrade is successful. Start by piloting that upgrade and create a test plan based on your findings.
Before you begin, complete these steps:
As a current licensed ThingWorx owner, you have access to download the latest version and replicate your production instance on another server. Piloting the upgrade ahead of time provides the following assurance:
While piloting the upgrade, we recommend making the environment as close to production as possible.
When you initially deployed ThingWorx or the last time you upgraded, a test strategy was created. Decide how you will apply that strategy to this new upgrade. Refer to the Determine Changes to Architecture, Select an Upgrade Option, When to Upgrade to modify any test scripts. Developers and device engineers work together to create a testing plan.
In general, we recommend the following testing:
It would help if you did additional testing that was not mentioned based on your specific solution or industry. Remember to consider security and compliance requirements at every stage for each instance.
Create a testing plan for each instance. Be sure to align testing with your existing DevOps processes. Plan to test in a QA environment that replicates your production environment as closely as possible.
Verify user permissions, logins, and data
Make sure users have access to the right components within the application. Have several users login to ThingWorx in a test/QA environment. They should verify they have access to everything they need. Test the user permissions for each user group. If someone can't access a mashup or if they have too much access, change their permissions.
Also, verify that each environment shows the appropriate data for each user group. You may need to strip production data from some environments. Do this to prepare for testing, especially user acceptance testing.
Monitor the data flows, integrations, and connectivities
Observe and monitor the application run for 1-2 days
Verify logs, entities count, and system stats
Verify all customizations & extensions
Take some time to review your existing scripts and make sure they include the following:
Keep your documentation brief and definitive. Your documentation provides a quick reference to help you solve issues and make faster decisions.
Make sure that internal and external stakeholders are aware of and ready for the upgrade. Communicate their role in the upgrade and changes they should expect to see.
Before you begin, complete these steps:
The impact of each site are specific to your end-users and use case(s). Downtime during an upgrade is required, so plan for each instance to be upgraded individually. It would help if you worked with each site manager to understand their constraints and schedule appropriately.
For example, if you’re a Medical Device company upgrading multiple hospitals and clinics, consider planning multiple upgrade times to avoid all machines being down at the same time in case of emergency.
Beyond the downtime mentioned above, your end-users should not be impacted. Mashups look and operate how they did before your upgrade. Communicate across in case of any emergency.
Stakeholders outside of your organization, such as your customer, do not require updated documentation from the upgrade alone. If your customers want to take advantage of the new functionality in ThingWorx to update their mashups, training documentation needs to be updated appropriately.
Those in your organization who support your IoT solution and use your ThingWorx applications rely on updated documentation after your upgrade.
Create a list of the personas in your organization who are involved in creating, supporting, and using your IoT solution. Then articulate the ThingWorx updates in the documentation required to do their jobs.
Here are some personas who may require documentation:
Consider when, how, and to whom documentation needs to be available. Once you define each persona and documentation needs, communicate this with the individuals responsible for creating documentation. Useful, timely documentation enables a successful upgrade of your IoT solution.
Create differentiated communication plans to connect with internal and external audiences. Your stakeholders have different needs, depending on their role. Consider internal stakeholders such as technicians, service management, marketing, sales, and customer service employees. External stakeholders may be vendors, your customer’s customers, or contractors.
Use these questions to guide your communication plan:
Document your communication plans for each group of stakeholders.
Compile the plans to upgrade your ThingWorx instances into one project plan.
Before you begin, complete these steps:
Evaluate each of your ThingWorx instances for unique activities within the application and at the potential instances. Each instance handles different types of remote assets like machines, vehicles, or refrigerators/AC. Once the organization determines a particular asset type, further instance activities could differ by:
Instance activities can also differ by the type of work environment and functionalities, such as:
Once you have gained important insights on each instance's uniqueness and differences, you need to note the issues that could arise and their effects like potential downtimes & outages, end-user impacts during upgrades, and finally, the backup plans and how to maneuver around ThingWorx. It would help if you planned out these factors and share them across teams.
If your instances include integration with other enterprise data sources such as IoT, CRM, and MES systems, or any third-party apps, consider how those assets may cause or be affected by downtime. Ensure your organization continues operating efficiently in case of outages, and business is not affected.
You can also gain essential insights on each instance by talking with mid-level and frontline staff who frequently use the app. They understand the current process and problems and can anticipate those well. They can also help you be sensitive to cultural norms at their location around communication, hierarchy, language, and change. For your app to deliver expected value, users need to understand and embrace technology and process changes.
Recommended Resources
With a clear view of the unique activities with each of your ThingWorx instances identified, begin to plan the upgrade activities, order, and schedule. To decide on the best approach, have detailed conversations with those who have a deep understanding of the specific data and systems you need to connect. This might include IT partners, system admins/integrators, stakeholders, and developers. If possible, involve someone with extensive ThingWorx knowledge.
Start with the instances that take the minimal amount of effort to upgrade and work from there. The order in which activities are to be performed might vary for each instance. Focus on an upgrade schedule that will get each of your ThingWorx instances upgraded quickly and efficiently. Determine whether each of your instances need to be upgraded around the same time or can have some relaxation around times between upgrading the instances.
Your schedule should include:
Your Upgrade schedule should be decided and shall account for the below factors:
As you build out the timeline, ask your project team for input. Do not forget to include change management tasks such as training and communications for each instance. Inform your adoption team of the changes as early as possible, so the training materials, documentation, and communications will be updated and ready for go-live. While preparing the upgrade schedule, check out project team members' availability in instance upgrades projects and get approvals from respective managers if needed. As part of organizational change management, you'll create a plan to communicate with the new users and the rest of your organization as well.
Recommended Resources
Update, finalize, and document the application support process.
Verify with the support organization, the process is still valid, and everyone agrees to process and is ready to execute. Plan checkpoints throughout the year to ensure the process is working and improve it if necessary.
Ensure your end-users know how to get help with the ThingWorx upgrade, should issues arise. Plan accordingly, and communicate effectively. Internally, specify which teams are responsible for various aspects of the application and how they triage issues.
The support organization needs specific details about how the application has changed to promptly resolve issues, fix bugs, and promptly perform system maintenance. Whether you're using internal employees or an external resource for the upgrades, you must document the delivered solution for ease of knowledge transfer and future reference.
The project team will transfer ownership back to your designated support organization. Ensure your support organization receives training on the upgraded solution before the project wraps up. All support teams should also receive basic ThingWorx training to ensure they have a sound understanding of the core ThingWorx Platform.
Apply the upgrade schedule to each of your instances of ThingWorx. Plan how you will approach the upgrade uniquely. The order of the activities might vary for each instance.
Determine and document the order you would like to proceed with events for each instance like first moving remote things/assets, migration of code & data files, Network -proxies and firewalls, security files, moving extensions, and customizations.
Confirm the go-live date with the project manager for each instance and accordingly plan for availability of resources, schedule training, assigning roles and responsibilities with the plan of actions, access to documentation, and communications.
Once the upgrade for each instance is performed, do evaluate licensing or contact your PTC sales representative.
Also, ensure a robust feedback mechanism. Plan feedback mechanism for each instance, voice concerns, and share opportunities you may not know or want to know. While it's essential to communicate, it's also imperative to listen. Establish channels for soliciting and responding to feedback across your organization—and ensure stakeholders, end-users know how to get answers.
Create a list of the groups who need documentation to upgrade, support, and use the app. For example:
Once the plan is finalized with a detailed view of each instance documented, it should be sent for reviews and approvals from all critical stakeholders/members. Once completed, the plan is handed over to the team responsible for executing actions and is shared widely.
You need to document how and when you will execute the upgrade. No task is too small and should be included. Everything from backups to launch tasks to training and communication plans is vital for the project plan.
This plan should include:
PTC recommends scheduling training for various members of your Upgrade project team. Determine training needs based on the roles on your team and your chosen use case(s). If you're unsure which option is right for your organization, contact your PTC sales representative to learn more.
PTC recommends that application configuration be consistent across Instances. The configuration should be maintained through a dedicated, central application management team after deployment. This team is responsible for:
As your organization launches additional applications to support multiple use cases, PTC recommends staffing:
Recommended Resources
Use your change management to execute your upgrade rollout plan.
Change management process:
Document your change management plan and share it accordingly. PTC offers change management support services to help your organization navigate change and achieve your goals faster. Contact your PTC sales representative to learn more.
Recommended Resources
Before you begin, complete these steps:
With your ThingWorx upgrade planning nearly complete, compile a final list of project costs.
Add up the final costs of:
We recommend that you include a 15-20% contingency on your final budget to support unplanned costs.
Take your detailed costs and final project plan back to your executive stakeholders for final review and approval.
Execute on the communication plans created during the Adjust Adoption and Communication Strategy step. Provide ample time between first announcement and the actual upgrade for stakeholders to understand how they will be impacted and any preparations for which they are responsible.
Prepare your project team and equipment for an upgrade.
Before you begin, complete these steps:
To achieve a successful upgrade, you’ll need an experienced team. Now that your budget is secured, ensure you have the right people and the right mix of resources confirmed to work on your upgrade.
If you’re using internal resources, make sure they have enough hours allocated to this initiative. Get approval from employees’ managers, if necessary.
If you’re using PTC or a trusted partner, begin sourcing providers right away and ensure they have the skills and ThingWorx experience necessary for your upgrade project.
Recommended Resources
Ensure resources are appropriately onboarded through all tools and processes, and they should be well trained in their respective domains/skills before the Go-Live.
Also, make sure resources have allocated enough time to validate the upgrade with Quality Assurance.
Most of the work can be done remotely, but it’s crucial that most team members can be on-site to gather requirements and for the “go-live” stage.
Recommended Resources
Recommended Resources
Ensure you have access to all the equipment you need to execute your upgrade project. If you don’t already have what you need, purchase it now. Necessary equipment may include hardware, networking equipment, memory & CPU cores, PTC software, and any required third-party software.
Be sure your hardware is ready to support the latest version. Evaluate PTC’s product compatibility matrix and product calendar.
Recommended Resources
You will need a PTC account to download the software for your upgrade.
Before you begin, complete these steps:
If you are new to your organization or need a new account, this is how you do it: Create an account and be sure to provide one of the following numbers:
PTC will send a software order fulfillment email after your purchase is complete. That email will give you the information listed above. If you can't find the information you need, contact your sales rep or renewals.
You will need a PTC account to:
Recommended Resources
Depending on the current version of your ThingWorx platform, you may not have a straight upgrade path to the latest version. Refer back to the Review PTC Product Compatibility task to understand your ThingWorx 9+ upgrade path. Download the version of the software that is right for you.
Recommended Resources
Upgrading to a new version of ThingWorx requires you to update your product license. A license can be generated in 2 ways:
To generate a new license, you need to follow these steps based on your specific version.
Recommended Resources
PTC's support team is here to help.
Recommended Resources
Create a test environment that is a replica of production so that testing and validation are completed accurately before the Go-Live upgrade on the Production server. This helps you avoid any significant setbacks when moving to production.
Before you begin, complete these steps:
You want your test environment to be as close to your production instance as possible. ThingWorx related backups can be executed at both the datastore level and ThingWorx application level. Refer to the ThingWorx Backup and Recovery Planning guide to start preparing for backups and refer to the original vendor documentation for further details, including the following:
Watch our Expert Session on ThingWorx Backup and Recovery for best practices around:
To learn more about application-level backups such as Import/Export of entities and data from the platform, review How to Import/Export Entities and Data in ThingWorx.
Review Best Practices for ThingWorx Backups, Replication, and Migration to learn more about the topic.
In case your current installation involves other complex customizations, functionalities, and installations such as SSO, High Availability, or any third-party software/hardware:
Ensure each resource working on this objective has access to the right environments and knows how to contact PTC Technical Support.
If you followed a DevOps process, your work should already be backed up. DevOps' critical portion is setting a Source Control Solution such as Solution Central, Git, or SVN that helps you manage code repositories. Your developers should access and back up the code as they collaborate to build your application. If your organization lacks an official DevOps process, take a look at Principles of ThingWorx DevOps Practices. A PTC expert helps your team understand how to implement ThingWorx configuration management and coding and naming standards. We work with you to find the best solution to use your current source code control systems or recommend a new one and promote code from development to test to production.
Recommended Resources
Create a test environment using your most recent ThingWorx backup which should be replica of production.
Make sure you know:
Document your work and sequence of events followed through this process.
Be sure to contact PTC Technical Support with any questions regarding downloading software, installation, documentation, or moving code & data files to the server.
Recommended Resources
After the server has been prepared, the very first step is to verify licenses and functionalities.
For license
Recommended Resources
PTC recommends incorporating three levels of testing into your DevOps:
Move forward through the creation of test plans, test scripts, and tools to validate. Verify they are available in an accessible location with required access. If necessary, go through a trial run to ensure nothing gets stuck.
Ensure you're testing the right items. Run scripts and tools through iterations and record test results. Use assertions as well. Test plans should include any non-ThingWorx or third-party software as well.
Recommended Resources
Identify your project team with the right capacity to validate the software on the test environment. Ensure you have the right mix of people to test the software thoroughly and completely.
Resources identified could be:
Ensure the resources you identified as testers can access the testing environment, test scripts, tools, test plans, and all processes. They should have proper rights & permissions to run and execute those services and tools as well.
Ensure they are available to begin testing when needed, get approvals from their managers if needed.
Test plans and validation criteria as per user's test limit should be made available to users, if possible. While testing, they should record the results and preserve for prospects.
ThingWorx should run correctly without any failure while turning off the non-ThingWorx software in parallel. ThingWorx should not go down, failing any dependency checks while turning off any non-ThingWorx software.
Non-ThingWorx software could include:
Try making ThingWorx software less dependent on any external software/applications. Make sure ThingWorx is up and running even if any non-ThingWorx software in the environment goes down. If their dependency cannot be avoided, that should be well documented and communicated among team members. Testing around these areas should be well performed and documented. These test plans should be sent to resources allocated for this task. If there are several dependent non-ThingWorx software or third-party software, then test suites/cases should cover all various possible combinations of dependency checks.
Once test resources feel that software is successfully deployed and the validation criteria is showing satisfactory results, inform project members/stakeholders and provide a green light for Go-Live.
Recommended Resources
Upgrade your ThingWorx platform and validate the upgraded system.
Before you begin, complete these steps:
Before you begin to install ThingWorx 9.x, run through the prerequisites and be sure to review materials for upgrading from the version of ThingWorx you are currently on. Refer to ThingWorx System Requirements for additional information and ensure necessary equipment, hardware, and software are acquired. PDF versions for earlier versions can be located using the Reference Documents page on the PTC Support Portal.
Determine your database before performing this installation and consider your database options. If there has been a change in the database, then follow migration for upgrades. For more information on database options, see the ThingWorx Model and Data Best Practices, ThingWorx Platform 9.0 Deployment Architecture Guide, and ThingWorx Platform 9.0 Sizing Guide.
In case of a complicated installation of current ThingWorx Software, ensure your infrastructure supports your upgrade according to the documented architecture plan. In case you need support, contact PTC Technical Support.
Do not forget to review the software/hardware compatibility and supportability factors. For example, PTC might be turning down support on some specific version of Linux OS or Azure/AWS, or PTC stopped supporting Datastax enterprise from ThingWorx 9 onwards.
The upgrade can be performed in 2 ways. Either upgrade the same current server to higher versions or install new ThingWorx software on another server followed by importing code and data entities from the previous server. Check out the limitations and scope of these from the Help Center. For example, an installer upgrade can only be performed if your current ThingWorx server version is 8.5 and above.
Send prior information to all members about when you upgrade to ensure resources are planned. Communication should be sent about planned outages and downtimes as well.
Make sure again that everything is backed up from your current server (i.e., both data and entities). Take care of dependencies. Be ready with required PTC provided extensions versions and customizations – either get it from backups or download the latest versions from PTC Marketplace or PTC Software Download page. Lastly, get approvals and acknowledgments from members and move forward with the upgrade process. Download the licenses as well.
Once the upgrade is completed, verify the software version, perform a sanity test, and evaluate licensing. Confirm infrastructure security networks, proxies, and firewalls. Beyond this plan for integrations. Should any issue arise, contact PTC Technical Support.
To access the materials within this guide, download the ThingWorx Software or get Technical Support. You will need a PTC account to enter the eSupport Portal.
Recommended Resources:
It is crucial to ensure that other partner apps are co-upgraded to compatible versions. Please review our previous step and PTC Product Compatibility to ensure that other partnered applications are compatible.
For example, if you are installing ThingWorx Navigate, ThingWorx 9 must be installed using the ThingWorx Foundation Installer before installing ThingWorx Navigate.
There are other applications to consider, such as:
Recommended Resources:
Get the verification records over compatibility factors through test server results. If your current installations involve third-party apps or complex customizations, verify the version compatibility and functionality and evaluate feedback from the test server.
Other external applications and functionalities like SSO, HA, SDK, and EMS check and validate versions for software like Ping Federate and pgpool – check for features.
After a compatibility check, download appropriate versions and proceed with upgrades.
In ThingWorx 9, the migration of extensions is only required for Java extensions, and if you have the following:
Things would remain the same for other custom extensions and PTC-provided extensions as it previously was on the current servers. Extensions folders and files can be retrieved from backups. PTC-provided extensions can be downloaded from PTC Product Download or PTC Marketplace in case of higher versions.
Recommended Resources
Test and validate your ThingWorx upgrade according to your test plan. Determine if the upgrade is ready for production.
Before you begin, complete these steps:
First, determine the order of site/instance. Your test plan needs to be executed as per the plan. Test your application thoroughly by deploying code from your Dev environment to your Test or QA environments. Developers should follow their processes for source control. This upgrade should not require any code changes. Be sure to complete the upgrade before making any changes to your code. Check that each environment shows the appropriate data for the tests you'll conduct. You may need to strip some production data from some environments for integration and system testing. For user acceptance testing (UAT), you should have production or production-like data available. Do count evaluations on server performances because we might have less data on test/QA servers.
Once your code is in a test or QA environment, developers execute your testing plan. Stick to the strategy you created in the planning phase. Your test plan must run through several test scenarios, like adding a new user or interacting with a Mashup with the right frequency of requests. Test every component according to the plan you made, and then compare the results between servers. Always keep security in mind at every stage.
The migration of historical data may take several weeks to migrate the large volume of historical data fully. The recommendation is to import on a rolling basis. Prioritize the data you need to understand trends or make sense of the data you're collecting going forward. If you're retiring any existing systems, migrate that data sooner. Keep in mind, the more data you migrate and store, the more it affects system performance.
Things you need to cover while testing in environments:
Remember that testing is an iterative process. Follow your test plan thoroughly to verify the new version and package. If you find issues, submit IT tickets to get support or go back to your development environment to fix them. Remember to document changes as you write and record test results. Share test results with the project team, including the Project manager, Project sponsor, System admin, ThingWorx admins, and IT team. Your test results help you determine the next steps.
If you need additional help while upgrading ThingWorx, refer back to your support options. Support is available to help you troubleshoot if you get stuck.
Recommended Resources
Determine which site/instance first to re-enable. Transition your integrations to start feeding data into ThingWorx as planned. After you turn on the integrations, verify the data is flowing from the asset/tool/system as expected. Make sure you're not receiving extraneous data. Compare the data from old systems. Data should be identical. Monitor the data for several hours before you continue through deployments. Consider security measures, network & proxies around each component layer.
Double-check your dependencies and integrations for data leakage. These shouldn't be blocking any connectivity and functionality. Ensure that ThingWorx does not go down under any circumstances, and if an outage occurs, it should be well documented and shared widely.
Verify changes to the visibility and permissions of user groups as needed and update your documentation. You may need to make changes to user groups in ThingWorx Navigate and your source system, like Windchill. If you're working on a custom app, do user acceptance testing to verify user permissions in the next step.
Once the complete system is up and running, monitor logs regularly for any errors. Understand and document the effects of enabling non-ThingWorx software like restart times, downtimes, and workarounds.
Should any issues arise, alert the project team or reach out to PTC Technical Support.
Non-ThingWorx software could include:
Recommended Resources
Have the application in a test/QA environment tested through a selected group of potential users (site managers, frontline workers, or other available participants) to ensure that the upgrade meets their needs and has not negatively impacted their experience. Share test results for all sites with your key stakeholders. Allow them to conduct a UAT of the upgrade. Ensure your app is ready for UAT to pass your integrations and system tests.
Have them review:
To get the most accurate test results, complete UAT in a QA environment that matches your production environment as much as possible.
Recommended Resources
Before going live with the upgrade, determine which instances or site receives the upgrade first based on testing results. Your previously determined schedule may have changed based on the needs.
Send a reminder once again to ensure the availability of resources as planned. Re-confirm that resources have the right permissions for assigned tasks.
After you have performed all the necessary testing in the test/QA environment with satisfactory results, backups ready, and gained acceptance from key stakeholders, you can plan to finalize the Go-Live schedule. Share the plan widely.
You may get insights during testing and choose to act on them later. If the application does not meet all user needs, decide whether to pause production or launch it.
Make sure the people who support and use your ThingWorx applications are ready for go-live.
Before you begin, complete these steps:
Update existing documentation with design changes. This documentation is crucial for supporting and using ThingWorx. We recommend that you document the solution as you build it. Compile the various documentation pieces your team created throughout the project.
Documentation should include:
Keeping the documentation updated will help ensure success with your ThingWorx application.
Provide updated training to admins who did not participate in upgrading ThingWorx. Make sure they’re familiar with the application documentation and understand the solution updates. With the right documentation and training, your support team can resolve issues quickly.
Ensure your end-users know:
Inform end users when the upgrade goes live. A few weeks after deployment, follow up with them to gather feedback.
Recommended Resources
Promote ThingWorx sites to production in order as planned
When you're ready to go live, promote ThingWorx application sites to your production environment. Share progress with stakeholders and update documentation. Once the app is live, notify users and teach them how to access the app.
Before you begin, complete these steps:
When you're ready to go live, the IT team promotes the upgrade to production. This means to deploy or "publish" the app, making it available to end-users.
During this process, we recommend the following:
Once the app is live, notify the project team and stakeholders. The application is now collecting real data, communicating with your assets, and is available for use.
Recommended Resources
The person or group responsible for communicating with end-users should notify all users that the app is live and ready to use. Refer to your communication plan and follow up on any remaining communication and training items.
Make sure your end users are aware of product changes and are ready to use the new functionality. They'll need to know:
Recommended Resources
Revisit your original goals and measure the business impact of the upgrade. Gather the data you need to measure success. Evaluate complete project retrospective, metrics, and feedback to identify opportunities to improve processes, reallocate resources, or change your approach on your next project. Reviewing these results can also help you reassess and strategize the next steps. It also helps you communicate positive outcomes as you encourage others to adopt the Upgrade ThingWorx Platform success path.
Explore questions like:
You need to monitor end-user usage, ensure smooth upgrades with no issues, and prepare your internal application support team.
Before you begin, complete these steps:
During and immediately following deployment, the project team and support team should be readily available to resolve any issues. Make sure the workers who support and use your ThingWorx applications are ready for go-live. These users will need permissions to access everything within the application. In addition, users should also know how to reach IT team.
PTC offers the following services to support you with your upgrade:
If you are interested in these services, Talk to a Customer Success Expert.
After deployment, the team who implemented the version upgrade will transfer ownership to your dedicated support organization. This team will be responsible for providing technical support to your ThingWorx Admins and end-users, among other duties. Ensure the application support team is trained and prepared to resolve potential issues.
After the handoff, your support organization should never make changes to the application in production. If there is a problem, make the necessary changes on the development server, test them, and then publish them to production. Finally, note the change in the documentation.
Transferring ownership to the customer’s trained and dedicated support organization should be shared widely, referencing best practices and recommendations.
If your application is running 24 hours per day, 7 days per week, then 1-2 employees should be reachable outside of regular business hours in case of emergencies.
Recommended Resources