Skip to main content

Web GUI setup (EoL)

warning

In accordance with our lifecycle policy, the Web GUI is no longer supported. The Thinkwise Platform version 2023.3 is the last version to support the Web GUI. The Universal GUI is the Web GUI's successor. It matches the Web GUI's functionality and more. For more information, see the blog post on the Thinkwise Community.

The Thinkwise Web GUI is an ASP.NET application and runs on Microsoft Internet Information Services (IIS).

Set up IIS

The Thinkwise Web GUI runs on IIS version 8 or up (10 is advised) and requires the .NET Framework 4.7 as well as the ASP.NET Framework.

An IIS version is included with the standard installation of Windows on a server or PC. Different versions of IIS are released with the different versions of Windows. Checking the installed IIS version can be done by typing http://localhost in the web browser, the IIS version screen will then be displayed.

IIS 8 welcome page IIS 8 welcome page

The standard installation of IIS does not contain all components that are needed to run the Thinkwise Web GUI. The right components can be enabled via Windows' Windows Feature screen, which is accessible via the Windows control panel. In the image below, the necessary components are for different Windows versions.

Windows Features screen in Windows 10 Windows Features screen in Windows 10

Windows Server 20012R2 features Windows Server 20012R2 features

Deploy the Web GUI to IIS

To deploy the Thinkwise Web GUI to IIS, copy the GUI files to the web server. The default website directory of ISS for web applications is C:\inetpub\wwwroot. It is advised that the GUI folder is given the name of the application. That way, various GUIs can easily be kept separate from each other.

Set up the application pool

The Web GUI runs under a .NET v4.5 application pool and requires .NET v4.7.2 to be installed. The web application can be started, stopped and restarted via the application pool, with the application being able to gain access to the disk and potentially also to the database. It is advised that each application has its own application pool made for it.

  • Name: give the application pool a suitable name, related to the corresponding application to which this is going to be connected.
  • .NET CLR: choose the .NET CLR version for the application pool. Version 4.0 is connected to .NET framework 4.7 which is used by Thinkwise applications.
  • Managed pipeline mode: set this to 'Integrated'.

Application pool identity

Ensure that the Application Pool Identity has the right to read files in this directory. The Application Pool Identity likewise needs permission to write on the Cache and App_data directory in the Web GUI. If these directories do not yet exist, they can be created in the application's folder. The Cache directory is used to store a user's model in order to speed up the log-in process. The App_data directory is used by the file upload control and the preview component to temporarily store files.

note

To verify the permissions, check whether there are files in the Cache folder after logging in.

The rights can be altered by right-clicking the directory in the security tab.

Security properties of a folder Security properties of a folder

If the application pool runs under an Active Directory user, the user will be selected from the domain:

User from the domain

If a built-in application pool is used, the location needs to be that of the current machine. The application pool user is then IIS AppPool\[name]:

Location current machine

After checking the name, it is recognized.

Name checked

Add application

The application's directory set up on the web server in C:\inetpub\wwwroot or a similar location can now be found in the IIS Manager as a virtual directory.

This virtual directory needs to be converted to an application. By right-clicking the directory, it is possible to convert these into an application. A dialogue will appear in which the name, the location of the GUI directory and the application pool can be specified.

Add Application Add Application

  • In the Alias field, the web application can be provided with a name. The alias will be used in the URL of a web server. The local URL of IIS is: http://localhost/. The application will be accessible via: http://localhost/[application_name].
  • With Application Pool, choose the pool that has been created for this application.
  • With the buttons for Connect As and Test Settings, it can be tested whether the rights on the application directory for the various accounts have been correctly established.
  • Turn Enable Preload on if this option is available. More information is available in the IIS configuration manual.

Now that the web application has been applied to IIS, the GUI can be opened via the browser. For this, open a local browser and go to http://localhost/[application_name]. Now, the log-in page of the GUI will appear in the browser. The next step is to configure the application so that it is also possible to log in.

Web GUI Performance

Warm-up application

A known problem for ASP.NET applications is that the first request takes longer before the page is available for the user. This occurs if the application has been unused or after a recycling of the IIS Application Pool.

How Application Initialization can be applied on the Application is described here.

The Web GUI contains a Bootstrap.ashx page, which simulates the logging in of a user. This page runs the log-in process to IAM. Furthermore, components of the application that are used from the main page of the GUI are pre-prepared, such as Crystal Reports reports, components etc. The general IAM user that can be saved to the GUI is used to log in.

By adding the following rules in the web.config file in the system.webServer> section, this page is requested after recycling the Application Pool.

<system.webServer>
<applicationInitialization
doAppInitAfterRestart="true"
skipManagedModules="true"
remapManagedRequestsTo="startup.htm">
<add initializationPage="/Bootstrap.ashx"/>
</applicationInitialization>
</system.webServer>

The RemapManagedRequestsTo specifies an HTML page to display during the recycling of the Application Pool.

For more information about this IIS feature: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

note

Caution: changing the web.config file causes the application to reload.

Web GUI troubleshooting

Enable logging

To write a detailed log file to disk and to set the log level, see here.

Images are missing

GUI icons and images need to be uploaded to the database. Make sure that they have been uploaded properly. If the images were uploaded in a version older than 2020.2 make sure they are not still using a file system path. Icons can be uploaded from file system paths by executing the task "Upload images and reports to database" from the advanced menu under "Master data" - "Software Factory". If the file path doesn't point to a valid file the icon needs to be uploaded at the corresponding object.

Custom error pages are not displayed

The Web GUI supplies as number of custom error pages to deal with error messages and invalid requests. If these pages are not displayed correctly, IIS needs to be configured to make it work.

cid.png@01CF97A4.1FE62180 Default IIS error page instead of the Thinkwise error page

Enter the following command in CMD for this:

%windir%\System32\inetsrv\appcmd unlock config -section:system.webserver/httperrors

To display the error pages for URLs ending in one or more .:

  • Download and install the URL Rewrite module if it is not available
  • Add the following URL Rewrite rules to the web.config of the server or the application, so that it works for all of the applications and that the GUI can continue to update.
<rewrite>
<rules>
<rule name="Remove Trailing Dots after some text" stopProcessing="true">
<match url="^(.*[^.])\.+$" />
<action type="Rewrite" url="{R:1}" />
</rule>
<rule name="Remove All Dots" stopProcessing="true">
<match url="^\.+$" />
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>

When configured correctly, a proper page will be displayed for all errors and unknown URLs of the application which fits in with the rest of the application.

The error messages will be displayed to the user on the CustomError.aspx page. In end user mode, only the notification An error has occurred will appear. This happens when a serious error occurs whereupon the work cannot be restarted. To acquire more information about an error message, you can execute the GUI in Developer mode and repeat the reproduction steps or look it up in the Windows Event Viewer under Windows Logs > Application.

Overview of error messages Overview of error messages

For 404 errors, the Web GUI displays a FileNotFound page.

FileNotFound message FileNotFound message

For a full list of HTTP error codes, see https://nl.wikipedia.org/wiki/Lijst_van_HTTP-statuscodes.

info

When adding your own error pages, please note that there are two types of error pages, depending on the URL.

Two types of error pages

Database connection with DB2 does not work

See here.

Crystal Reports

See here.


Was this article helpful?