In any industrial automation project, keeping track of the changes made throughout the development process is crucial for maintaining efficiency, ensuring quality, and preventing potential issues. FactoryStudio, a powerful and versatile software platform, offers a wide array of features designed to help users manage and track changes within their projects effectively.
This chapter provides an overview of the various change tracking features available in FactoryStudio, such as Recent Changes, Version Identification and Configuration Management, Cross-Reference and Use Count, and Managing Unused Objects. Additionally, it covers essential topics related to collaborative development, user changes logging, and backup and recovery strategies.
On this page:
Using Recent Changes Table
The Recent Changes feature in FactoryStudio allows users to keep track of the modifications made within their projects, providing a quick and efficient way to keep up to date with project development and maintenance.
When opening a Project, the Welcome page shows the latest changes in the project, with hyperlinks to that configuration.. See <link <Project Development > Welcome>>
That information is retrieved from a RecentChanges tables what in maintained inside the Project file itself.
Overview of the Recent Changes interface
Navigating to Track > RecentChanges you have access the Recent Change Table
<<Image later>>
<<Add Description of the columns.
Setting up data retention duration
<< Expainlt the top configuration to change the retention policy. Explain on admin can modify. Explain the comments column can be edited.
Viewing and filtering recent changes
<< Basic explains on filter, refer to link on Grid usage on the project.
<< Explaing about double-click to navigate to the item.
Version Identification and Configuration Management
This section contains:
- Overview of version identification in FactoryStudio: Managing change information and configuration elements
- Importing and Exporting elements : create or retrieve CSV and JSON files with project configuration information.
- Integrating with popular version control systems (e.g., Git)
Overview of Version Identification
The Project configuration is essentially a SQL Database schema, with tables for the various modules and its configuration contents.
For instance, The Script > Tasks configuration archived s ar a table inside the Project File, TPROJ, that contains all Project Tasks and its related configuration, include the code itself in this examples.
That Database centric organization of the Project Configuration, allows an effective an effective means to track version changes. Every time any row is changed, a property named VersionID is increments for that row. Simultaneously the VersionID for the table is also incremented.
The VersionID for the objects can visualized marking that column visible in any configuration table, the columns DateCreated and DateModified are useful as well. Look at section << Working DtaGrid>> to review on how to make columns visible or not visible, and the common columns all configuration tables have.
Importing and Exporting elements
The Project Designer main toolbar has two icons for importing and exports the selected table, or document to a text files
<Image of icons>
According the type of data you are exporting, the system will create a CSV file, a JSON file, or both. Here is the summary:
CSV files: when exporting information from DataTables, like list of Tags, or AlarmItems, a CSV is created.
JSON files: If the selected user interface is a Form, like Alarm GlobalSettings, or a document, like a Script Code, or Display Draw, a JSON is also created.
Those files are created in a sub-folder with name Git-<project name>. The location of that folder is under the Project location, if you are opening the project from our location computer, or those files are created under MyDocuments if you are opening a file from a remote Project Server.
When the Import action is executed <image ICON>, the system looks for the JSON or CSV files, according to the table or document you are editing, and imposing that configuration to the project.
Integrating with version control systems
The export and import to text files, describe on previous sessions can be used from integration of version controls systems.
In order to facilitated that integration, the ProjectDesigner Welcome page has a configuration settings to automatically export the text files, when doing any project change.
<< Text Description of the settings, and Image)
When that option is set, when doing any change in DataGrid, like the Alarm Groups tables, or documents, like Scripts or Displays, the file is created when you save the document, or navigate way from that user interface, or when the configuration tools is close.
In order to store those files from GIT, or other version management systems, you just need to do the proper mapping of that folder. The How-to-guides section has a step by step description on how to do with GIT, see link <<<<<. create doc >>>>>.
Cross-Reference and Use Count
- Overview of the Cross-Reference and Use Count interfaces
- Analyzing the usage of objects within the project
- Identifying dependencies between objects
Managing Unused Objects
- Overview of the Unused Objects interface
- Identifying and removing unused objects
Access the Run → UseCount → Unused Objects tab and click the Refresh button to get the current unused object list.
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 does it work?
It works when there is an object that is not in use. The unused objects can be either tags, devices, or even a report page that is not being used.
When does it not work?
It does not work if the desired object is being used, either by something on the screen or by a line of code or script.
Does this functionality identify the tags being passed as a reference by the .Link property?
No. It is very important to pay attention to the tags that are being passed by the .Link property. Since you cannot undo this changes, our software warns you that it is highly not recommended to delete something in this situation (see previous image).
If the object is used as an expression, such as TK.GetObjectValue, will it recognize the use?
No. Just like the “.Link” reference described above, the expression TK.GetObjectValue needs extra attention. Even if an object is in use, it will appear as if it were not in use. This is why we always recommend using the <Object>.GetName() method and not the “Object Name” as a typed text.
Collaborative Development, User Changes Logging?
- Setting up and managing user roles and permissions
- Resolving conflicts and handling simultaneous edits
Backup, Recovery and Depoyment?
- Project configuration file and runtime databases?
- Copying files for backup
- Automatic backup creation during the build process
- Read-only published version of the Project
- Deploying Project changes to production environment
In this section...