Test Site Creation

Introduction

It is desirable in most server environments to experiment with new software well before it is deployed in Production.  This allows the IT team to determine whether the environment meets the application's system requirements, find and take note of unexpected behavior, build and stage its configuration, and generally become familiarized with its operation.  

Similarly, in an environment already running Issuetrak, it is usually undesirable to make sudden and/or radical changes to the configuration of the Production Issuetrak site without testing these changes in another site.  Untested configuration changes could disrupt the workflow of end users, prevent the creation of new issues, remove certain users/groups' ability to see certain existing issues, and create frustration in your organization.  

However, there is a high potential for problems when deploying a test site in an environment with a pre-existing Issuetrak instance:

  • Accidentally removing the SQL jobs of a legacy Issuetrak site
  • Creating a conflicting binding for a site in IIS, disrupting service to unrelated sites
  • Cycling app pools in IIS, causing disruption of service to unrelated sites

Additionally, if the Test instance is using a copy of the Production database:

  •  The Test instance might 'compete' with the Production site's IEM processing, pulling email from Production mailboxes and processing them in the Test site
  • The Test instance might fire duplicate email notifications, causing confusion amongst end users
  • The Test instance might improperly send issue escalation notifications to users unaware of the Test site's existence, causing confusion and wasting productivity
  • Issue data might not be properly scrubbed, allowing certain users to access data that they otherwise wouldn't have access to in Production

It is highly recommended that you contact Issuetrak Support for assistance with deploying a test site that takes your environment and situation into consideration.

Deployment Pre-Flight

Note:  These instructions are intended for use only with Issuetrak 11.0 and above.

This scenario has a test site being deployed on the Production web server and is based on a copy of a Production database.  We're going to prevent services and scheduled tasks from being deployed with the site by generating a JSON of the existing site and then changing it to conform with the test site requirements.  If you haven't already, go ahead and familiarize yourself with our JSON documentation.  

Create a backup of the Production site's database, then restore it to the database server that you will use to host the Test database.  Make sure you label the database with something descriptive that clearly marks it as a Test database.

Run the script below against your Test database to disable all features that are reliant on scheduled tasks and services.  This is a safety measure against causing extra work later.  You can read the script to get a good idea of what it's doing.  The main benefits are:  

  • The test site won't process incoming email.
  • Outgoing Email notifications won't be sent.  

You can learn more in-depth detail about how Services and Scheduled Tasks are configured here.

 

DECLARE @Database VARCHAR(50) 
SELECT @Database = Db_name() 

UPDATE PARAMETERS 
SET    Parametervalue = Parametervalue + 'test/' 
WHERE  Parameter = 'ApplicationURL' 

UPDATE PARAMETERS 
SET    Parametervalue = Parametervalue + ' TEST' 
WHERE  Parameter = 'IssueTrakTitle' 

UPDATE PARAMETERS 
SET    Parametervalue = 'False' 
WHERE  Parameter IN ( 'UseActiveDirectory', 'UseADLoginUpdate', 'UseADSingleSignOn' ) 

UPDATE PARAMETERS 
SET    Parametervalue = 'False' 
WHERE  Parameter IN ( 'ProcessIncomingEmail', 'UseEmail' ) 

UPDATE ADPARAMETERS 
SET    Server = '' 

UPDATE REPORTSCHEDULE 
SET    Rptschactive = 0 

UPDATE ESCALATIONRULES 
SET    Inactive = 1 

UPDATE IEM_MAILBOXPARAMETERS 
SET    Mailserver = '' 

UPDATE IEM_MAILBOXPARAMETERS 
SET    Inactive = 1 

UPDATE OUTGOINGMAILSERVERPARAMETERS 
SET    Mailserver = ''  

Generating a JSON

  1. Download the latest Issuetrak distribution.  
  2. Extract the distribution on the web server and take note of where you're extracting to.
  3. Open the IDM on the Issuetrak web server.
  4. You must agree to the Issuetrak Terms of Service.
  5. Choose Go to the Sites Explorer.
  6. In the upper left corner of the IDM, click Add Sites for Deployment, then click By Scanning for Existing Issuetrak Sites.
  7. Choose whether to use SQL credentials or the current Windows credentials to authenticate to the SQL server, and then click Authenticate. Note that you may be prompted more than once, if there are multiple SQL servers used by different instances of Issuetrak running on this server.
  8. Read the list of sites and check off the site you need to make a test version for.
  9. Click Export Selected.
  10. Set the filename and location to save the exported JSON.

Editing the JSON

 
  1. Open the JSON using Notepad++.  
  2. Scroll to the bottom.  
  3. Services and Scheduled Tasks:  For each of the JSON objects labeled with "Should…", set the value to "false".  
  4. Initial Site Settings:  Add the following key/value pairs to the beginning of the Sites object in the JSON: "InitialOrganizationName":"MyOrgName",
    "InitialAdminPassword":"MyAdminPassword",
  5. Database Settings:  
    1. Change the value for each user and password object in the "Database" section of the JSON.  These SQL user accounts don't need to exist, since the IDU/IDM will create them for you during deployment.  If you do not change the username values, your Production site will become inaccessible due to its Connection Strings being rendered incorrect.  
    2. Change the Database "Name" value to exactly match the Test database you restored earlier.
    3. If necessary, change the "Server" value to match the database server you will use to host the Test database.
    4. If necessary, change the "AdminAuthenticationType" value to match your database authentication scheme.  This value can be either "Windows" or "Sql".  
      1. If you have this value set to "Windows", then ensure there are null values for each of the "AdminName" and "AdminPassword" objects.  
      2. If you have this value set to "Sql", then ensure that there are valid SQL admin (sa) credentials filled for the "AdminName" and "AdminPassword" objects.
  6. Application Settings:  
    1. Change the values for each of the "AppPoolName" objects within the "Application" object.  If you do not change these values, the app pools for your Production site will be cycled during deployment, causing an outage until the test site deployment is completed.
    2. Change the "PhysicalPath" object to reflect the desired location to store the Test site's web files.  Remember to include double backslashes.  If you do not change this value, then there will be a strong possibility that the Production Issuetrak site's files (of particular note, MVC and Classic connection strings) will be cleared and/or corrupted, preventing operation of the site.  
  7. Site Settings:
    1. Review the "Bindings" section and determine what changes should be made.  It is recommended to change the Port number so that it doesn't conflict with the binding for the Production site.  
    2. Change the "Name" to reflect something descriptive, such as "Issuetrak Test Site".
    3. Change the "ApplicationUrl" to reflect the new URL that will be needed to access the Test site.
    4. Blank out the value for "SecureStorageKey", but make sure that you leave double quotes in place.  
    5. Leave the "LicenseKey" value in place.  You are entitled to one Test site and one Production site per license key, per the Terms of Service.  
    6. If present, adjust values in the "API" object to reflect the Test site's file paths.
      1. Blank out the value for "ApiKey", but make sure that you leave double quotes in place.
  8. Save the JSON.

Deploying the Test Site

  1. Open the IDM on the Issuetrak web server.
  2. You must agree to the Issuetrak Terms of Service.
  3. Choose Go to the Sites Explorer.
  4. In the upper left corner of the IDM, click Add Sites for Deployment, then click From a Configuration File.
  5. Browse to the previously-saved JSON and open it.  
  6. Only one site should appear in the IDM, and it should be the Test site that doesn't exist yet.  Verify that it matches what was entered into the JSON, then check the box next to it.  
  7. Click on Deployment Options in the top menu, then uncheck ServicesThis is an extra precaution against deploying your Test instance with functional services and tasks.
  8. Click View Options, then check the option Show IDU Output.  
  9. Click Deploy.  
  10. Monitor the progress of the deployment.  If deployment fails, please contact Issuetrak Support.

You're finished!  You can go into your test site, make desired configuration changes, and test the effects.