Configuration
The configuration is split into a number of sections and is stored in different files. There are settings for the Web Engine, the Web Adapter and the application itself. The configuration files are XML files which means that the XML syntax must be adhered to when editing the files.
Configuration files for the Web layer
Configuration files for the Application layer
With a multi-server installation, you must always ensure that the Master service is the first service to be started when starting the Web Engine services.
After startup, each slave registers itself with its master. If the master is restarted after the slave, the slaves are no longer registered and load distribution can no longer be performed.
Session Timeout Administration and Behaviour
- In order to change the timeout property, you need to adjust all three timeout values because the timeout mechanisms work independently of each other. The smallest timeout value closes the connection to the server.
- The value for the "user inactivity timeout" in the webengine.cfg must not be lower than the other two timeout values. Otherwise, errors might occur when starting the application because sessions are still running on the server and ports are occupied.
Inactivity Timeout (webengine.cfg)
The "user inactivity timeout" is responsible for terminating sessions which have not been closed, but which have received no user input within a specified period. This timeout is controlled via the "sessiontimeout" key in the file webengine.cfg. This value is specified in minutes, with the default being "15". Please note that this value must not be lower than the browser timeout specified in the file web.config.
Browser Timeout (web.config / IIS -- Application Settings)
Cockpit 10 now automatically terminates sessions if the browser window (or tab) is closed or reused with different content without having been given an explicit "log off" command from the user. Such sessions are referred to as "unused sessions" or "abandoned sessions", and the timeout mechanism is referred to as the "browser timeout". This timeout mechanism is controlled via the "sessiontimeout" key in web.config. The value can be decreased to a minimum of one minute ("1") in order to have unused sessions terminated as quickly as possible.
Please note that decreasing the value may increase the risk of inadvertent session terminations in case of short term network outages or performance problems (concerning the route between the client computer and the IIS web server) or in case the client computer does not deliver sufficient computing power to complete client side in-browser operations in time.
Note: Opening modal dialogs of the browser itself might compromise the functionality of the browser timeout mechanism. While such dialogs are showing, Cockpit 10 might falsely detect that the browser window (or tab) has been closed. This is caused by peculiarities of individual browser's JavaScript execution engines and is unfortunately not surmountable.
Idle Time-out (web.config / IIS -- Advanced Settings)
The Idle Time-out defines the amount of time a worker process will remain idle before it shuts down. The Idle Time-out is specified in minutes, with the default being "20". The value can be adjusted using the IIS Manager.
Open the Control Panel and choose System and Security > Administrative Tools.
Select Application Pools > Cockpit10.
Call the Advanced Settings using the context menu or the Actions panel.
Select the entry Idle Time-out (minutes) and adjust it as required.
Web Layer - Web.config
The web.config file is a default file of a web site in IIS. This file stores the settings for IIS and the virtual folder.*
The file is located directly in the virtual folder of IIS. In a default installation this is C:\Inetpub\wwwroot\Cockpit10\Web.config.
Syntax example
<configuration>
...
<appSettings>
<add key="application" value="cockweb"/>
...
</appSettings>
...
</configuration>
The following entries are relevant for the configuration:
Name |
Default Value |
Meaning |
|---|---|---|
application |
cockpit |
Specifies the application type for the server. Should not be changed. |
config |
cockweb.cfg |
This value specifies the configuration file that is used by the Web application (see cockweb.cfg). |
server |
localhost |
This specifies the machine on which the Web Engine is running (application layer). The Web Adapter always connects to this machine. |
port |
8888 |
Specifies the port at which the Web Engine is accessible. |
timeout |
360 |
Specifies the timeout in seconds for communication with the Web Engine. This value should not be too low, since heavy utilization of the Web Engine will lead to increased response times. |
impersonate |
1 |
Specifies whether the integrated security should be passed from IIS to the Web Engine. This setting is required for databases which require integrated security (e.g. Microsoft Analysis Services). Caution: If the Web Engine is running on a machine other than the IIS (multi-server), |
usekerberos |
0 |
Specifies whether login should be performed using the Kerberos authentication mechanism or NTLM. 1 = Kerberos, 0 = NTLM If the value for |
sessiontimeout |
5 |
Browser timeout. Specifies the timeout in minutes after which a client is terminated automatically. This value is passed to IIS. In other words, session management function of IIS takes care of the termination of the client. Refer also to the notes in the section Session Timeout Administration and Behaviour. |
sessionstate... cookieless |
false |
Specifies whether cookies are permissible and thus whether single-port sessions are used.
It is essential that you read the information in the section Single-Port Sessions. |
* These settings can also be made in the IIS Manager.
Open the Control Panel and choose System and Security > Administrative Tools.
Duble-click IIS Manager.
Expand the Default Web Site, select Cockpit10 and check whether Feature View is set. If not, right-click Cockpit 10 and choose Switch to Feature View.
Now you can make the required settings in the Application Settings.
Application Layer
Web Engine - webengine.cfg
The Web Engine is configured in webengine.cfg in the section <webruntime>. In a standard installation, this file is located in the folder C:\ProgramData\Cubeware\Cockpit 10\bin.
Syntax examples:
<config>
<webruntime type="master"
maxworker="5"
workerswitch="5"
recycle="20" port="8888"
portbase="8889"
watchdog="60"
sessiontimeout="15"
logging="normal"
reservationtimeout="10"
assignment="load"
spn="HOST/MyServer.MyDomain.net">
</webruntime>
...
...
</config>
A Webruntime of the type "slave" always needs a <master> entry in order to identify the master.
<config>
<webruntime type="slave"
....
....>
<master ip="compname" port="8888"/>
</webruntime>
...
...
</config>
The following entries are relevant for the configuration:
Name |
Default value |
Meaning |
|---|---|---|
maxworker |
10 |
Specifies the maximum number of Worker processes that can be started on the machine. |
workerswitch |
5 |
Specifies how many clients a Worker process is able to serve concurrently. If this number is reached, a new Worker process is started. This specification is used for internal calculations regarding the utilization of the machine. This value is very important as a Worker process is only permitted to use a maximum of 2 GB of memory. If a high value is selected for The setting should be selected in such a way that the normal memory requirements of a client multiplied by The product of |
recycle |
20 |
Specifies the number of served clients before the Worker process is restarted. When a Worker process reaches recycle number of clients (total since the process was started), no further clients are accepted. As soon as the last client in the process has terminated, the Worker process itself terminates. This mechanism is used to ensure that a Worker process does not occupy too many system resources. |
port |
8888 |
Specifies the port at which the clients communicate with the Web Engine. The port can be freely selected, but should be greater than 5000. |
portbase |
8889 |
Specifies the port number as of which ports are assigned for the Worker processes. One port number each is assigned to the Web Worker process and the Chart Worker process, starting at portbase can be freely selected, but should be greater than 5000. Caution: If you change the |
watchdog |
20 |
Specifies the interval for internal monitoring of the Worker processes. This specification is made in seconds. |
sessiontimeout |
15 |
User inactivity timeout. Specifies the "idle time" after which a client is terminated automatically. This specification is made in minutes. Caution: This specification may collide with the session timeout in IIS (Web.config). For further information refer to section Session Timeout Administration and Behaviour. |
logging |
max |
Specifies how many entries are created in the Event Viewer. The following values are permitted:
|
reservationtimeout |
10 |
Specifies the time in seconds that the system will wait until a client has logged into the Webworker process (specified in seconds). |
assignment |
load |
Specifies the assignment strategy. The following values are permitted:
|
spn |
If the Kerberos authentication mechanism is used, delegation permission must be set on the domain controller for the server machine on which Cockpit 10 is running. As a rule, the HOST-SPN can be used. See also Target and SPN. Kerberos must be enabled as the authentication method in the file cockweb.cfg. |
|
|
master/ip and master/port |
Specifies the master for a Webruntime which is defined as type "slave". You must specify the IP address (or the NetBIOS name or the FQDN (Full Qualified DNS Name)) and the port. |
cockweb.cfg
During installation, a default configuration for the application is stored in cockweb.cfg. In a standard installation, this file is located in the folder: C:\ProgramData\Cubeware\Cockpit10\.
The name of the file can be freely selected, but must correspond to the name specified in the Web.config file. The configuration file must always be in the same folder as cockweb.dll.
The settings which are made in the file cockweb.cfg can be divided into the following groups:
- Path settings
- Path settings - Export
- Global settings
- Authentication settings
- Predefined logins
- Predefined logins - Examples
cockweb.cfg: Path Settings
Various path settings can be made in the configuration file cockweb.cfg.
Syntax example
<config>
<applicationbase>
<!-- HTML templates used by application-->
<htmltemplates path="<default folder>\templates"/>
...
<!-- further path settings -->
</config>
The following entries are relevant for the configuration:
Name |
Default value |
Meaning |
|---|---|---|
htmltemplates |
<DefaultFolder>\template |
This path specifies where the HTML templates are located. The application will not run without valid HTML templates. |
cockweb.cfg: Path Settings - Export
The path settings for an export operation can be made in the configuration file cockweb.cfg.
Syntax example
<config>
...
<application>
<!-- Globals -->
<tempfolder value="d:\temp"/>
<!-- further settings -->
</application>
...
</config>
The following path setting can be made:
Name |
Default value |
Meaning |
|---|---|---|
tempfolder |
<temp folder> |
This path specifies the folder for the intermediate storage of the temporary files generated for export. |
Please note the requirements for report export.
cockweb.cfg: Global Settings
Various global settings can be made in the configuration file cockweb.cfg.
Syntax example
<config>
<applicationbase>
...
<!-- Long running query -->
<querywait seconds="30"/>
<!-- Limits of all tables in application-->
<tablelimit rows="2000"/>
<!-- Chartworker timeout -->
<chart processTimeout="10"/>
<!-- filename with umlauts -->
<export filename_with_umlaut="1"/>
...
</applicationbase>
<application>
<!-- Basic connection settings -->
<connectbase defaultport="10896" showuser="0"/>
<!-- Hide logoff -->
<logoff hide="1"/>
<systemcubes enabled="0"/>
...
<!-- further global settings-->
</application>
</config>
The following entries are relevant for the configuration:
Name |
Default value |
Meaning |
|---|---|---|
querywait seconds |
30 |
This specification gives the time in seconds, after which the "timeout message" is called. |
tablelimit rows |
2000 |
Specifies the maximum number of lines for building HTML tables on the web page. |
defaultport |
10901 |
This is the port of the CSP Server. If the port for the server is modified, this value must also be modified. Note: The port defined here is valid globally but can be overwritten as part of a predefined login. |
showuser |
0 |
Here you can specify, whether the name of the user who is currently logged into IIS should be entered by default in the user name field of the login dialog.
Note: The option defined here is valid globally, but can be overwritten as part of a predefined login. |
The following entries can be optionally made:
Name |
Default value |
Meaning |
|---|---|---|
chart ProcessTimeout |
60 |
This timeout terminates the Chart Worker process automatically after a certain time, even if it is no longer responding. In this case, no more charts are displayed to the user, who can otherwise keep working. A reload of the report restarts the Chart Worker. |
export filename_with_umlaut |
1 |
By default, filenames with umlauts are generated on export. This entry controls this behavior.
|
logoff hide |
0 |
The Logoff function in the Navigator menu can be hidden if required.
Note: If the Logoff function is hidden, you must provide an action, for instance, to ensure that it is possible to exit the application properly. |
systemcubes enabled |
0 |
This setting also makes all system cubes of an OLAP database accessible to Cockpit 10.
|
cockweb.cfg: Authentication Settings
Various authentication settings can be made in the configuration file cockweb.cfg.
Syntax example
<config>
...
<applicationbase>
.....
<tsauth security="NTML" targetspn=""/>
...
</applicationbase>
</config>
The following entries are relevant for the configuration:
Name |
Default value |
Meaning |
|---|---|---|
tsauth / security |
"NTLM" |
Specifies the authentication mechanism. NTLM (NT Lan Manager) is used by default. Enter the value "Kerberos" if you wish to use Kerberos. |
tsauth / targetspn |
Specifies the SPN. If NTLM is used, this value is empty. If Kerberos is used, this value contains the SPN of the CSP Server. If you are using several CSP Servers, predefined logins must be used. The relevant attributes "security" and "targetspn" can be specified here. |
cockweb.cfg: Predefined Logins
Optionally, user login information can be predefined in the configuration file cockweb.cfg.
If this option is set then the user does not need to know the name of the CSP Server. It can also be used for targeted publication of specific repositories e.g. test repositories/productive repositories.
If the Kerberos authentication method is used, it is possible to address different CSP Servers using the predefined logins.
Syntax example
<config>
...
<application>
<!-- Basic connection settings -->
<connectbase defaultport="10901" showuser="1" showdblogin="1"/>
<login>
<!-- environment -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="environment" server="SRV01" environment="Productive" auth="integrated" fullscreen="on" report="Monthly report" showuser="1" display="Integrated Productive on SRV01" security="Kerberos" targetspn="HOST/MyServer.MyDomain.net"/>
<!-- Free -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="free" auth="any" display="Free selection" showuser="0" showdblogin="1" security="Kerberos" targetspn="HOST/MyServer.MyDomain.net"/>
<!-- Server -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="server" server="SRV01" auth="integrated" display="Connect integrated to SRV01" showuser="1" security="Kerberos" targetspn="HOST/MyServer.MyDomain.net"/>
</login>
</application>
...
</config>
More detailed examples can be found in the section Predefined Logins - Examples.
The file cockweb.cfg contains the section <samplelogin> in parallel to <login>. This contains a number of examples of predefined logins. However, these are not evaluated.
Types of predefined logins
Several different types of predefined logins are available:
- server: A connection can be established to a specific CSP Server. The user can then choose the required repository from those available on this server.
- environment: A connection is automatically established to a predefined repository on a specified CSP Server.
- free: This makes the fully open login available. The user must enter all the necessary settings.
Settings for a predefined login
For every predefined login the following settings can (o=optional) or must (m=mandatory) be made:
(s = server, e = environment, f = free)
Setting |
s |
e |
f |
Meaning |
|---|---|---|---|---|
description |
|
Internal name for this predefined login. This name is not processed. |
||
display |
|
o |
A display title for the login dialog can be defined. |
|
server |
|
o |
The name of the CSP Servers can be predefined. |
|
port |
o |
o |
o |
This is the port of the CSP Server. If the port for the server is modified, this value must also be modified. Note: The port defined here is valid locally for this login only. If no port is specified here, then the |
auth |
o |
m |
o |
The type of login to the CSP Server can be predefined. The following values are permitted:
Default value: any |
environment |
- |
m |
o |
The name of a repository on the CSP Server can be predefined. |
fullscreen |
o |
o |
o |
on, off, lock The stored start report or the report specified in the
Default value: off |
report |
o |
o |
o |
Name (in the default language) of the report to be opened. |
showdblogin |
o |
o |
o |
It is possible to predefine whether the language in a multilingual repository can be selected at login (1 / on / yes) or not (0 / off / no). Default value: 1 |
showuser |
o |
o |
o |
It is possible to define whether the name of the user currently logged on to the IIS is to be entered by default in the user field of the login dialog.
Note: The option defined here is valid locally for this login only. If no value is provided, then the value defined in the global settings is used. |
security |
o |
o |
o |
If you are using the Kerberos authentication method in conjunction with several CSP Servers, you must enter the value "Kerberos". The SPN of the CSP Server must be entered in the targetspn attribute. If you are using the NTLM authentication method, you must enter the value "NTLM", and targetspn is then empty (targetspn = ""). If no specifications are made for security and targetspn, the settings from the |
targetspn |
o |
o |
o |
If Kerberos is used, |
The following will be displayed as the title of the login list:
- server: display or server
- environment: display or environment
- free: display or default
cockweb.cfg: Predefined Logins - Examples
The concept of predefined logins is described in the section with the same name. A number of examples are listed and explained below.
Integrated login to the CSP Server
<!-- Server -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="server"
server="CWSRV"
auth="integrated"
display="Test-Server"
showuser="1"
fullscreen="lock"
report="Sales"
security="NTLM"
targetspn=""
/>
- The start page contains a line with the name "Test server". If
<display>is omitted, "Server CWSRV" is displayed instead. - Clicking on this line opens a dialog box in which all the repositories of the server are displayed.
- The user can select one of these repositories and log in.
- Specification of
integratedmeans that the Windows authentication function is used, and no user name and password need to be entered. - The report "Sales" is started in fullscreen mode. The fullscreen mode cannot be closed.
- The user is automatically connected in his or her default language.
- NTLM is used as the authentication method (
security = "NTLM").
Integrated login to the CSP Server with Kerberos
<!-- Server -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="server"
server="CWSRV"
auth="integrated"
display="Test-Server"
showuser="1"
security="Kerberos"
targetspn="HOST/MyServer.MyDomain.net"
/>
The login is the same as described in the section above, with the following exception:
The specification security="Kerberos" causes authentication to be carried out over Kerberos. targetspn specifies the SPN of the CSP Servers (see Authentication Settings).
Standard login to a repository
<!-- environment -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="environment"
server="CWSRV"
environment="DemoEnvironment"
auth="normal"
fullscreen="on"
display="Demo environment (non-productive)"
/>
- The start page contains a line with the name "Demo environment (non-productive)". If <display> is omitted, the repository name is displayed instead (
<environment>). - If this line is clicked, a connection is established to the "Demo environment" repository on the "CWSRV" server.
- Specification of the type
normalmeans that Windows authentication is not used, and a user name and password must be entered. - If a start report is stored, this is opened in fullscreen mode. The fullscreen mode can be closed.
- The user is automatically connected in his or her default language.
Free login
<!-- Free -->
<!-- 'auth' one of: normal; integrated; forms; any;-->
<connect type="free"
auth="any"
display="Enter login information yourself"
/>
- The start page contains a line "Enter login information yourself".
- If this line is clicked, the standard login dialog will be displayed. All specifications can be made explicitly.
- The user is automatically connected in his or her default language.