The following feature enhancements and bug fixes have been made in ThingWorx 6.5:
- Optional PostgreSQL database architecture for Platform storage for model and runtime data
- Reference the Getting Started with ThingWorx and PostgreSQL document for more information on this feature.
- Learning Connector integration in ThingWorx. Available in the Composer menu.
- For more information, see Learning Connector Menu and the following video: http://learningexchange.ptc.com/tutorial/4711/learning-connector-in-thingworx-composer.
- Import and export functionality improvements, including the ability to export to binary
See Importing and Exporting Data, Entities, and Extensions.
- In-place migration from 6.0 Neo4j to 6.5 Neo4j. In this scenario, you do not need to delete the ThingworxStorage and ThingworxBackupStorage folders or import data/entities after installing ThingWorx.
- Added Password Hash Settings to the User Management Subsystem.
- Added optional Usage and Context fields to Localization Tables to aid translators
- Added EnableUser and DisableUser services to programmatically enable and disable users
For more information, see Programmatically Enabling and Disabling Users.
- Added EnableSubscription and DisableSubscription services to programmatically enable and disable subscriptions
- Added Export Import Subsystem that includes import and export configuration options
- New Value Stream services for Thing Templates: QueryImplementingThingsWithPropertyHistory and QueryImplementingThingsWithNamedPropertyHistory
- Allows you to query properties of a specific property on a Thing Template. For example, if you want to view all Things that have a temperature range of 60–100 degrees, the services allows you to skip additional steps where you would have to call each Thing’s properties.
- Security Assertion Markup Language (SAML) Authentication enhancement
- See below for additional information.
- Added LONG Base Type
- New Bubble Chart widget
- Added the Label property to the LED Display widget
- Added the XAxisLabelType and XAxisLabelRotation properties to the Label Chart widget
- Added the ability to include localizable tooltips to the following widgets: Button, Checkbox, Date Time Picker, Gauge, HTML TextArea, Image, Label, LED Display, Link, Numeric Entry, TextArea, Textbox, and Value Display
For more information, see Creating Tooltips for Widgets.
- Added CC and BCC options to the Mail extension
- They are available in the MailServer Thing Template services.
- The following extensions are not backwards compatible with 6.5 and the latest versions must be imported: Digi, MQTT, Eurotech, Airvantage, and DsePersistenceProvider. Extension downloads are available at PTC ThingWorx eSupport.
- Thing Shapes are now extensible.
- Thing runtime permissions no longer override permissions at the template level
- Fixed an issue where concurrent entries with the same key were able to be added to the DataTable
- Fixed an issue where the Event Processing Subsystem was locking the system
- Fixed an issue where the QueryImplementingThingsWithData service was not working when a null InfoTable was set to a Thing’s property
- Fixed an issue where a database Thing interpreted the integer column as a string and caused an addition operation to behave as a concatenation
- Fixed an issue where invalid or corrupt Thing streams were preventing Composer from starting
- Value Streams Configuration is now managed through your persistence provider.
- Fixed an issue where you could not save a Thing with an empty Description field value if a non-empty value was previously saved.
- Fixed an issue where scroll bars appeared in Mashups using the Navigation widget
- Fixed an issue where you could not update properties in .widget()
- Icons are now aligned correctly when the menu layout option for icons above the text is chosen.
- Enabled and disabled checkboxes based on infotable values are displayed differently so that you can clearly tell them apart.
- The LabelAlignment property, which is new, and font size changes to the default ListLabelStyle property of the List widget are both reflected at run time
- Fixed an issue with not being able to move widgets in a group
- Fixed an issue where a Grid widget with a horizontal scroll bar is dragged to the right, the header row and grid rows were offset.
Authenticator Enhancement in this Release
The Authenticator API in ThingWorx 6.5 has changed to allow for improved redirect handling if authentication fails. Specifically, the ability to include an instance of the HttpServletResponse has been added as a parameter to the authenticate method.
public abstract void authenticate(HttpServletRequest httpRequest) throws AuthenticatorException;
|6.5||public abstract void authenticate(HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws AuthenticatorException;|
Possible Action Required for Existing Custom Authenticator Implementations
Due to this change, all existing custom authenticator implementations must be compiled against the ThingWorx 6.5 Extension SDK. When this occurs, compilation errors will be evident at the custom authenticator class level stating the following:
The type <CustomAuthenticatorName> must implement the inherited abstract method IAuthenticator.authenticate(HttpServletRequest, HttpServletResponse)
To resolve this issue, follow these steps:
- Add a second parameter called HttpServletResponse httpResponse to your authenticate method implementation.
- Recompile your Authenticator Extension.
- Change the Authenticator extension’s manifest file’s minimumThingWorxVersion to 6.5.0 in order to keep the authenticator from being installed/imported into pre-6.5 ThingWorx Platform versions that do not support this API change.