Create application templates
The ESSO Template Wizard utility is designed for preparing XML templates of Win32 and web applications integrated with the ESSO Agent module.
The utility processes the form of the target application and generates a form snapshot. This is a set of data describing the form elements, such as the title name and the identifiers of buttons and input fields. Based on the data contained in the template, ESSO Agent tracks the start of the target application on the user workstation and, depending on the settings for the specific user, grants or denies access.
The resulting snapshot is a draft for creating the application template. After the snapshot is generated, you need to edit it manually.
Install ESSO Template Wizard
Install ESSO Template Wizard on the workstations where the applications you need to prepare a template for are installed.
To do this, run the Axidian Access <version number>/Axidian Template Wizard/<version number>/AxidianID.ESSO.Template.Wizard.msi file and follow the instructions of the installation wizard.
After the installation is complete, the ESSO Template Wizard components — Web Template Wizard and Win32 Template Wizard — appear in All Programs → Axidian → Enterprise SSO.
Collect information about the application
Before creating an application template, collect the following information about it:
The set of target application windows that the ESSO template will process. You can be guided by the main operations that a template can perform:
- Login to the application
- Unlocking
- Password change in the application
In some cases, the user scenario implies giving up the password — the user does not know their password and uses an authenticator or transparent authentication to work with the target application. In this case, all windows where the user is prompted to enter the application password must be included in the list of processed windows. Besides the target windows, pay attention to the controls (interface controls) that must be processed by the template.
The set of ways to start the application, such as through shortcuts, command files, or executable files. This information is required to configure the quick start of the application.
The set of executable files that create the processes displaying the application graphical interface — the windows that ESSO Agent must respond to. For each such file, you need to know the name, description, and location. If the application has only one executable file, the information that Template Wizard collects during its operation is sufficient.
Create a template
After you define the list of required windows and operations, you can start creating the template snapshot or snapshots. Several snapshots may be required for one window. Also, additional snapshots may be required while debugging the template. Therefore, access to the workstation with the target application and ESSO Template Wizard installed is required throughout the entire template creation process.
- For Win32 applications
- For web applications
Start the Enterprise SSO — Win32 Template Wizard application.
Start the target application you need to create a template for and go to its login form.
Press Ctrl+Shift+T.
The template generation settings window opens in Template Wizard. Specify the required parameters in it.
Form control depth settings
Form control view depth.
With this parameter, you can set the nesting depth of the form controls that Template Wizard uses to build the template. This parameter is set manually when creating a template. If the parameter is 0, Template Wizard collects information only about non-nested controls. If the parameter is 1, Template Wizard collects data about non-nested controls and about the controls of the first nesting level, and so on.
Control depth of the selected form.
This parameter displays the maximum nesting depth of controls on the selected form — how many nesting levels of controls exist on the form. When selecting the value of the Form control view depth parameter, we recommend that you be guided by this parameter. Template Wizard calculates the control depth value for the selected form individually for each form at the moment the target application form is defined.
Target application form settings
This set of settings allows you to define the combination of application form attributes that ESSO Agent takes into account when searching for the target window among the multiple windows of the target application.
| Title | If this setting is enabled, the form title value is taken into account when tracking the target form of the target application. A fixed title value is added to the template for comparison. If the setting is disabled, the form title value is not taken into account when defining the target application form. We recommend that you use this parameter in the template, except when the title changes dynamically. |
| Window class name | If this setting is enabled, the window class name for this form is taken into account when tracking the target form of the target application. The window class name is set at the application development stage. A fixed window class name value is added to the template for comparison. If the setting is disabled, the window class name is not taken into account when defining the target application form. We recommend that you use this parameter in the template, except when the class name changes dynamically. |
| Size | If this setting is enabled, strictly fixed window dimensions — width and height in pixels — are taken into account when tracking the target form of the target application. A fixed form size value is added to the template for comparison. If the setting is disabled, the window size is not taken into account when defining the target application form. Use this parameter only when the other parameters do not describe the target application form accurately enough. |
Target application form control settings
This set of settings allows you to define the combination of attributes of the controls present in the application window that ESSO Agent takes into account when searching for the target window among the multiple windows of the target application.
| CtrId | If this setting is enabled, the identifiers of all controls that are part of the window are taken into account when tracking the target form of the target application. These identifiers are set at the application development stage. The values of all control identifiers are fixed in the template. If the setting is disabled, the control identifiers are not taken into account when defining the target application form. We recommend that you use this parameter, except when the control identifiers in the target form change dynamically. |
| Window class name | If this setting is enabled, the window class name for this form is taken into account when tracking the target form of the target application. The window class name is set at the application development stage. A fixed window class name value is added to the template for comparison. If the setting is disabled, the window class name is not taken into account when defining the target application form. We recommend that you use this parameter in the template, except when the class name changes dynamically. |
| Text | Enabling this setting allows you to take into account the text contained in the controls in the application window (input fields, drop-down lists, and so on) when tracking the target form of the target application. The parameter is taken into account for all controls that are part of the window. The values of all text strings for the controls are fixed in the template. If the setting is disabled, the control text is not taken into account when defining the target application form. IMPORTANT: When creating a template, pay attention to changes in the control text. Under various circumstances — for example, when the language in the system or in the application changes, the application version changes, or the user is switched — the text in a control may change. This may interfere with the application tracking procedure. Do not use dynamically changing text in the template, or take into account all possible variants of this parameter. |
| Size | If this setting is enabled, strictly fixed dimensions of all controls in the window — width and height in pixels — are taken into account when tracking the target form of the target application. A fixed size value is added to the template for comparison. If the setting is disabled, the control dimensions are not taken into account when defining the target application form. Use this parameter only when the other parameters do not describe the properties of the target application form controls accurately enough. |
| Position | If this setting is enabled, a strictly fixed position — the position of the upper left corner of the control relative to the upper left corner of the container holding this control, in pixels — is taken into account for all controls in the window when tracking the target form of the target application. A fixed position value is added to the template for comparison. If the setting is disabled, the control position is not taken into account when defining the target application form. Use this parameter only when the other parameters do not describe the properties of the target application form controls accurately enough. |
| Visible | If this setting is enabled, the visibility attribute — whether a control present in the form is visible to the user — is taken into account for all controls that are part of the window when tracking the target form of the target application. The visibility property values for the controls are fixed in the template. If the setting is disabled, the control visibility is not taken into account when defining the target application form. |
| Enable | If this setting is enabled, the availability attribute — whether a control is available for user actions — is taken into account for all controls that are part of the window when tracking the target form of the target application. The availability property values for the controls are fixed in the template. If the setting is disabled, the control availability is not taken into account when defining the target application form. |
Filling algorithm settings
In this section, you set the filling algorithm that is used when substituting the username and password into the target ESSO application form.
| None | The filling algorithm is not generated in the template. The form is not filled in automatically. |
| Based on SetText | If this setting is selected, Template Wizard generates the commands for filling in the username input field, filling in the password input field, and clicking the OK button. Each command contains the data of the control it must be applied to. The form controls are filled in with the standard SetText method. We recommend that you use this filling algorithm. |
| Input emulation | If this setting is selected, Template Wizard generates the commands for setting the focus in the username input field, filling in the username input field, filling in the password input field, clicking the OK button, switching between controls, and pause commands. The filling itself is performed by emulating keyboard keystrokes. The focus is switched between controls by emulating the Tab keystroke. The filling algorithm also contains 50-millisecond pause commands between the filling and switching commands. Recommended for use in templates for applications where using the SetText method is impossible or difficult. |
When creating a template for a specific application, set only the set of settings that distinguishes this application from others. Before generating the template, it is important to understand which attributes are used to define the application login form and which filling algorithm must be applied.
Click Generate.
The Form control definition window opens. Go to the target application window, to the required control, and press Ctrl+Shift+T. Following the Template Wizard prompts, perform these actions for each selected control.
After the controls are defined, the template draft is created.
Enable the Save in UTF-16 option and click Save.
In the window that opens, select the save location and specify the file name of the template draft. Click Save.
The draft is saved in the XML format.
In the Template Wizard window, click Exit and close the target application.
Open the draft in Notepad or another text editor that supports the XML format.
Check the path to the target application in the
pathssection. If required, you can add an additional path where the application is available.
<paths>
<path>C:\Users\Admin\Desktop\TestApps\TestApp\TestAppWin\AxidianID.SSO.Test.App.exe</path>
// highlight-green-next-line
<path>C:\Users\Admin\Desktop\AxidianID.SSO.Test.App.exe</path>
</paths>
- In the
userDescriptionparameter, specify the name of the target application. This is the name the user sees in the ESSO Agent window on their device.
<userDescription>Test.App.Win</userDescription>
- In the
cmdLineparameter, check the command for the quick start of the application. This must be the path to the application executable file.
<applicationDetails>
// highlight-green-next-line
<cmdLine>C:\Users\Admin\Desktop\AxidianID.SSO.Test.App.exe</cmdLine>
</applicationDetails>
If Input emulation was selected as the filling algorithm when generating the template draft, check which field the cursor is initially placed in when the application starts and in which order it moves through the other controls. Based on the results, edit the form filling algorithm in the
fillingAlgorithmsection of the template if required.Save the modified template file with the .APP extension.
Start the Enterprise SSO — Web Template Wizard.
Start the target application in the Internet Explorer browser.
On the target page of the application, press Ctrl+Shift+T.
The Form attribute definition window of the wizard opens.
If the Ctrl+Shift+T key combination does not work, go to Internet options. In the Advanced→Browsing section, check whether the Enable third-party browser extensions option is enabled.
- Go to the target page, select a small area containing the username and password input fields and the buttons, and press Ctrl+Shift+T.
At this moment, the wizard defines the HTML DOM tree nodes. When the operation is complete, the number of defined nodes is displayed at the bottom of the wizard window, in the Page HTML DOM tree nodes defined line.
This step may take some time. The duration of the wizard operation depends on the number of objects in the processed area of the web page. Do not rush to close the page or the wizard window.
- After the page attributes are defined, click Generate template and specify the generation parameters.
Target application form settings
This set of settings allows you to define the combination of application web page attributes that ESSO Agent takes into account when searching for the target page among the multiple pages loaded in the browser.
| Page URL | If this setting is enabled, the page URL is taken into account when tracking the target web page of the ESSO application. A fixed URL value is added to the template for comparison. If the setting is disabled, the URL is not taken into account when defining the target web page. We recommend that you use this parameter in the template, except when the URL changes dynamically. For such pages, either do not use this parameter or use a regular expression. |
| Page title | If this setting is enabled, the page title value is taken into account when tracking the target web page of the ESSO application. A fixed title value is added to the template for comparison. If the setting is disabled, the title value is not taken into account when defining the target web page. We recommend that you use this parameter in the template, except when the title changes dynamically. For such pages, either do not use this parameter or use a regular expression. |
Target application form control settings
This set of settings allows you to define the combination of attributes of the web controls present on the page that ESSO Agent takes into account when searching for the target page among the multiple pages loaded in the browser.
| Tag name | If this setting is enabled, the tag name is taken into account for each web element that is part of the DOM tree of the page fragment selected at the template generation preparation stage, when tracking the target web page of the ESSO application. A fixed tag name value is added to the template for comparison. If the setting is disabled, the tag name for web elements is not taken into account when defining the target application form. We recommend that you use this parameter in the template, except when the tag name changes dynamically. |
| Text | If this setting is enabled, the text is taken into account for each web element that is part of the DOM tree of the page fragment selected at the template generation preparation stage, when tracking the target web page of the ESSO application. A fixed text value is added to the template for comparison. If the setting is disabled, the text component value for web elements is not taken into account when defining the target application form. When using this parameter, we recommend that you check the resulting template — the text array in the template may exceed the expected size, which will cause problems with tracking the target web page and complicate template editing. |
| id attribute | If this setting is enabled, the value of the id attribute is taken into account for each web element that is part of the DOM tree of the page fragment selected at the template generation preparation stage, when tracking the target web page of the ESSO application. Fixed id attribute values are added to the template for comparison. If the setting is disabled, the id attribute value for web elements is not taken into account when defining the target application form. Recommended for use. |
| name attribute | If this setting is enabled, the value of the name attribute is taken into account for each web element that is part of the DOM tree of the page fragment selected at the template generation preparation stage, when tracking the target web page of the ESSO application. Fixed name attribute values are added to the template for comparison. If the setting is disabled, the name attribute value for web elements is not taken into account when defining the target application form. Recommended for use. |
| Other attributes | If this setting is enabled, a set of values for the specified list of attributes is taken into account for each web element that is part of the DOM tree of the page fragment selected at the template generation preparation stage, when tracking the target web page of the ESSO application. The attributes to track must be selected from the drop-down list. To open the list, click .... Fixed values of the specified attributes are added to the template for comparison. We recommend that you use this parameter when the other parameters cannot describe the form element unambiguously. |
| Style attributes | If this setting is enabled, a set of values for the specified list of style attributes is taken into account for each web element that is part of the DOM tree of the page fragment selected at the template generation preparation stage, when tracking the target web page of the ESSO application. The style attributes to track must be selected from the drop-down list. To open the list, click .... Fixed values of the specified style attributes are added to the template for comparison. We recommend that you use this parameter when the other parameters cannot describe the form element unambiguously. |
| If there is an id, substitute everything else | If a web element has the id attribute, all other attributes for this element are not used in the template. You can apply this setting if the id attribute is the main parameter used to define the target page. |
| Use text only when there are no others | The text attribute is used if no other specified attributes are found for this element. Otherwise, the text attribute is not used in the template. Recommended for use. |
Filling algorithm settings
In this section, you select the filling algorithm that is used when substituting the username and password into the target ESSO application web page.
| None | The filling algorithm is not generated in the template. The form is not filled in automatically. |
| Based on fillWebCtrl | If this setting is selected, Template Wizard prompts the user to specify 3 controls on the web page with the Ctrl+Shift+T key combination and generates 3 commands in the filling algorithm for these elements:
|
When creating a template for a specific application, set only the set of settings that distinguishes this application from others. Before generating the template, it is important to understand which controls are used to define the login form of the web application.
- Click Generate.
If a filling algorithm was set when configuring the template generation, the Form control definition window opens.
On the target application page, go to the required control and press Ctrl+Shift+T. Following the Template Wizard prompts, perform these actions for each selected control.
Enable the Save in UTF-16 option and click Save.
In the window that opens, select the save location and specify the file name of the template draft. Click Save.
The draft is saved in the XML format. In the Template Wizard window, click Exit and close the target application.
Open the draft in Notepad or another text editor that supports the XML format.
If the following line is present at the beginning of the file, delete it:
<?xml version="1.0" encoding="UTF-16"?>
- Check the address of the target application in the
urlparameter.
<componentWeb>
<url>https://amcore.axidian.com/TestAppWeb/logon.html</url>
</componentWeb>
The address value can be set as text or as a regular expression.
If the address of the target application changes dynamically, use a regular expression. In this case, the url parameter must contain the isRegex attribute with the value 1. With the value 0, the application address is defined by text.
<componentWeb>
<url isRegex="1">https:\/\/amcore\.axidian\.com\/TestAppWeb\/logon\.html(.*)</url>
</componentWeb>
- In the
userDescriptionparameter, specify the name of the target application. This is the name the user sees in the ESSO Agent window on their device.
<userDescription>Test.App.Web</userDescription>
- In the
cmdLineparameter, check the command for the quick start of the application. This must be the browser start command and the address of the application page.
<applicationDetails>
// highlight-green-next-line
<cmdLine>"%ProgramFiles%\\Internet Explorer\\iexplore.exe" "https://amcore.axidian.com/TestAppWeb/logon.html"
</cmdLine>
</applicationDetails>
- Save the modified template file with the .APP extension.