Upgrade Your ThingWorx Platform

  Download Success Path IMPORTANT: When saving the file, in the Print window please do the following:
Destination or Printer: select Save as PDF
More Settings: In the Options, be sure the boxes Headers and footers and Background graphics are selected.
Recommended Steps
Overview: Upgrade Your ThingWorx Platform

Validate Upgrade

Test and validate your ThingWorx upgrade according to your test plan. Determine if the upgrade is ready for production.

01. Execute Test Plan

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:

  • Verify user permissions, logins, and data
    • To test user permissions, developers should create test user accounts and assign them to each one of your user groups. Use a QA environment that closely resembles production. Then log in as each of the test users.
    • Verify that the test user accounts can:
      • Log in as expected
      • Access the right apps
      • Access the right data
      • Take actions in the app as expected
    • Make sure your users have the same ThingWorx feature access they originally had before upgrading. They should have access to the right components. 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, and there should not be any data leakage while the app is up and running.
  • Licenses
    • Ensure that each server has valid licenses. Talk to your Account Representative or PTC Technical Support in case of any issues.
  • Complete unit and functional testing
    • Unit-level testing verifies each piece of functionality works correctly
    • Functional testing ensures the application performs the way that a user expects
    • If you find any issues, consider rolling the application back to the dev environment for fixing
  • Confirm System performance
    • Once assets are connected and data is flowing, perform various load tests to check whether system load, performance, and availability are acceptable. It's important to stress test the system. Test the user load and device input load. Simulate things to ensure the system doesn't crash under extreme conditions. Monitor and observe the system for a couple of days.
  • Monitor the data flows, integrations, and connectivity
    • Implies on remote connectivity and integration
    • Data flow is continuous and integral
  • Verify logs, entities count, and system stats
    • Regular monitoring of logs for any errors/issues
    • Count entities to ensure nothing is overlooked
    • Overall system stats, health, and configurations
  • Verify all customizations and extensions
    • Ensure all customizations and extensions are appropriately moved to test/QA servers and are in place
     

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

02. Re-Enable Non-ThingWorx Software

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:

  • Windchill, ThingWorx Navigate, and Creo
  • Network layers
  • Firewalls & proxies
  • External database
  • ThingWorx connected to external Apps via connectors
  • External frameworks (Java-based or testing)
  • Load balancers
  • Source control systems like SVN or Git
  • Any third-party applications
Recommended Resources

03. Gain Acceptance from Stakeholders

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:

  • Can the user navigate and use the application as they expected?
  • Did the app function correctly during the test?
  • Did users see the correct data that they are expected to see?
  • Is the new functionality confusing?
  • Is there any data or functionality missing?
  • Were there any unexpected changes to the application?
     

To get the most accurate test results, complete UAT in a QA environment that matches your production environment as much as possible.

Recommended Resources

04. Finalize Go-Live Schedule

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.

Did you find this helpful?


Previous Step

Upgrade ThingWorx

Next Step

Prepare End Users

ADDITIONAL RESOURCES

Product Documentation Find detailed technical documentation on Creo+ in our Help Center
Ask the Community Visit PTC's Creo Community to get support Peer-to-Peer, from our product management and assistance teams. Share ideas, give feedback and browse the wealth of information on using Creo+
Technical Support Need help from our support team? Log a case with eSupport using our Case Logger or find an answer using our new Creo Admin Troubleshooter tool. 

Contact Us

Have a question? Submit your contact information and we’ll reach out within 1 business day. You’re never obligated to purchase or commit.
Get in Touch
Cancel
Confirm
  • English
  • 中文 (简体)
  • 中文 (繁體)
  • Français
  • Deutsch
  • Italiano
  • 日本語
  • 한국어