Introduction
The module Track Changes offers support compliance with standards like ISA and NERC-CIP. It documents changes, manages configurations, analyzes impacts, and identifies system components. This facilitates audits and enhances system security and integrity. The Version Control function maintains a record of system versions for compliance. Cross-Reference shows how changes affect the system. Use Count and Unused Objects help manage system components, minimizing security risks and streamlining maintenance. This approach ensures regulatory compliance and strengthens SCADA and ICS environments.This chapter provides an overview of the different change tracking features available in software platform, such as Recent Changes, Version Identification and Configuration Management, Cross-Reference and Use Count, and Managing Unused Objectsprovides additional features and tools for tracking the engineering solution changes, covering the following: Recent Changes, Version Control, Cross-Reference, Use Count, and Unused Objects. This page provides an overview of the available features for tracking changes in the software platform.
On this page:
Table of Contents | ||||
---|---|---|---|---|
|
Purpose and Key Concepts
Track Changes module has tools and features for control changes like Recent Changes, Version Control, Cross-Reference, Unused Object, and Use Count.
Recent Changes
Allow for spotting and rectifying issues introduced by new code updates, maintaining software stability and security.
Version Control
Tracks every modification in the solution history, facilitating collaboration and problem-solving.
Cross-reference
Identifies dependencies between software components, preventing unintended impacts from changes.
Unused Object
Cleans up the codebase by removing elements, reducing security risks.
Use Count
Informs optimization efforts by highlighting the most used parts of the software to maximize performance and security.
Understanding the Track Changes module
Recent Changes interface
Navigating to Track Changes → Recent Changes provides access to the Recent Change Table. The table displays information such as the Configuration Name, Type, Date and Time of modification, and User who made the change. It also shows a summary of what changes were made to the configuration.
Using Recent Changes Table
The Recent Changes feature in software platform allows users to keep track of the modifications made within their solutions, providing a quick and efficient way to keep up to date with solution development and maintenance. When opening a solution, the Welcome page shows the latest changes in the solution, with hyperlinks to that configuration. That information is retrieved from a RecentChanges table that is maintained inside the solution file itself.
Setting up data retention duration
software platform allows you to configure the duration of data retention for the RecentChanges table. This setting can be modified by an administrator and allows users to control how long they want to retain information in the Recent Changes table. Additionally, the Comments column can be edited to provide context and further information about the changes made.
Viewing and filtering recent changes
Users can view and filter recent changes by configuration name, type, date and time of modification, and user who made the change. Additionally, double-clicking on an entry in the Recent Change Table will navigate the user to the relevant configuration. Filters can be used to refine the display and only show relevant changes. To learn more about filtering data in software platform, refer to the Grid usage section in the solution documentation.
Version Identification and Configuration Management
This section contains:
- Version identification
- Importing and Exporting elements
- Integrating with popular version control systems
The solution configuration in software platform is organized as a SQL database schema, with tables for various modules and their configuration contents. Each time a change is made, the VersionID property is incremented for that row, and the VersionID for the table is also incremented. This allows for an effective means of tracking version changes. Users can view the VersionID for objects by marking that column visible in any configuration table. The DateCreated and DateModified columns are also useful for tracking changes. Refer to the Working DataGrid section to learn more about making columns visible and common columns for all configuration tables.
The solution Designer toolbar features two icons for importing and exporting selected tables or documents to text files. Depending on the type of data being exported, a CSV file, a JSON file, or both may be created. CSV files are used for exporting information from DataTables, while JSON files are used for exporting forms or documents such as Script Code or Display Draw. These files are created in a sub-folder named Git-<solution name> within the solution location. The system can import the JSON or CSV files back into the solution, and the export and import features can be used for integrating with version control systems such as Git. Refer to the How-to-guides section for more information on version control system integration.
To facilitate integration with version control systems, the solution Designer Welcome page features a configuration setting to automatically export text files whenever changes are made. When this option is enabled, changes made in DataGrid or documents are saved to a file when the user saves the document or navigates away from the user interface. The exported files can be stored in GIT or other version management systems by mapping the appropriate folder. The How-to-guides section provides a step-by-step description of how to integrate with GIT.
Cross-Reference and Use Count
- Overview of the Cross-Reference and Use Count interfaces
- Analyzing the usage of objects within the solution
- Identifying dependencies between objects
By using the Cross-Reference and Use Count features, users can ensure that their solutions are efficient and free of unused or unnecessary objects, which can improve solution performance and reduce maintenance costs.
The Cross-Reference and Use Count features in software platform allow users to analyze the usage of objects within their solutions, identify dependencies between objects, and manage unused objects. The Cross-Reference feature shows the objects that are referenced by other objects within the solution, while the Use Count feature shows the number of times an object is used within the solution.
The Use Count feature in software platform allows users to analyze the usage of objects within their solutions. Access the Run → UseCount → Unused Objects tab and click the Refresh button to get the current list of unused objects. This feature is useful in identifying objects that are not in use, such as tags, devices, or report pages. The Run → UseCount → Used Objects tab shows objects that are being used.
The Cross-Reference feature in software platform allows users to identify the objects that are referenced by other objects within the solution. This feature is useful in identifying dependencies between objects and ensuring that changes to one object do not adversely affect other objects in the solution. The Cross-Reference feature can be accessed by selecting an object and then selecting Run → Cross-Reference.
Managing Unused Objects
The Unused Objects feature allows users to identify and remove unused objects from their solutions. The Refresh button located on the Unused Objects tab displays all the objects that are unused. Users can select the object they want to remove and click Remove. Multiple objects can be removed at once by selecting multiple objects and clicking Remove. It is important to note that this feature will only work if an object is not in use. If an object is being used, either on the screen or by a line of code or script, this feature will not work. Additionally, it is highly recommended to pay attention to tags that are being passed by the .Link property and to use the <Object>.GetName() method rather than the object name as a typed text in expressions like TK.GetObjectValue.
Identifying and Removing Unused Objects
Access the Track Changes → Unused Objectstab and click the Refresh button to get the current unused object list.Key Components & Main Functionalities
Children Display
style h4 excerptType rich content
All the objects found are unused. Select the object you want to remove and click Remove. You can remove more than one object by selecting multiple objects at once and clicking Remove....
When It Works and When It Doesn't
The Unused Objects feature only works for objects that are not in use. If an object is being used by something on the screen or by a line of code or script, this feature will not work. It is important to note that the functionality does not identify tags being passed as a reference by the .Link property. Therefore, it is highly recommended to use caution when removing objects that are being passed by the .Link property, as this can have unintended consequences. Additionally, the feature does not recognize objects that are used as expressions such as TK.GetObjectValue. To ensure proper identification, it is recommended to use the <Object>.GetName() method rather than the object name as a typed text.
Collaborative Development, User Changes Logging
<To do>
- Setting up and managing user roles and permissions
- Resolving conflicts and handling simultaneous edits
Backup, Recovery and Deployment
data visible on the User Interface.
- solution configuration file and runtime databases
- Copying files for backup
- Automatic backup creation during the build process
- Read-only published version of the solution
- Deploying solution changes to production environment
Cross-Reference, Find and Teleport
You can find, sort, and filter to easily locate the tag(s) of interest and ALL locations where it(they) exists, then double-click a tag to go to where the tag is being used, whether in a display or even a line of code. It also works for finding other things such as Alarms, Displays, Reports, Scripts, Devices, Datasets, Historian Tables, and User Created Data Types (UDTs/Templates)
You can view how many times each object is used in the Solution, and view a list of objects that are not used in the Solution.
To select the object which you want a cross reference:
1. Do one of the following:
From a table that has the object you want to find, select the object. For example, select the tag you want to find elsewhere in the Solution. The Find field in the toolbar auto-populates with the name of the selected tag.
In the Find field of the toolbar, enter the type of object (tag), followed by a period ('.') and the object name (the tag name in this case). As you type in the field, the system matches the first entry. After the first period, all objects of that type will be listed.
Next to the Find field, click "...". The Select Object window displays with a list of all the object types. When you select an object type, the names of that type will display.
2. Click Find or, from the Select Object window, click OK. The Find window will display the search results at the page bottom.
3. Double-click any row in the find results to go to that item.
4. To close the results panel, click Find window at the bottom of the page.
To track the number of times an object is used, go to Track → UseCount. The table lists the number of references to every object in the system.
To view objects that are not used, go to Track → Unused Objects.
For a complete cross-reference of all objects, go to Track → Cross Reference.In this section:
Page Tree | ||||
---|---|---|---|---|
|