Last updated: 2019-06-27

Prerequisites for the Web Client

This page describes the prerequisites for successfully installing and running the Web Client.

The Web Client is a Web Application hosted within IIS and is installed as part of the Core Services package.

graph LR subgraph Consumers roBrowser[fab:fa-chrome Chrome
fab:fa-firefox Firefox
fab:fa-internet-explorer Internet Explorer
fab:fa-edge edge
fab:fa-safari Safari] end subgraph Web Server roWebClient(fal:fa-globe Web Client) ---roWebAPI(fal:fa-cloud-sun Web API) roBrowser ---roWebClient end
Verified Topic
Supported Browser
MSDTC
Windows rights
Database rights
Firewall

Use the checklist above to verify that you have performed all steps required to get Nodinite flying

Client Browser

Nodinite requires a modern HTML-5 enabled browser which most are to some extent. HTML is simply speaking just a collection of tags and attributes that are used to markup a document to be processed by the browser. Unfortunately the different browsers available on the market are not processing content equally and you will get a different look and feel using Nodinite depending on your choice.

Browser Minimum Supported Version Recommended version Note
Chrome 48 Latest
Internet Explorer* 11 About Lifecycle
edge 12 Latest
Safari 5 Latest
Firefox 37 Latest

/* Internet Explorer 9 and 10 was supported with Nodinite version 1-4. Nodinite 5 requires a modern HTML-5 browser.

We develop and test Nodinite using Chrome to give you the best and richest experience and we strongly recommend that you use this great browser too

Microsoft Distributed Transaction Coordinator (DTC)

The Web Client is involved in SQL Server related operations and Nodinite uses the Windows Service Microsoft Distributed Transaction Coordinator (DTC) that is responsible for coordinating transactions that span multiple resource managers. We have written a dedicated tutorial for Nodinite with our best practices for how to install and configure the DTC Windows Service.

You must configure the DTC as documented otherwise Nodinite will not be able to function

What Windows rights does the Web Client require?

When you install Nodinite using the install and update tool the Web Client is assigned an IIS App Pool. This IIS App Pool is set to run with ASP.NET Impersonation and all consumers of the Web Client will be impersonated to a dedicated Windows Service account.

The Web Client uses ASP.NET Impersonation which is a feature built into IIS and further call to SQL Server(s) are being performed as this identity.

If the impersonated service account for IIS App Pool is not local administrator then the Windows Domain account must be added to the local 'IIS_IUSRS' group. The account used must also be assigned certain SQL Rights, see next paragraph.

What SQL Rights does the Web Client require?

The Web Client accesses the databases using the impersonated configured for the Web API and must have the following SQL rights assigned:

  • Configuration Database
    • db_datareader
    • db_datawriter
    • db_ddladmin
  • Grant Execute rights on all existing and future stored procedures:
    GRANT EXECUTE TO [Domain\user]
    
    Replace [Domain\user] with the Windows account being used for the Web API
  • IMLog* (can be multiple )
    • db_datareader
    • db_datawriter
    • db_ddladmin

Note: db_ddladmin is required in order for the service account to have proper rights to read statistics. Without this permission performance may be degraded, especially true for remote servers (linked servers). Read more here. Contact our support if you have any questions about this.

What Firewall settings are required for the Web Client

The Web Client requires both inbound and outbound ports to be opened. Since Nodinite is highly configurable, the actual ports in use may differ from what's being exampled here.

The Web Client requires both inbound and outbound ports to be open. Depending on your environment different ports may be used. On a high level the following services must be allowed:

  1. REST - Inbound communication typically HTTP and HTTPS
  2. Configuration Database - ports used to communicate with SQL Server

1. TCP Ports for REST

  • 80 - HTTP
  • 443 - HTTPS
  • 1-65535 - It all depends on what port you have assigned using 'Edit Bindings' for the Web Site hosting the Web Client
    • If your going to host Nodinite on non default ports, Please contact our support for guidance at support@nodinite.com
graph LR subgraph App Server roMS(fal:fa-watch-fitness Monitoring Service) roLS(fal:fa-hdd Logging Service) end subgraph Web Server roWebAPI(fal:fa-cloud-sun Web API) roWebClient(fal:fa-globe Web Client) -->|80,443,...| roWebAPI end subgraph PowerBI, Excel, QlikView roReport[fal:fa-user-chart Custom Reports] roReport-->|80,443,...| roWebAPI roWebAPI -->|8000| roMS roWebAPI -->|8000| roLS end

2. TCP Ports between Web Client and SQL Server

The Web Client does not access any databases and does not need any explicit rights. All communication with the underlying databases are performed using the Web API. You can read more about SQL rights for the Web API in the 'What SQL Rights does the Web API require?' section.

Frequently asked questions

Common problems and FAQ for the Web Client can be found in the troubleshooting page.

Can I secure the Web Client?

Yes, the Web Client supports the usage of SSL Certificates. Simply add your certificate to IIS:external-link-alt: and configure the Web Client to only allow https


Next Step

Install Nodinite