Keyfax issues - Shared Profiles

Symptoms

Users report that they are asked questions while in a script which do not appear to have any relevance to the selected script.

Or

Users receive an error message that reports that the selected option/input points to a Question which does not exist. See the following example:

Keyfax Script Error

Additional information:
The selected option/input points to Question number 4, which does not exist.
To resolve this problem, please ask the Keyfax Script administrator to correct the problem in the following script:


Electrics: Smoke detector

Please report this error to an administrator:
If this problem persists, please cut and paste this error report into a text editor (or copy with a screen capture) and send to Omfax Systems Ltd.

Cause

This behaviour is likely to be as a result of users sharing a Windows Profile or logged into a Keyfax host application using the same user credentials.

This problem occurs as a result of how Keyfax identifies each individual user and uses a Globally Unique Identifier or GUID to store current session data.

Each Windows user has a 'profile', which includes a 'My Documents' folder together with a unique user Windows Registry, HKEY_CURRENT_USER (HKCU). When a user logs into Windows, a Windows 'profile' is used for that login (a new profile is created the first time a user logs in successfully).

Keyfax uses the user's HKCU Registry to hold a 'profile' GUID (Keyfax SessionID). If a profile uses Keyfax for the fist time Keyfax will then automatically create a new unique SessionID. This SessionID is then always used for each Keyfax transaction for that profile from that point on to hold current script data (session data) for script navigation, and to return generated results to the host application.

The UserID passed from the host application is used for Keyfax user security and to perform database housekeeping (clear previous session results on follow up sessions). Therefore, if the same user is logged in at a later time using a different Windows Profile, then the UserID (passed from the host application) will still perform the database housekeeping.

When multiple users share a Windows Profile, they will always share the same Keyfax SessionID, as this is read from the shared HKCU Registry. When Keyfax is launched from the host application (despite having different host application login names) any data saved under the Keyfax SessionID may be confused if a second instance of launched for the same profile.

Put simply, both users will be running instances of Keyfax with different host application logins but under the same SessionID. As a result Keyfax will not be able to differentiate between the script requests of each client and may display an error if a request for database held session data returns information not related to the users chosen script.

Resolution

The solution to this problem is to ensure that each user logs in with unique credentials (separate profile) as well as using a distinct login for the Keyfax host application.

This will ensure that each user launches Keyfax with a unique SessionID (GUID) and UserID.

Note: The following documentation applies to Keyfax version 3.2.1.9 and earlier.

An alternative is to uninstall the Keyfax Client, set the value UseGUIDplusUserID=1 in the KF32Install.ini file (this configuration file contains directives that control the way the Client is installed and will execute) and re-install (NB. other settings below are for illustration only):

[Install]
WebService=http://dev.touch-base.com/keyfax32/
XMLConfigFolder=\\webdev1\KFLauncher
;XMLConfigFolder=http://dev.touch-base.com/kflauncher/
ConfigCode=DEFAULT
HostApplication=In house
InformHostApp=
InformHostAppCodes=
FrontlineEnabled=1
TestOCX=1
UseGUIDplusUserID=1
ModeSwitch=0

This ensures that any internal use of the GUID includes use of the Keyfax user id to provide uniqueness.

Status

This behaviour is by design.

Document data
Document Date: 21 July 2006 - revision 1
Keyfax version : 3.2.0.0
Author: Technical Services keyfax@touch-base.com