July 26, 2023
New Features [07-26-2023]
Our latest release introduces new features that advance the capabilities and expand the way the ThinkIQ platform is used. Let’s begin.
Work Shifts
Work Shifts have been added to the product to allow Trending data in the context of a work shift. When configured, Trend will automatically offer Work Shifts in the duration picker where 'Last Hour' and other custom time periods are available.
Work Shift instances are based on Types that are a part of the Smart Equipment library which is included in the platform. Learn how to create Work Shifts.
Event Objects
'Event Object' is a new data type that has been added to the platform. This data type supersedes the 'Object' data type.
At the highest level, Event Objects provide unique flexibility to create and describe data that doesn’t easily fit into a well-known category. Similar to the deprecated 'object' data type, Event Objects allow you to describe the specific structure of the object – the data that it needs -, and the system will store this data over time as the 'event' unfolds.
The term ‘Event Object’ describes two things about this new data type: event, something that occurs and finishes, implying a certain transientness to it: think about a shipment received, a sample taken, a truck visit to a site, a Purchase Order; and object, a thing of varying structure, not easily classified, like a Purchase or Sales Order, a material movement, or a shipment.
Event Objects are created as attributes on an instance in the Model. When an event object is created, it requires that you select the Type that the attribute derives from. It is the Type that gives the Event Object data its shape. The platform allows user-created, customizable Types that can meet almost any data requirements.
All data associated with an Event Object is stored as Time Series data. This means that as the event unfolds, new data points are collected and stored. Some events may only have two entries in the time series store: a start time and an end time. Others may have many entries, for example, when a material flows through a process.
It is still possible to create and use objects in the model that are not 'event-based'. When creating this object, select the Event Object data type, but do not choose a Type to associate with the attribute. The data for these objects is considered static – it is stored once, unless it is updated, in which case changes can be tracked in the Audit log, available on the Overview tab of all instances.
Material Flow
The Material Flow diagram has been completely refactored this Sprint.
- The platform now uses a native Model Abstraction Layer and a new API that lightens the processing load and will result in better performance overall. This major change introduces better and more efficient tooling, and also paves the way for faster introduction of new capabilities.
- Material Ledger Accounts – the source for the Material Flow Diagram - are now built within the Model, are powered by data in the Model, and are fully integrated into the Model.
Previously, the material ledger was separate from the Model. Users had to create Accounts dissociated from the Model itself, taking care to 'mimic' the Model in order to create consistency. - Accounts that drive the Material Flow diagram were previously created on Places. Now, accounts are created on equipment that has a Can Feed relationship.
- Material movements are now Event Objects. (see Event Objects for more information.) This provides two important capabilities:
a) Event objects allow for the creation of complex Types that describe the data structure of a material movement. This makes it possible to customize material ledger data (think Purchase Orders, Shipments, and material Samples).
b) The material ledger now points to event objects and their data. Event objects are stored as time series data and can be associated with material movements.
Previously, this data was recreated from original sources and stored in complex material ledger structures. This would negatively affect both data storage and data retrieval.
Modeling [07-26-2023]
Types and Instances
- Instances of the same type without an explicit description were adopting the description of another instance of the same type. This has been fixed.
- Type and Instance descriptions can now be edited.
- Changing an instance type failed if the new type had an attribute that was an Enumeration. This has been fixed.
- JSON data in the value column of an attribute was poorly formatted and bled over into the adjacent column. Now, only the first key/value pair will show with a link to a dialog for viewing the complete JSON structure.
- Deleting an Instance will cause the tree component to refresh and focus on the instance immediately above the deleted item. Previously, the tree re-rooted to the top level item.
- Duplicate Types can coexist and will display in the Types tab as long as they belong to different Libraries.
- Unexpected connector data (OPC UA object types) on 'Instances' tab caused the UI to not load correctly. This has been corrected.
- Changing an instance Type was causing an erroneous database error and would not complete. This has been fixed.
- 'Config Value' for data types 'interval' did not always display correctly in the Edit dialog, although it was correct in the attribute list for the instance. This has been corrected.
- Enumeration attributes that with long text values were stretching into the next column. This has been corrected.
- When adding a new instance, the Type field did not always show in the Add Instance dialog, even though it would be saved. This has been corrected.
- The Audit Log link was missing on the Type Overview page. This has been corrected.
- The Type Overview page had a gap between links in the Additional links section on the right side of the page. This has been corrected.
- The Limits column in the attribute list is now optional, although the default setting is to Show Limits.
- Integer attributes with a Value of 0 (zero) were sometimes incorrectly displayed as a red 'pill', instead of showing the value of '0'. This has been corrected.
Relationships
- The Relationship Tab of an instance sometimes loaded incorrectly and did not display all Relationships. This has been fixed.
- 'Can Consume' relationships now display materials on the left side of equipment, and the "+" to Add a material also displays on the left side.
- A new column has been added to show the Connector associated with the tag. The option to view or not view the column is controlled with the View Columns control.
- Tags with data type of Int (Integer) no longer display with a decimal point.
Enumerations
- Enumeration configuration columns are now singular instead of plural (e.g. colors → color)
- When aspects of Enumerations were left empty, for example the Color codes, the system was defaulted the parameter to 'null'. Now empty parameters default to empty strings, or, in the case of color codes, {#000000, #000000, #000000}.
- Enumerations were unable to reference other integer attributes by the use of an Expression. This has been corrected.
- Adding an additional definition(without a description) to an Enumeration type in use by an Instance was breaking the instance Edit Dialog. This has been fixed.
- Using a comma in the Description in one enumeration put following text as the Description in the following enumeration. This has been fixed.
- Double-clicking on a measurement unit in the picker dialog to select and enter it into the Edit Attribute dialog now works. Previously you had to highlight the measurement unit and use the ‘Select’ button to enter it into the Add/Edit Attribute dialog.
General
- When a dialog box is open and the user clicks outside the dialog box without closing it, the UI could get 'stuck' and be inaccessible without a page reload. This has been fixed.
Types and Instances
- The tooltip for adding a new Type has been changed to “Add sub type”
Enumerations
- Deleting an Enumeration Type that is in use by an Instance is not allowed. A list of Instances using the Enumeration is provided, with links to the Instance/Attribute list. User will need to update or delete all occurrences of the Enumeration attribute in all Instances before the Enumeration Type can be deleted.
Types and Instances
- Instances derived from Types that have a Class Script associated with them are labeled ‘Smart’ in the Instance Overview Tab.
- Attribute Types have been deprecated.
Libraries [07-26-2023]
- When exporting a library, the relationship types from one system were not able to be used in the Import system. This has been fixed.
- The Library description can now be edited in the Model Explorer.
- When exporting a Library, the 'File Name' field now explicitly displays the Library name you are exporting, prefixed with the platform instance name from which the Library was exported.
- After Importing a Library, the popup confirmation of success is clearly displayed.
- Opening the scripts for a Library followed immediately by an Export or Import caused the UI to freeze. This has been corrected.
- The Libraries tab has added a Types column that displays the total number of types in the Library.
- The Libraries tab has added a Last Updated column that will get the last updated node timestamp that is contained in the library.
UI Components [07-26-2023]
A Tree Explorer component has been added that provides a tool to create navigation for a custom page in the platform.
A Time-in-State component has been added that allows for visualization of how long a data value remained in a certain timespan. This component has been integrated into the 'Last Hour' column in the Attributes grid.
The Duration Picker can now read information from a 'Work Shift Object' and display the work shifts in the duration dropdown in Trend and wherever the duration picker is used.
Other [07-26-2023]
- When adding a menu header to an existing menu dropdown without any items under the menu header, the dropdown does not close properly. This has been addressed.
Access Control Changes
The User Group TIQAdmin has been retired and replaced with DevAdmin. The purpose of the DevAdmin group is to provide complete system access to individual users while a system is still under development and the Model is being built out. The DevAdmin group can be used by Customers, ThinkIQ, and Integrators. As a system matures and a natural division of responsibilities ensues, the role of SiteAdmin can be assigned to users as needed.
- DevAdmin users can enable new users on the platform and place them into the appropriate User Groups.
- DevAdmins have full access to the Model Explorer and can perform technical duties such as building Types, creating Instances, creating Connectors, doing data backfills, etc.
- Localization has been enabled. If specific languages are needed, please contact your Support Specialist.