Keyfax
  • 📋What is Keyfax?
  • Product Suite
    • Keyfax Administrator Tools
      • System Requirements
      • Installation
      • Logging On
      • Navigation
      • Exclusive Mode
      • Script Levels
        • Master Scripts
          • Category Editing
          • Topic Editing
          • Self-Service Categories
        • System Scripts
          • Cancel
          • Priority Justifications
          • Results
          • Special Instructions
          • Startup
        • Script Sets
          • Category Properties
          • Setting up Topics
          • Topic Properties
          • Loading Script Sets
      • Script Editing
        • Script Editing - The basics
        • References
        • Testing your changes
        • Script Flows
      • Script Entities
        • Databoxes
          • Script Data
            • Host-specific notes
          • SQL Query
            • Testing SQL Query Databoxes
          • Import XML
          • Export XML
          • System Values
          • Company Data
          • Testing Databoxes & Expressions
          • Databox Read
          • Databox Write
          • Databoxes in Messages & Tasks
        • Questions
          • Address
          • Checklist
          • Date/Time
          • Dynamic Lists
            • Testing Dynamic Lists
            • Dynamic List Examples
          • External Forms (eForms)
            • External Forms - Technical
          • File Upload
          • List
          • Numeric
          • Text
          • Video Call
        • Asset Data
        • Markers
        • Messages
          • Testing Messages
        • Services
          • Host-specific notes
        • Priorities
        • Tasks
          • Enclosures & Attachments
          • Continuations
          • Host-specific notes
      • Reports
      • Databox Examples
        • Business Days
        • Working Hours
        • Time of day
        • Higher priority jobs
        • Script Duration
        • How did it happen?
        • Repair Description
        • Concatenating CSV
        • Tenant Handbook
        • Multi-line Addresses
        • Priority / Response Days
        • Contains Text
      • Databox Expressions
        • Text Expressions
          • CSV
          • Entry
          • Exists
          • FieldMerge
          • Index
          • IndexOf
          • InList
          • Item
          • Len
          • ListTidy
          • Lower
          • PadLeft
          • Replace
          • Row
          • RowMerge
          • SubStr
          • Trim
          • Upper
          • WCase
        • Numeric Expressions
          • Abs
          • AsNum
          • Between
          • Int
          • Mod
          • Number
          • Result
          • Round
        • Date Expressions
          • After
          • AsDate
          • Before
          • BetweenDates
          • DateAdd
          • Day
          • Month
          • Now
          • Today
          • WeekDay
          • Year
        • Number Formatting
        • Operators And Literals
        • Logical Expressions
        • Additional Functions
          • Ds
      • Users
        • Finding active users
        • Keyfax SSO – via Microsoft Entra ID Support
      • Advanced
        • Base Task Templates
          • Email Task Templates
          • Letter Task Templates
          • Note Task Templates
          • SMS Task Templates
          • VoiceSage Task Templates
          • Host-specific notes
        • Export & Import
        • Communications Queues
      • Host Operations
        • ActiveH Operations
          • Introduction
          • Actions
          • Databoxes & UDEs
          • Emails
          • Mail Merge Letters
          • Populating CallType
          • Populating JobType
          • Repairs Inspection Task
          • Repairs Interface
        • Fast Lean Smart
      • Best Practices
        • Extracting XML from Keyfax tables
        • Script Performance
        • Handling multiple rows from SQL
        • HTML Editor
        • Writing SQL Queries
      • Known Issues
        • Startup Messages
        • Running but not Visible
        • Error 1001 During Install
        • Stopped Working
    • Keyfax Staff
      • System Requirements
      • Advisor Feedback
      • Priority and Quantity
    • Keyfax Self-Service
      • System Requirements
      • Browser Support
    • KeyNamics
      • Model Driven Apps
      • Power Pages Portals
      • Installation
        • System Requirements
        • Solution Import
        • Basic Setup
        • Known Issues
      • Embedding
        • Model Driven Apps
        • Power Pages Portals
      • Configuration
        • Settings
        • Mappings
          • Creating Mappings
          • Minimum Mapping Requirements
          • Mapping Entity Form Fields
          • Mapping Lookup fields
          • Mapping Examples
        • FetchXML
          • Creating FetchXML queries
        • Logging
        • Test
      • Advanced
        • Mode Translation Rules
        • Customising Launch Button
        • Extending Export Data
        • Mapping Dump Fields
        • Mapping JSON Results
        • Enabling Help Panes
        • Mobile Operation
        • Handling uploaded content
      • Technical
        • Topology
        • Copying Environments
        • Keyfax Startup Data
        • Keyfax Export Data
    • Keyfax Client
      • Installation
        • Getting Started
        • Launch Tester
        • Uninstall / reinstall
        • Known Issues
    • Keyfax Cloud
      • Uptime Guarantee
      • Business Continuity
  • General
    • General FAQs
      • General Questions
      • Installation Questions
      • Migration Questions
      • Security Questions
      • Test & Training Questions
    • Keyfax FAQs
      • Keyfax Administrator Tools
      • Keyfax Staff
      • Keyfax Self-Service
      • KeyNamics
      • Keyfax Client
      • Keyfax Cloud
    • Issues & Solutions
      • Emails not working
    • Release Notes
      • Keyfax
        • 4.4.7
        • 4.4.6
        • 4.4.5
        • 4.4.4
        • 4.4.3
        • 4.4.2
        • 4.4.1
        • 4.4.0
        • Previous Releases
      • Keyfax Client
        • 4.0.0.44
        • 4.0.0.43
        • 4.0.0.42
        • Previous Releases
      • KeyNamics
        • 3.0.0.0
        • 2.0.0.13
        • Previous Releases
      • Older Releases
        • Staff
  • Integrations
    • API Docs
      • REST API
        • Quick Start
        • Deep Dive
        • API SDKs
          • .NET SDK
          • JavaScript SDK
          • Start-Up Data
          • Processing Results
        • API Reference
      • SOAP API
        • Quick Start
        • Error Handling
        • Status Codes
        • XML Schemas
          • Startup Schema
          • Results Schema
          • Results with Note
          • Cancelled Schema
          • Address data
      • Legacy APIs
        • Active X
        • Asynchronous Pluggable Protocols
        • XmlHttp
    • Integrations
      • Aareon
        • Introduction
        • Launching Keyfax Repairs
        • Launching Keyfax Enquiries
        • Configuration
        • SOAP based integration
        • QL Message fields
        • Known problems
      • Accuserve
      • ActiveH Desktop
        • Introduction
        • ActiveH Repair Interface
        • Known Problems
        • Keyfax Configuration
          • MISExchange.xml
          • Example Settings
          • Retrieving Block Codes
        • MIS Configuration
          • Exchange Process
          • Exchange Elements
          • User Permissions
          • User Security
          • UDE Interface
          • UDE Configuration
          • Settings
          • Desktop Configuration
          • Priorities Configuration
          • Populating Job Type
          • Populating Assigned To
          • Populating Call Classification
          • Configuring Log Call
            • Launching Keyfax from Response Repairs
          • Workflow Integration Actions
        • MIS interface Objects
          • CRM Gateway
          • Desktop Task
          • System Task Email Addressee
          • Desktop Task Action
          • Repair Request
          • Repair Request Inspection
          • Repair Request Task
      • ActiveH Portal (TIPS)
        • Introduction
        • Settings
        • Known Issues
      • ActiveH Web
      • Breeze IT
      • Caltech
      • Capita
        • Capita Housing / Academy
          • Host Table Usage
          • Troubleshooting
        • Open Housing
      • Civica
        • Civica CX
          • Introduction
          • Mappings
          • Start Up Data
          • Inspections
          • Known Issues
        • Civica CM
          • Known problems
        • Servitor
          • Example Import XML
          • Example Export XML
      • ContactView
      • Dynamics
      • Kirona
      • Lagan
      • MIS
      • MRI
      • Northgate
        • Launching Keyfax
        • Exchange process
        • XML/Field mappings
      • OneServe
      • ROCC
      • Total Mobile
        • Launching Keyfax (TASK)
        • TotalView Configuration
      • SDM
    • Best Practices
      • Integration Considerations
      • Displaying Keyfax Self-Service
  • Technical
    • General
      • Keyfax Architecture
      • Clearing Cache
    • Cloud Operation
      • Microsoft Azure
      • Amazon Web Services
    • Configuration Settings
      • Introduction
      • Paths Element
    • Developer Zone
      • eForm Technical Details
    • SQL Server
      • Freeing Space
      • Maintaining Indexes
      • Maintenance Plan
      • Restoring Live into Test
  • Links
    • Our Web Site
    • Our Blog
    • Try Keyfax
    • Contact Us
Powered by GitBook
On this page
  • How is a Keyfax release tested?
  • Should I host a test or training installation of Keyfax on a production web server or on the same SQL Server as my production databases?
  • What are my options for setting up a test / training systems / scripts?
  • How can I keep my test & training scripts up to date (i.e. as per Live)?
  1. General
  2. General FAQs

Test & Training Questions

Frequently asked questions related to Keyfax test & training installations.

How is a Keyfax release tested?

As part of each Keyfax release Omfax Systems enforce a comprehensive, multi-layered approach to product testing. This includes automated unit testing, executing manual test plans to verify all product functionality and executing manual integration tests to verify interactions between services and other 3rd party systems.

Automated scans are performed as part of each Keyfax release to highlight known security vulnerabilities and help identify any performance degradations.

The Keyfax product has built-in run-time integrity checks to verify the integrity of the data stored within the Keyfax database and alert Keyfax administrators to any identified data integrity issues.

Omfax Systems have established coding & security best practices and require committed code to be periodically peer reviewed to ensure code adheres to our established high standards.

Omfax Systems do not currently employ any form of end to end (E2E) automated product testing.

For further information on how we perform security testing please refer to our Security Questions

Should I host a test or training installation of Keyfax on a production web server or on the same SQL Server as my production databases?

We would generally always recommend unique resources for each type of Keyfax environment (dev, test, staging, production etc). Each environment would generally have one or more physical or virtual machines with at minimum dedicated storage and compute resources.

This is necessary to ensure each environment is separate and isolated from one another. There are many benefits to this approach, and this helps mitigate several risks.

We would highlight the potential risks of running non-production sites such as a testing or training site alongside production sites on the same shared server.

These risks include but are not limited to…

  • A shared server for testing, and production means shared resources: a shared disk, disk space & disk I/O, CPUs, network bandwidth. This can result in unwanted stress on the server.

  • If internal staff need remote RDP access to the test environment, they will likely have full access to the production environment. ACL administration to protect production activities can be more complicated in this scenario.

  • If the test database is hosted within the same SQL Server instance as the production database, the customer would need to be very careful that any changes intended for the test database are not accidentally applied to the production database. {should we mention support entitlement here?}

  • If the wrong database is accidentally updated does the customer have a back-up & restore strategy in place for the production database

  • Whilst it’s possible to isolate several installations of the Keyfax web application on a single web server and run multiple web sites from the same web server this does require specific configuration to ensure each web site is correctly isolated. At minimum you would generally create a unique web site within IIS pointing to a unique instance of the Keyfax files for each Keyfax installation. Each web site would have its own unique IIS application pool and configured permissions.

  • Bench marking, security, or load testing any web site on a shared VM could inadvertently affect other web sites on the same web server, for example if compute or bandwidth limitations are reached.

  • The servers up-time could be impacted when non-production sites are updated

  • Troubleshooting can be more difficult as issues may be logged at the system level and not the application level

  • System wide hot fixes and patches (for example OS updates) cannot be verified separately before they are applied on the production system.

  • Non-production web applications should be kept up-to date with the latest security fixes to minimize any attack surface

If multiple environments are cost prohibitive and the customer is prepared to accept the known risks & limitations of using a single server for each environment there is no technical reason within Keyfax the customer cannot run both a test and production instance of Keyfax on the same server(s).

What are my options for setting up a test / training systems / scripts?

You should consider the purpose/goals of a Test/Training system, i.e. do you want to:

  1. use a sandbox for occasional experimentation/practice

  2. develop scripts and test them before deploying to Live (by ad hoc requests for manual script copying or rekeying minor changes)

  3. test new Keyfax releases (and host integration)

  4. test new HMS releases (and Keyfax integration)

  5. use a separate Test database accessed through their Live Keyfax website and Live admin Tools

  6. wholly segregate Live and Test environments

  7. use separate SQL server(s)

  8. have a system specifically for training

  9. have a development/pre-production/live arrangement

or combinations of the above! Various scenarios are illustrated below:

Segregated DEVELOPMENT, TEST(aka PRE-PRODUCTION) and LIVE systems, each running on their own Web/SQL server(s)

Pros...

  • Able to take HMS/Keyfax updates, reconfigure as required and perform full integration testing/UAT.

  • Minimise possible/accidental impact on Live system or its interfaces.

  • With guidance (and by prior agreement), Client may be able to migrate changes across platforms.

Cons...

  • Additional initial setup cost (and possibly ongoing support/maintenance).

  • May require documented procedures for migrating updates/changes between platforms; these are subject to change in every subsequent software release.

DEV/TEST instance configured within Live environment using a separate Test database

Pros...

  • Enables administrators to test changes to scripts without impacting Live.

  • Provides a sandbox facility.

  • No separate Admin Tools required.

Cons...

  • Cannot test software upgrades (different versions of Keyfax cannot co-exist on the same web server).

  • If scripts are developed in a Test database with the intention of deployment in Live, other than re-keying into Live, this would require a manual migration of scripts. Currently, this procedure can only be carried out by by Omfax Systems Support.

  • Test HMS system can become mismatched with Test Keyfax e.g. registered users or other settings.

  • Where the Keyfax Client is used, and the HMS is not capable of passing Company (aka Configuration) codes, it will require a separate Client installation on designated fat/thin client machines.

Flag scripts as 'TEST' in the Live environment and only made available to production following local testing within Admin Tools.

Pros...

  • No separate environment required.

Cons...

  • Limited use, i.e. cannot test new versions of Keyfax or HMS software.

How can I keep my test & training scripts up to date (i.e. as per Live)?

A typical Keyfax environment may support up to 3 databases used by one or more webservers running Keyfax, e.g.

  • Live

  • Test (pre-production)

  • Training

To maintain synchronisation between the scripts, the simplest way is to periodically restore a backup of the Live database over the Test and/or Live database(s). Typically databases names take the format:

  • KF_SiteName_40

  • KF_SiteName_40_TEST

  • KF_SiteName_40_TRAIN

Restoring the database will also copy Users and History to the target database. It should be noted that if a restore takes place on a different SQL Server to where the backup was run, it will be necessary to run the following stored procedure on the newly restored database before it will become available:

utAutoFixKeyfaxUserLogins

In any event great care must be taken to ensure the direction of the restore and that the Live system remains untouched. Although it is technically possible to run backups/restores during the day, to ensure there is no impact on performance these jobs are best run out of hours. Before proceeding with any backup / restore activity detailed above, please advise Omfax Systems of your intentions.

PreviousSecurity QuestionsNextKeyfax FAQs

Last updated 19 days ago