Changes to the web.config file can leave Enterprise Tester inoperable. We advise taking a backup of your web.config file and database prior to making changes.
Some configuration settings in Enterprise Tester are not yet exposed in the User interface. You can apply custom settings to some features in the appSettings section in the web.config file. In the appSettings section, you can add key/value pairs which can be used to control features of Enterprise Tester .
Supported Keys
Key | Feature | Example Value |
avatars.storage.path | The path to avatar images used on the website | c:\Enterprise Tester\data\Avatars\ |
attachment.storage.method | Storage method to use, either InDatabase or FileSystemCas - defaults to FileSystemCas. | FileSystemCas |
attachment.storage | Set to true to disable garbage collection or false to enable garbage collection. | true or false |
attachment.storage | Minutes between garbage collections, should generally be set to an hour or more. | 30 |
attachment.storage.path | Path to where attachments are stored, defaults to \Data\Attachments|f:\et-attachments. | f:\et-attachments |
AutoDashboard.Enabled | If set to "true" a dashboard with a number of pre-defined project specific gadgets being created when a new project is created. The Default value is "False" | true or false |
Baseline.Export.MaxAttachmentSize | The maximum size for attachments (in bytes) to be included in any exported baseline, if not set it will default to 4mb. | 1024000 |
defecttracking.settings.populator | If true (the default) then at startup we check to see if any projects are "uncached" and require a refresh lookups sync to be executed, if so we trigger an update at startup. | true or false |
defecttracking.settings.populator | How often custom field metadata is updated, defaults to 00:00:00 | 00:00:00 ( disabled) |
defecttracking.settings | Time to wait after completing a defect synchronization pass across all projects, before checking again. | 00:01:00 |
EnhancedFeaturesEnabled | Turns the issue collector on or off. Default is set to on (true). If turned off then users won't be able to use the Report Bug or Request Feature/Enhancement options in the Enterprise Tester user Menu. | true or false |
EnterpriseArchitect.Synchronization | Disables displaying / calculating the existing elements report for requirements EA import/sync. This report can be very costly (half hour +) to calculate for large EA projects where there may be tens of thousands of requirements. Default for 4.2 and above is "false" | true or false |
Export.MaximumBatchSize | Defaults to 1000 database transactions per batch. When exporting a large amount of data from ET you can reduce the number of transactions per page to improve the performance of the export. | 50 |
externaldata.createlink.autorefreshlookups | If true (the default) then after creating a link the lookup refresh process will be triggered to refresh of all the cached custom/inbuilt field info. The refresh process will only work if the defect tracker is also enabled. | true or false |
extjs.timeouts | The timeout when submitting ExtJS forms (in seconds). | 30 |
extjs.timeouts | The timeout for ajax requests (in milliseconds). | 30000 |
extjs.timeouts | The ajax update timeout for requests (in seconds). | 30 |
FileUploadRestrictions | Restrict file uploads of specified file types. Also see addendum in this page. | .com, .pac, .txt |
incident.create.defaultStatus | Defaults to "Open", but can be set to either a single value i.e. "Closed" or multiple options, separated by commas i.e. "Open, Ready, Awaiting Review" - in which case each value in the list will be tried until we can find a match - useful if you have different projects which have different sets of statuses. | Open, Created |
Jira5.Session.Page | This setting specifies the number of JIRA issues to retrieve per page when synchronizing with JIRA. The default setting is 1000. This can be useful when the number of JIRA issues retrieved causes timeout issues. | 75 |
JIRA.Issues.DateFormat | The date format used for rendering ET date fields to strings, as required by JIRA - defaults to "dd/MMM/yy hh:mm a". | dd/MMM/yy hh:mm a |
jira.refreshlookups .sampleIssuesForAdditionFields | When refreshing loops using the JIRA 5.2+ plugin, by default it will attempt to "Sample" each JIRA project for examples issues of each issue type, to discover additional custom fields which are only displayed on the edit screen. This feature was introduced in ET 4.10, and for very large JIRA instances may be quite slow - if all the custom fields you wish to map appear on the create screen in JIRA, then you can skip the time-consuming sampling process by changing this setting. | true |
JIRA.remotelinks.prefix | The prefix added to the start of relationship names when synchronized to JIRA as remote links, it defaults to "ET: " - to disable the prefix, you can switch it a blank value, or distinguish between ET instances by setting it say "ET-Prod: " and "ET-Dev:". | ET: |
JIRA.session.timeouts.close | The max time it can take to close a connection to the JIRA soap service, defaults to 00:02:00 (2 minutes - prior to v3.3 this was fixed at 1 minute) | 00:02:00 |
JIRA.session.timeouts.open | The max time it can take to open an http connection to the JIRA soap service, defaults to 00:02:00 (2 minutes - prior to v3.3 this was fixed at 1 minute) | 00:02:00 |
jira.session.timeouts.receive | The max time it can take to receive data from the JIRA soap service, defaults to 00:15:00 (15 minutes - prior to v3.3 this was fixed at 10 minutes) | 00:15:00 |
jira.session.timeouts.send | The max time it can take to send a request to the JIRA soap service, defaults to 00:02:00 (2 minutes - prior to v3.3 this was fixed at 1 minute) | 00:02:00 |
JIRA.session.timeouts | The time to wait between successive screen-scraping requests when fetching options for custom fields, for low-spec JIRA servers you might need to adjust this to give the server a chance to "breathe" between requests, to avoid degradation in performance for other users. Defaults to 1 second delay. For high-spec JIRA servers, you can set this value at 0 seconds, to have no delay between scraping requests | 00:00:01
|
licensing.serverkey.generationmode | Generates a stable server key even if the MAC address changes over time. | Stable |
log4net.config | When upgrading ET, by default the logging.config file is overwritten to remove debugging settings that can effect the performance of ET. You can select not to have the logging.config file overwritten by selecting a new location to store the config file. | c:\Program Files (x86)\Catch Limited\Enterprise Tester\data\logging.config (default) |
MinimumPasswordStrength | Enables a minimum password strength to be enforced for users logging directly into Enterprise Tester. The system default for new installations is Medium. | Poor, Weak, Medium, Strong, or VeryStrong Note the capitalisation of the first letter for each setting. |
migration.providerName | The name of the provider class used for applying database migrations. | Migrator.Providers.SqlServer.SqlServer2005Dialect |
NextgenURL | NextGen menu item . By adding a NextGen URL this will take the user to the NextGen application when they select the Goto button in the NextGen menu item. | https://URL_for_NextGen |
nhibernate.driver.oracle.enable-multiquery | Enables support for multiple query results being returned from Oracle in a single round-trip. This should be enabled for all ET installations which use an Oracle database, to improve performance. Support on version 4.9.1 and above of Enterprise Tester only. | true |
notifications.peruserlimit | The maximum number of notifications to record per user, once the limit is reached older notifications will be discarded for newer ones. | 100 |
PathService.PackagePathSeparator | The separator character used for display requirement/script paths - defaults to "|" in v4.2 and above (the default is “/” in V4.1 and earlier) . | # |
project.templates.path | The path to the set of baselines which are used as project templates available when creating a new project. | c:\ET\project_templates\ |
remotelinks.synchronization | The value can be specified as either a number e.g. 5 - which would be 5 seconds, or formatted as what's called a timspan e.g. "hh:mm:ss" - so 5 minutes would be specified as 00:05:00.
| |
SAML.Enabled | Enable SAML support | true |
SAML.Provider | Switched SAML implementation style | Microsoft |
SAML.Issuer | IDP Issuer | <IDP Issuer> |
SAML.IDP | IDP SSO URL | <IDP SSO URL> |
SAML.Certificate | SAML Certificate | <X.509 Certificate> |
SAML.Logout | Specify the URL that users will be directed to when they log out of Enterprise Tester. Do not add an Enterprise Tester URL here or users will be automatically logged back into Enterprise Tester. | https://your_selected_url |
ScriptService.MaximumStepsPerScript | The maximum number of steps allowed for a script - default is 100. | 100 |
search.indexes.path | The path to the indexes folder (in v4.0 and later, if not specified, this defaults to the \Data\Indexes folder of the installation directory. | c:\Enterprise Tester\data\Indexes\ |
search.indexworkprocess.timebetweencommits | The time between commit changes to the search index. | 00:01:00 |
search.indexworkprocess.workerdwell | The time to wait before waking up again processing search index changes (changes in ET will also trigger the worker process to "wake up"). | 00:00:15 |
search.indexworkprocess.waituntilemptytimeout | The time the index worker processor will wait for the queue to empty - currently used in unit tests. | 00:01:00 |
search.reindex.waituntilemptytimeout | The time to wait before aborting the reindexing process when waiting for the index queue to flush - 5 minutes by default. | 00:05:00 |
Search.Relationships.Expand.AllRelationships | Defaults to false, if set to true then "all relationships" are indexed, which will results in a much larger set of re-indexing occurring after each change within the application. | true or false |
site.root.url | Root URL to use for the site when generating external links for applications such as defect trackers, this can be useful when ET uses the wrong address when generating links. | |
site.root.url.scheme | Configures how absolute URL's are generated by the ET application, you may need to change this setting when exposing Enterprise Tester from behind a reverse proxy. For full details on each of the values, and what it does to the generated absolute URLs please see the addendum at the bottom of this page.. | Https |
synchronization.mapattachmentsstep | Defaults to false, but if set to true then when synchronizing if a file is found that has the same file name and file size as a previously synchronized file, it will be skipped - useful if you want to avoid attachments which have been duplicated by another synchronization process or user error.
| true or false |
TrialSupport.EnableAnonymousTrialStatistics | Enable the sending of anonymous trial statistics to allow Catch Software to monitor the quality of the installation and initial project setup experience for users with an Enterprise Tester trial license applied. | true |
Setting a Key
To set a key:
- Open the web.config file in a text editor.
- Locate the section starting with <appSettings>
- Add the new entry, in the format off: <add key="key-name" value="value" />
- Save changes
- Refresh ET in browser, it should reload with the new settings applied.
Example - before adding new values:
<appSettings> <add key="migration.providerName" value="Migrator.Providers.SqlServer.SqlServer2005Dialect"/> </appSettings>
Example - after adding new values:
<appSettings> <add key="migration.providerName" value="Migrator.Providers.SqlServer.SqlServer2005Dialect"/> <add key="search.index.disable" value="true"/> <add key="versionControl.changeTracking.disable" value="true"/> </appSettings>
Addendum
FileUploadRestrictions
An additional change to the web.config file is required for the FileUploadRestrictions app setting so that meaningful error messaging is provided when disallowed files are attempted to be uploaded.
httpErrors, existingResponse PassThrough should be added to the system.webServer section of the web.config file.
<system.webServer> <httpErrors existingResponse="PassThrough" /> </system.webServer>
jira.refreshlookups.sampleIssuesForAdditionFields
When refreshing lookups in the JIRA (REST based plugin - JIRA 5.2 and above), if this option is set to true (the default) it will use both create screen meta and a technique of sampling issues of each issue type in a project and getting their edit screen metadata to compile a list of all available custom fields. This does require that the project contains issues to sample in the first place, and will still not detect fields that are neither on the edit or create screen ( e.g. transition screens).
Sampling may be slow for instances with very large numbers of issue types. If performance is slow, it may be necessary to turn this value to false. Note that this does mean any field that you wish to map for synchronization must appear on the create screens for those issue types/screen schemes.
If enabled, and the logging level is "INFO" or "DEBUG" then when doing a refresh lookups, you will see this in the log file:
GetEditCustomFields - starting to retrieve metadata for sample issues ... activity GetEditCustomFields - completed retrieval of metadata for sample issues, elapsed time: 00:01:22.000
Which allows you to see how much time is being spent retrieving getting custom field information by sampling issues and getting their edit meta data.
Additionally, if the feature is set to "off" (false) and the log level is "DEBUG" then in the logs you will see this message:
GetEditCustomFields - skipping because sampleIssuesForAdditionalFields is set to false.
So you can be assured that sampling of issue edit metadata is not occurring.
site.root.url.scheme
Here are the values that the appSetting site.root.url.scheme can be configured as.
Value | Description | Comment |
---|---|---|
Http | Forces base URL to http when processing OAuth requests. | |
Https | Forces base URL to https when processing OAuth requests. | |
SameAsRequest | Uses same scheme (Http/https) as the request's URL. | This is equivalent to how ET used to work for v4.5 and below. |
XForwardedSchemeOrSameAsRequest | Checks for the x-forwarded-scheme header, if present, will use the value specified there, if header not present, will revert back to the "Same as request" behaviour | This is the new default for v4.6 and above. |