Mashup Builder > Migration of Widgets and Layouts
Migration of Widgets and Layouts
This section describes the process of migrating the following:
Existing legacy widgets to their replacing web component widgets.
Legacy layouts to new layout and containers.
* 
Migration from legacy widgets and layouts to new web component widgets and layouts is available for ThingWorx 8.5.X and later.
The legacy widgets will be deprecated in a future release. It is recommended to use the new web component widgets instead of their corresponding legacy widgets when you create a new mashup.
It is recommended that you migrate to new widgets and layouts if there are legacy widgets and legacy layouts in your mashup.
When you open a mashup containing legacy widgets for which there are web component replacements or you open a mashup containing legacy layouts, a banner appears at the top of the design page.
You can select Yes to migrate to new widgets and a new layout, or No to discard the migration and close the banner. When you select to migrate, the legacy widgets in the mashup are replaced by their corresponding web components and the legacy layouts are replaced by new layouts. The banner appears whenever you open the mashup in a ThingWorx session, until you migrate.
* 
The migration is an irreversible action. It is recommended that you use the Duplicate option available in the ThingWorx Platform to save a copy of your mashup before migrating.
The bindings in the mashups are retained after migration. See Best Practices for Migration.
* 
There are new Functions available in the platform for Navigation and Logout, therefore, the Navigation and Logout widgets are not migrated directly. You can migrate the old widgets to a new button and then bind the Navigation or Logout function to get the same functionality.
Examples of Layout Migration
The following are use cases for layout migration
Opening a mashup with a static layout: When you open a mashup with a static layout, the banner appears. If you select Yes, the static layout in the mashup is migrated to a container that has a static positioning and a fixed size.
Opening a mashup with a responsive layout that has a Layout widget: When you open a mashup with a responsive layout that has a layout widget, the banner appears. If you select Yes, the layout widget is migrated to a container. The internal container widgets of the layout widget are migrated to containers.
* 
The collapsible containers in the layout are not migrated. The collapsible panels in the layout are migrated to regular containers.
The Left Side Bar/Right Side Bar is migrated to a container with fixed width. The fixed width values are taken from the LeftSidebarWidth/RightSidebarWidth properties of the layout widget.
The Header/Footer is migrated to a container with a fixed height. The fixed height values are taken from the HeaderHeight/FooterHeight properties of the layout widget.
Opening a mashup with a responsive layout that has a panel: When you open a mashup with a responsive layout that has a panel, the banner appears. If you select Yes, the panel is migrated to a container that supports responsive and static widgets in the same container.
* 
The bindings of the containers are not saved during migration because the id needs to change to new containers.
For more information, see Mashups and Responsive Mashups.
Best Practices for Migration
After the migration, review the mashups. The size of the new widgets is different from the size of the legacy widgets based on new PTC theme and the User Interface design best practices. You can perform the following actions to improve the appearance of the mashup:
Create a theme with a smaller font size and use this theme. This resizes the font and is effective for the new widgets.
Review the widgets and check their width and height properties. Resize the widgets if required.
* 
The new widgets are size responsive. To benefit from automatic sizing of the new widgets, reset the width and height property values of the legacy widgets after migration. If you want to retain the fixed size of the legacy widgets, do not reset the values.
The legacy Button widgets also have an icon. This icon setting is defined in the style definition and is not migrated. After the migration, add the icon to the new Button. For the new Button widget, the icon setting is in the properties.
Legacy Widgets and Their Replacement Widgets
The following table lists the legacy widgets and the widgets that replace them. The Collection widget which is a replacement for the Repeater widget, is a standard widget which is not a web component. All other replacement widgets are web components. For more information click the name of the legacy or replacement widget.
Legacy Widget
Replacement Widget
List radio button view is replaced by
List dropdown view and combo box view are replaced by
* 
The Repeater widget does not migrate to Collection widget.
* 
Tabs is not migrated. Only Responsive Tab is migrated.
Was this helpful?