Get Started with ThingWorx Digital Performance Management

  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: Get Started with ThingWorx Digital Performance Management

Customize With Building Blocks

Review the list of existing building blocks and determine what is beneficial in your organization’s deployment of DPM.


Before you begin, complete these steps:

01. What are Building Blocks?

A “building block,” or “component,” is an implementation pattern in ThingWorx. It is designed to produce smaller, independent, self-contained modules that you can use to build solutions. Each building block serves a specific purpose, including:

  • External data integration
  • Solution capabilities
  • User interface additions
  • Platform functionality
  • Equipment manipulation and management.
  • Building blocks are stacked together in an ordered fashion to make up a solution, starting from the base building block up to the solution building block.

Key benefits of building blocks include:

  • Reusable across solutions
  • Upgradable options
  • Their development in ThingWorx with JavaScript
  • Their design that supports visibility/multi-tenancy
  • Their adherence to a standard set of design patterns
  • Their support for wrap and extend
  • Discoverability for global configuration management
  • Their use of a standard naming convention
  • Its use of the simple solution deployment

One building block consists of a set of ThingWorx entities combined into a ThingWorx project. This is packaged as a ThingWorx extension. Each building block is based on the base building block (PTC.Base) and enables the whole building block architecture.

  • Building blocks are required to have:
    • A separate ThingWorx Project
      • A group of ThingWorx entities contained in a single project
      • Project Types are Solution or Component
      • Project dependencies to other blocks
    • Blocks are dependent on Base Building Block
      • Provides a common service layer
      • Provides a common Master Mashup
    • An Entry Point thing that enables the following:
      • Definition of block information (i.e., name, version, etc.)
      • Discovery for block configuration
      • Deployment of services
        • For DPM, executes schema scripts and loads default data
Recommended Resources

02. How to Customize DPM

To fit additional use cases, your organization can customize DPM further.

Replacing Modular Mashups

Mashups are Web page visualizations you use to deliver information from the ThingWorx model. Certain mashups in the DPM user interface can be modular. When you have modular mashups, you can easily replace them with your customized mashups by changing the mashup defined in a configuration table. Services that call these modular mashups do not explicitly request the mashup. Instead, they request a service that retrieves the mashup defined for that modular mashup in the configuration table. As long as your custom mashup has the same inputs and outputs as the original, it and the surrounding functionality will work as expected.

Modular mashups are available in Action TrackerPerformance Analysis, and Production Dashboard.

For more information on working with mashups, see Mashup Builder in the ThingWorx Help Center.

Customizing the DPM Menu

Strings in the user interface can be changed by updating the localization tokens used in the mashups. Localization allows you to display run time labels in different languages or terminologies. In ThingWorx, you can configure localization tables with tokens assigned to text in the Mashup Builder. This can be useful to replace terms in user interface strings with terms more commonly used in your business. In addition, the menu in the navigation bar on the left side of the screen provides the means to navigate between DPM modules. You can customize this menu by changing the mashups opened by existing menu items and adding new ones. You can also change the labels that show in the menu by editing the localization token used for the menu item. For more information, see Changing User Interface Strings.

Customizing Services

You can customize the services provided in the PTC building blocks to implement your logic. This involves creating a new building block that extends from the PTC building block and overriding the service on the manager Thing for your new building block. Thing entities are one of the fundamental entity types in ThingWorx. They are used to represent an instance of an object that is actionable (services), declarative (properties), reactive (events), and observable (subscriptions). You can view the services in a building block on the Services page of the manager Thing for the building block.

Keep in mind the following when customizing services:

  • Understanding namespaces, access modifiers, and their customization impact on public services
  • Changing service code can cause long-running services or require intense computing. This could lead to performance loss.
  • You can locate all block services in the blocks manager
  • The manager pattern enables overriding out-of-the-box (OOTB) implementations.
  • Common manager in base defines standard configurations for navigation, mashups, and managers
  • Services definitions on a management ThingShape
Recommended Resources

Did you find this helpful?


Previous Step

Configure Your Integrations

Next Step

Validate Solution

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