Building Blocks > Building Block Customizations and Upgrades
Building Block Customizations and Upgrades
All building blocks provide the ability to be customized. Customizations of building blocks should be contained in a separate building block that overrides the default solution functionality. Thing Shapes are leveraged for providing standard building block logic, allowing services to be overridden. When it is not possible to use Thing Shapes, Thing Templates with overrideable services are implemented.
For customization of the UI layer, it is necessary to duplicate the mashups in order to make customized changes.
The solution navigation menu in the solution master mashup (PTC.Base.SolutionMaster_MM) is compiled from all entries in the menuConfiguration configuration table on manager Things which have a menuName value of MasterMenuNavigation. A menuName value of AdminMenuNavigation is used by the main administration mashup (PTC.Administration.Main_MU) in the administration building block (PTC.Administration) for the DPM solution to compile the administration navigation menu. Building block developers can add their own menuName values that they can leverage in their own building blocks.
The mashupConfiguration configuration table on manager Things can be used to swap out contained mashups. Examples of this can be seen in the Action Tracker building block, Performance Analysis building block, and Production Dashboard building block for the DPM solution.
Entities contained within a PTC-provided building block are locked for upgradeability. If customizations are made as defined above, new versions of a solution can be installed to provide updates. These upgrades do not impact existing customizations or break API-level contracts. Existing mashup and menu customizations remain after the upgrade. If other customizations have been made, the customer will need to make changes to their customizations to take advantage of new functionality.
Was this helpful?