The following answers some Frequently Ask Questions about SCADAvantage software patches. In all cases, the Caller is an ABB customer who has contacted Product Support with a problem report.
When is a Patch provided?
Patches are only provided when a suitable work-around with the installed software is not possible. In addition, the following conditions apply:
• The Callers version of SCADAvantage must be in the Active phase of the product lifecycle.
• The problem has not been previously corrected in a newer service pack or product version.
Once the Callers version is in the Classic or Limited phase of the product lifecycle, the Caller must upgrade to the latest service pack or product version before a patch is issued. What’s needed before a Patch is created?
Before a patch is created, the problem is investigated either by Product Support or a Software Tester. If the problem can be repeated using steps provided by the Caller, the problem is recorded in the bug tracking system and forwarded to Software Development. Otherwise, more information is requested and assigned back to Product Support who:
• Directly contacts the Caller with additional questions to isolate the problem
• Directly contacts the Caller to try diagnostic versions of software in order to isolate the problem and/or a solution
Any correspondence between ABB personnel and the Caller is recorded using the [email protected] e-mail address in order to track progress. How are changes in a Patch managed?
With the problem repeated, a solution is created by the Software Developer. When the solution is working and appears to have no side effects, the developer checks in the changes. If the problem can be repeated internally by ABB, the changes are first checked into the next build of a future product release. Otherwise, if the problem requires the Callers environment to test, the changes are first merged into the Callers version of the product. In both cases, the files are checked into source code revision control system. ABB uses Microsoft Visual SourceSafe for version 5.3.1 or older and Microsoft Team Foundation Server for version 5.4.0 or newer.
How is the Patch Created?
On the computer that originally built the final release of the Callers version of the product, the Software Release Manager carefully gets the specific changes merged into the revision control system. The specific components and any dependencies from other patches are compiled. The resulting changed components and files are combined in a patch folder marked “InDev” to indicate “In development”. A description of what is fixed by the patch plus any side effects and instructions for installing the patch are written. The patch folder is released for testing. Until the patch is released, the build changes are not committed. How is the Patch Tested?
In some cases, the Caller may be assigned as the Software Tester to test a patch. This typically happens when the Caller has a specific hardware or firmware version or a
complicated communication system (like Satellite) which is not available to ABB. In some cases, the Support Person is assigned as Software Tester since they have remote access to the system that needs patching.
However, when ABB can repeat the problem, using a computer with the Callers version of software, the Software Tester follows the instructions to install the “InDev” patch. The Software Tester confirms the problem is corrected. If the problem is not corrected or there are unwanted side effects, the issue is assigned back to the Software Developer or Software Release Coordinator to correct.
Once the patch is confirmed to work, the instructions are updated with any additional information found during testing and the patch file updated with the current date. The “InDev” is removed from the patch folder. The files in the patch folder are compressed to a .zip file and marked read-only. A document containing the history of all patches for the corresponding software version is updated to include details about the patch. The machine used to build the patch is committed so future patches include these changes. Finally, if the patch hasn't already been installed, the Support Person emails the patch to the Caller. How does ABB ensure the changes in the Patch are in a future version of the product?
Using a computer with the Callers version of software that demonstrates the problem, the Software Tester installs the next build of a future product release. Any database upgrades or HMIs are re-compiled. The Software Tester confirms the problem is corrected. If the problem is not corrected or there are unwanted side effects, the issue is assigned back to the Software Developer or Software Release Coordinator to correct.
When both the patch and future product version is confirmed to correct the problem, the resolution in the bug tracking system is set to Closed and Verified. Any recording of the software while it was tested is also associated with the bug.
What’s contained in a typical Patch? The following files are common to all patches:
• PatchReadMe.txt – a description of what is fixed, any side effects and instructions for installing the patch
• GetExistingVersion.vbs – this determines you are running the correct version of the product before installing the patch
• PatchInstall.bat – a script file that makes backups and copies new files depending on the SCADAvantage features installed.
What happens when a Patch is installed?
Before each new file in the patch is copied, a backup of the original file is copied to %SVHOME%\SupportFiles\Upgrade\<PatchName>.BAK folder. Once all files have been updated, the file %SVHOME%\SupportFiles\Upgrade\CurrentHotfixes.txt is modified to indicate this patch has been installed. When a server is started, the contents of
CurrentHotfixes.txt are copied at the beginning of the SCADAvantage.txt diagnostic log. When diagnostics are requested by ABB, this helps to determine which patches are already installed.
How is a Patch Deployed using CAM?
CAM is an optional method for deploying HMI updates to a large number of desktops. Currently, deploying a patch is a very manual process. If the patch includes files for any of the SCADAvantage Client Features (CAM client, Client runtime, Administrator Tools or HMI developer tools), the patch first needs to be installed on the HMI development workstation. Using the files backed up when installing the patch as a guide, the CAM server needs with File Elements for each of these updated files. A CAM group needs to be created which includes all these File Elements. Finally, the CAM group needs to be associated with any CAM application. The HMI application and any templates need to be recompiled and
refreshed to the CAM server. The next time a HMI is started, the new files from the patch plus the updated HMI are deployed to the desktop.
Other Patch Considerations
The Caller is responsible to track the order in which patches are installed. If a
SCADAvantage system needs to be re-installed, patches should be installed oldest to newest. The file %SVHOME%\SupportFiles\Upgrade\CurrentHotfixes.txt is updated each time a patch is installed. It’s possible to use this file to determine the order in which patches were installed.
Patches may be limited to a real-time server, application server or a client and should only be applied on such a system as directed in the instructions that accompanies the patch. Only systems exhibiting the problem should be patched unless a broader distribution of the patch is recommended by ABB.
Patches are for a specific version. Once a newer version of the product is installed on a computer, older patches for the prior version should not be applied.
While a patch makes a backup of the original files, there is no automatic undo. ABB recommends testing the patch in a QA environment which supports snapshots and restore capability such as a virtual machine environment like VMware or Hyper-V.