Once you select the Web application type on the application configuration page, a Web Configuration section appears with several tabs containing various configuration options:
Configuring general settings for web applications
From the application configuration page of the selected web application, under the Application Settings > General tab:
After configuring the fields in the General tab described on this page, you can set up the remaining configuration tabs for the specific web application:
Importing built-in default configurations as templates—optional
Importing built-in default configurations for web applications requires Nexthink Adopt.
This feature is different from applications installed from Nexthink Library.
Built-in application templates versus applications installed from Nexthink Library
Key differences when using a default application template versus an application installed from Nexthink Library:
After importing and implementing the selected configuration template, you cannot edit or drop these default settings.
Modifications from Nexthink to built-in default configurations impact all applications using these imported settings—even after saving the web application configuration.
Nexthink offers the possibility of importing default web application configurations with predefined Key pages and CSS selectors—necessary for correctly displaying Adopt in-app guides.
To import default application templates, from the application configuration page of the selected web application:
Open the Applications settings > General tab.
Select the built-in application configuration template from the dropdown under Configuration mode.
Export your current application configuration before selecting built-in template configurations, as choosing built-in defaults is irreversible.
Built-in default configurations are only available for a specific set of applications.
Adding URL patterns
Add URL patterns of your web application you wish to monitor. Consider the following:
The URL match patterns have the following structure: <scheme>://<host><path>
The URL match patterns can contain wildcards, but a port number cannot be specified.
The system forces the use of a wildcard for the scheme *://<host><path>, so it always matches both HTTP and HTTPS.
Users administrating business applications, view and enter URL patterns with a simplified structure:<host><path>
Internally, all the software components must handle the full URL match patterns, including the scheme: <scheme>://<host><path>
About Nexthink URL pattern validation logic
Jump to the Collecting URLs section to continue with the web application configuration—that is, the remaining fields under the General tab.
Nexthink Applications uses the following set of rules to verify the pattern before saving it:
The user must enter at least one URL match pattern.
Today, specifying a scheme like http://</code> or <code>https:// is not supported, it must be *://
If the user does not specify *:// the form automatically adds the *:// prefix.
If the user enters a URL with a port number, the form displays an error message.
The host component can start with *. followed by part of the fully qualified domain name (FQDN). Note that this pattern also matches a hostname that is exactly the expression entered after the *. wildcard.
The host component must end with a complete and valid domain name if it starts with a *. wildcard.
The host component can just contain a local hostname (for example, no domain name) if it does not start with a *. wildcard. This is to support internal web applications that do not use FQDN.
You must specify the path with at least /*. If the user does not enter a path, the form logic appends /* to match all paths.
The path must end with a * wildcard. If the path does not, the form logic appends * to the pattern.
The path cannot contain more than one * wildcard.
The pattern must not contain a query string (?...). If the user enters a URL with a query string, an error message appears.
The pattern must not contain a fragment (#...). If the user enters a URL with a fragment, an error message appears.
Validation logic prevents patterns that intersect each other across all the applications.
The entire match pattern must validate as a standard URL after adding an http:// prefix and replacing all wildcards with arbitrary words. For example, if the user enters the pattern *.example.com/foo/* the expanded form http://www.example.com/foo/bar can be easily validated using a standard URL validation library.
Entering only a domain name for a host part like example.com is valid. It will not match, however, the URL name with a hostname like www.example.com.
The form logic auto-corrects the pattern entered by the user, it does this immediately after the textbox loses focus, and the user interface allows the user to see the change before the form is submitted.
A pattern intersects another pattern if at least one URL that is matched by both patterns exists. Explicitly, patterns A1 and B1 intersect if all of the following conditions are true:
After trimming the eventual wildcard from the beginning of the host parts, A1.host ends with B1.host or B1.host ends with A1.host.
After trimming the wildcard from the end of the path, A1.path starts with B1.path or B1.path starts with A1.path.
Find below examples of URL patterns:
Examples of valid patterns
The URL pattern examples below are valid for web applications:
www.example.com/* matches all URLs that start with http://www.example.com/ or https://www.example.com/.
www.example.com/foo/* matches all URLs that start with *://www.example.com/foo/.
myintranet/* is a valid pattern for an internal application.
www.example.com/foo/* is an existing app match pattern. In this case, the following patterns can be used for any of the applications:
*.example.com/bar/*
www.example.com/foobar/*
*.another-example.com/foo/*
test.example.com/foo/*
Examples of invalid patterns
The URL pattern examples below are invalid for web applications:
www.example.*/*
https://*.example.com/* because of the scheme
www.*.com/*
www.*.example.com/*
www.example.com/foo?bar because query string components are not supported
*/*
www.example.com/foo#bar because hash components are not supported in the application URL
*.example:1234.com/* because of the port (use *.example.com/* instead, all ports are supported)
*.example.com/#foo
*example.com/* because there is no dot following the star in the host component
www.example.com/foo/*/bar/* only one wildcard is allowed in the path
*.customer.*.example.com/* only one wildcard is allowed in the host part
www.example.com/foo* is an existing app match pattern. In this case, you cannot use the following intersecting patterns for any of the applications:
*.example.com/foo/*
www.example.com/foobar/*
www.example.com/fo*
www.example.com/foo/bar/*
Examples of auto-corrected patterns
www.example.com changes to *://www.example.com/*
www.example.com/ changes to *://www.example.com/*
www.example.com/foo/ changes to *://www.example.com/foo/*
www.example.com/foo changes to *://www.example.com/foo/*
example.com changes to *://example.com/*
*.example.com changes to *://*.example.com/*
URL patterns use case for non-standard ports
Access the corporate document management system using the following URL:
https://prod.doxydoc.local:32890/start.php
During the business application configuration, you must use the following pattern:
*://prod.doxydoc.local/start.php*
Collecting URLs
The Collect URLs option is enabled by default, facilitating the configuration of application key pages.
When deciding to whether collect URLs or not, consider the following:
Enabling Collect URLs enables Nexthink users accounts with appropriate permissions to view the individual URLs that employees visit.
Disabling Collect URLs prevents the system from collecting any URLs at the extension level.
The system renders a truncated URL to preserve data privacy using a sanitizer.
About Nexthink URLs sanitization
Jump to theActivating Soft navigations section to continue with the web application configuration—that is, the remaining fields under the General tab.
Whenever possible, Nexthink sanitizes all collected Uniform Resource Locators (URLs) to conceal sensitive information. This is done in an attempt to remove personal data, potential configuration secrets and certain query string patterns.
Remember, a URL is a string that serves as a unique identifier for a web resource, consisting of four primary components:
The origin includes the protocol ( http or https), the hostname ( http://nexthink.com ) and the port number (80 or 443), for example, https://nexthink.com:443.
The pathname specifies the exact location of the resource on the server, for example /company/about-us.
The hash is an optional component of the URL that stores information for the browser, such as the current state of the web page or user preferences. It also begins with a hash (#) and is followed by a string, for example, in the URL confluence.nexthink.com/pages/urlsanitisaation#url-sanitisation-rules, the hash segment is #url-sanitisation-rules.
The query parameters are optional pairs of keys and values that provide additional information to the server. They start with a question mark (?) and are separated by ampersands (&), for example, ?projectKey=DCBSM&view=detail. The query parameters are systematically sanitized. The system replaces each key-value pair with [key], for example:
https://confluence.intra.nexthink.com/pages/viewrecentblogposts.action?key=AppExEP sanitized with [key]:
https://confluence.intra.nexthink.com/pages/viewrecentblogposts.action?[key]
URL sanitization mechanism
The URL sanitization mechanism is intended to strip sensitive information from URLs before transmitting them to the server by:
Initially removing all query parameters, such as ?key1=value1&key2=value2, retaining only the keys enclosed in square brackets, like ?[key1]&[key2].
Replacing any other anchors in the hash segment with the code [anchor].
Undergoing further URL sanitization based on specific patterns as described below.
Finally, truncating any excessive parts of the URL.
Remember that this process ensures that sensitive data is not inadvertently exposed in URLs.
Pattern matches and tag replacements
Examples of general codes the system uses to sanitize an application’s URL:
ID number: sequence of alphanumeric numbers staring with / and ending with either / or ?. Non- numeric characters must be one of the following ., ,, _, \, -. Other characters must be numeric.
[json]
{"?????????"} formatted sequence where ????????? may contain any word, digit or any of the following characters %, \\, \, ., ,, :,_ ,-
[gib]
Identification number, for example: the email ID which comes after the identification number: http://outlook.office.com/mail/inbox/id/ in MS Outlook.
[hex]
Hexadecimal value: sequence of at least 33 consecutive alphanumeric values in hexadecimal range: a-f and 0-9.
[int]
Integer value: sequence of at least 4 consecutive digits.
These patterns are specified globally for all applications. If any part of the Sanitized URL matches any of the patterns, it will be replaced by the corresponding tag.
Examples:
https://community.nexthink.com/s/profile/0052p00000BURowAAH sanitized with [hex]:
https://community.nexthink.com/s/profile/[hex]
https://outlook.office.com/mail/inbox/id/AAQkAGJhYmFkMTUxLTQ5NzgtNDNlZi1iZDkzLTQ2YzEwNDIwYzA0YgAQAKafeoP2TMVDozSlcBq2JGU%3D sanitized with [gib]:
https://outlook.office.com/mail/inbox/id/[gib]
Nexthink URL sanitization summary
Jump to theActivating Soft navigations section to continue with the web application configuration—that is, the remaining fields under the General tab.
The following table summarizes the Nexthink process for sanitizing URLs:
Sanitization Step
Description
Example URL
Sanitized URL
Sanitization of query parameters
The key-value pairs are replaced by keys
https://nexthink.com?key1=value1&key2=value2
https://nexthink.com?[key1]&[key2]
Sanitization of hash segment
The anchor hash segment and the query hash segment are obfuscated
https://nexthink.com#?name=John#custom-anchor
https://nexthink.com#?[name]#[anchor]
Sanitization of URL tokens
The URL is sanitized using pattern matches and tag replacements
There is a maximum acceptable length for the Sanitized URL. If the Sanitized URL exceeds the limit, Nexthink removes the excess and adds an ellipsis (...) to show that some of the URL is missing.
Activating Soft navigations
The Activate soft navigations measurements option is enabled by default. Disable this option for web applications with unstable pages—resulting in extended page load times.
Soft navigations enable measuring the speed of asynchronous page loads where the browser does not load a new page. They are very common in single-page applications (SPA). Soft navigations measure the time it takes a page to stabilize.
Connecting with existing campaigns
Nexthink Applications makes it possible to connect with existing campaigns. To make the connection:
Pick the unique identifier (UID) from the target campaign and paste it into the Engage campaign UID field.
An Engage campaign license is required.
Alternatively, you can access the UID value by navigating to Campaigns using the Nexthink main menu and selecting the campaign you wish to connect to from the list. Locate the campaign's UID as part of the URL.
Once the campaign is linked to the application, the Sentiment tab on the specific applications page becomes visible. You must have the proper permissions to access it. By clicking on the Sentiment tab you can open the relevant Campaigns dashboard in a new tab.
RELATED TASKS
After configuring the fields in the General tab described on this page, you can set up the remaining configuration tabs for the web application: