Update the RSIG Administration Tool

RSIG - Updating the Admin Tool

 

Overview of the RSIG Admin Tool

The RSIG Admin Tool is a click-once deployed application that is used by RSIG support staff, QA and developers for varying tasks related to RSIG. These tasks include: monitoring the log file transactions, analyzing user related issues, assigning authorization to users, updating letter templates, and a host of other administration tasks and reporting capabilities.

To run the Admin Tool, there are a couple of levels of authorization required. The user has to be defined in the application itself, as well as requiring a specific RSIG system authorization role that needs to be associated to their RSIG contact record. The basic authorization allows for read-only access within the application. If a user needs to update data within RSIG (e.g.: update a letter template), then they require an additional task specific authorization role. Note that updates in “Production” require yet another level of authorization. If a new user requires access to the Admin Tool, they should contact the RSIG help desk. Note, that his application is NOT meant for RSIG users, rather it is geared toward support staff and developers.

The deployed version of the Admin Tool can be found at \\ncrdb102\Transfers\RSIG\RSIG Admin Tool\ClickOnce\. On startup the application checks to see if the latest version of the application is installed. If the user is not running the latest version, then it is automatically downloaded and installed.

When the application starts up the startup screen looks as follows:

 

The tool does many different functions. Each function is associated to a tab page as seen below:

The default function, displayed on startup, is the “Log File” function. On the grid associated to this tab page you can see the latest log file transaction in RSIG, for the environment specified. The “Set Delegations” function is also popular and often used in handling bulk authorization assignments.

Without going into the details of what each function does (which is beyond the scope of this document), one thing worth mentioning is that the admin tool runs against all database environments offered by RSIG. A dropdown at the top of the application allows the user to select the environment they are interested in.

When an environment is selected, the data displayed is immediately updated for that environment. The environment can be changed at any time.



Accessing the Admin Tool Codebase

The Admin Tool is a click-once deployment application. It is updated independently of RSIG. Hence the application can be updated at any time, without any reliance on the RSIG production release schedule. Being a click-once deployed application, once a new release of the Admin Tool is deployed – all current users will be automated updated to the new version whenever they next run the application.

 

Where is the Admin Tool Installed from

The deployed version of the Admin Tool can be found at \\ncrdb102\Transfers\RSIG\RSIG Admin Tool\ClickOnce\.

Clicking on setup.exe installs the Admin Tool for the first time. As mentioned above the Admin Tool requires a user to be authorized in order to be able to install and run the application. If a user is unauthorized, then a message stating that the application cannot be installed is presented to the user. If the install is successful, a shortcut to the application is added to the user’s desktop.

 

Why does the Admin Tool have to be Updated

The Admin Tool, like any active application, is updated on a regular basis with new enhancements and/or bug fixes. In general a developer familiar with the application would be responsible for updates of this nature.

But one thing that happens on a regular basis is that the connection to one specific RSIG environment is updated. For example in March 2023 the UAT database connection string was changed due to the fact that the database was moved from one SQL Server instance to another. When this happens the connection string has to be updated in the Admin Tool, as the previous connection string is no longer valid.

Also note that another common update is adding a user to the list of users who are allowed access to the application. More details about this update are written up in the next section.

The remainder of this document describes how the Admin Tool codebase is updated, and then deployed in order to service a simple update request (like an update of the UAT connection string).

 

Where is the Admin Tool Codebase

The Admin Tool is a .NET solution that is found under the ..\RSIG\Utilities\RSIGAdminTool\. The solution is named RSIGAdminTool.sln.

The solution is accessible via DevOps, in the same location and manner in which the RSIG solution is retrieved and updated.

 

Updates to the Admin Tool are always checked-into the development branch, as is done for the RSIG code.

 



The Admin Tool Solution

The RSIG Admin Tool solution is comprised of the following:

There are two projects, RSIGAdminTool and RSIGAdminTool.Setup. RSIGAdminTool.Setup is no longer used. It was used before the application converted to a click-once deployment application. Should there ever be a need to deploy the application via a local MSI file, then this project could be brought back to life.

 

The main form for the application is frmAdmin, which is also the startup form and is displayed at all times.

 

Within the main project there are a collection of classes that support each specific feature tab within the application, as well handlers for general functions related to database access and application startup.

Under the “Utilities” folder are classes that provide general topic specific procedures. Many of these procedures come directly from RSIG.

 

General Notes about the Admin Tool

A couple of general notes concerning this solution:

  • The application is written in VB.Net. and is using .NET framework 4.5.1.

  • The data displayed in the application is read-only and is retrieved via inline SQL. The class “InlineSQL.vb” handles all of the details.

  • The SQL Server Application Role “RSIGAdminTool” is required in order to allow the application the read-only rights to access the tables defined in the inline SQL statements.

  • The updates done by the application (e.g.: Add delegation rights, update letter templates, etc..) are all done via stored procedures. These procedures are all stored within the RSIG database repository and are prefixed with “AdminTool”.

  • The application does not have any special dependencies. Infragistics controls are NOT used by the application.

  • All RSIG database connection strings are defined in the app.config file.

  • The ids of the users who are allowed to run the application are defined in the app.config file. The ids can be associated to specific environments, or defined for all environments. A special entry exists for production updates. As mentioned in the previous section, when a new support staff person is hired, in general, they require access to the Admin Tool. To add a user the application’s app.config file has to be updated and the application redeployed.


Updating the Admin Tool Solution

The following steps are required in order to apply a change to the Admin Tool and then deploy it so that users have access to the updated version.

 

Step 1: Update the Version Number

Within Visual Studio, view the code in frmAdmin. At the top of the file is the application revision history.

 

Increment the version number. For the example above create a new entry #VERSION 2.7.23 and add the current date to it and a brief description of the change.

 

Now do a global search on the previous version number (in this case 2.7.22). The search should return with the following results:

Update both of these values (app.config and AssemblyInfo.vb) to the new version number. For the example seen above the new version number would be 2.7.23.

 

Step 2: Apply the Change

As mentioned in the previous section, updates to the Admin Tool could revolve around enhancements or bug fixes. In these cases there obviously is no fixed pattern on how to make changes.

 

In this document we will simply show how to update a specific connection string (also known as a database environment). The database environments are defined in the app.config file in the “connectionStrings” section. In this example we will assume that we want to change the UAT (User Acceptance Testing) connection string.

 

This is what the whole “connectionStrings” section looks like in the app.config file (as of March 2023):

 

Update the database environment that needs to be updated. Note that the connection string has to be updated twice, once for the unencrypted entry and once for the encrypted entry.

 

A good practice is to leave the old definition commented out, just in case in the near future we might go back to the old connection string should there be a problem with the new one. In the above image you can see the UAT connection string still has a commented out reference to the previous value. The previous definitions should eventually be removed if they are of no more value.

 

Step 3: Test the Change Made

Save all of the changes made in the previous steps and run the application. In order to test to see if the change has been made successfully, keeping in mind that for we are updating the UAT environment in this example, select the “User Acceptance Testing: selection at the top of the screen when the application pops up.

 

After the selection has been made view the bottom left hand corner of the application which describes the current connection location.

 

If this information is in fact the new connection string, then the change made has been successful.

 

Step 4: Deploy the Change Made

To deploy this change right click on the RSIGAdminTool project and select “Properties”, then select “Publish” on the options in the left hand margin.

 

You can see that the see that the publishing folder location is \\ncrdb102\Transfers\RSIG\RSIG Admin tool\ClickOnce\. This is the location where users install the application from. NEVER change this location.

 

There are only two steps required when deploying. The first is to change the “Publish Version” to the current version number. In general just increment the build number by one and set the revision number to 0.

 

The second step is to do the actual deployment (or publishing). Click on “Publish Wizard” button. This will display the following dialog box:

 

There is nothing to enter here, just click on “Next” and then the following dialog pops up.

 

As with the previous dialog there is nothing to enter here, just click on “Next”.

 

 

 

As with the previous dialogs, click on “Next” here again.

 

At this point clicking on “Finish” will deploy the application.

 

Note that clicking on “Publish Now” on the first dialog is equivalent to clicking on the “Publish Wizard” button in cases where there are no changes being made to the publish wizard dialog boxes (as is the case above).

 

Step 5: Test the Deployment

To make sure that the deployment was successful go the installation folder. Under “Application Files” there should be a new subfolder with the version number just deployed. If the version deployed was “v2.7.22.0” then you should see a folder named “RSIGAdminTool_2_7_22_0”.

 

The second test is to actually run the application. Run the application from the link provided above, or click on the Admin Tool shortcut on your desktop if it has already been installed.

With the application running check the version number in the top right hand corner of the application.

If the version number matches the version just deployed then it seems like the deployment was successful.

At this point an optional step is to have someone on the support team try running the application to make sure that they are also getting the latest version.

 

Step 6: Check-in the Code Changes Made

One step NEVER to be forgotten is to check in the code changes made to the RSIGAdminTool solution once the application has been successfully deployed.