Description of appsettings in TIServiceWindowService.exe.config.

General

Config key

Default value

Description

XimesDALConfigPath

??

Pfad (Verzeichnis, nicht Datei!) zur DAL-Konfiguration (Datenbanktyp + Connection-String)
XimesDALConfig.xml 

XimesEmailConfigPath

??

Pfad (Verzeichnis, nicht Datei!) zur E-Mail-Konfiguration (E-Mail-Server, Port, SSL, Absender, Adressen)
XimesEmailConfig.xml 

OpHandler

??

Pfad (Datei, nicht Verzeichnis!) zur Operatordefinition (OP-Handler).
xiOperations_xx.xml 

OpSQLScript

??

???

LicenseFile


Pfad (Datei, nicht Verzeichnis!) zur Lizenz
DEVEL\License\XimesLicense.txt
MinWorkingSet
10M

Minimaler Speicher für TI-Service-Prozess.
-1 bedeutet kein Limit

MaxWorkingSet
8G

Maximaler Speicher für TI-Service-Prozess
-1 bedeutet kein Limit 
Bei OutOfMemoryExceptions im TIService, MaxWorkingSet auf "10G" oder "12G" erhöhen. Kontrolle mit Logmeldung:

TIServiceWindowsService.WS - INF_000027: Limits RAM: minimum= 10485760 maximum= 8589934592
MinIOThreads

1

Minimum IO-Threads per CPU core.

Additional setting in machine.config, see also MSDN

<system.web><processModel minIoThreads="2">
APPID

1

App-ID der TI-Service-Instanz. Muss bei Betrieb mehrerer Sites auf einer Datenbank eindeutig sein!

CLIENTID

???

???

CONFIGSGID

???

???

CONFIGURL

???

???

CONFIGHOST

???

???

CONFIGMODE

???

???

TIGuardMainKey

4711

????

MaxSizeOfGenTableResults

1024

Maximaler Speicherverbrauch pro User in KB
-1 bedeutet nicht beruecksichtigen
default wert = -1
moegliche Werte 0 - max memory
Empfehlung = 1024
DefaultLockTimeout

3600

Timeout bis Lock freigegeben wird in Sekunden
 moegliche werte 0 - max integer
 
DisableLock

0

 0 = locking verwenden (default = 0)
1 = locking nicht verwenden
DbConnectionPoolSize

0

Anzahl der Datenbankverbindungen im ConnectionPool. Wenn definiert, sollte der Wert durch 5 teilbar sein, da sonst die Anzahl nicht genau uebereinstimmt.

MaxDbConnection

0

Maximale Anzahl gleichzeitige Datenbankverbindungen default = 0 (kein Maximum)
ACHTUNG!!! Wenn dieser Wert zu nieder ist, kann es zu DeadLock Situationen kommen

SqlDmlShortTimeout
  • PGSQL: 0s
  • MSSQL: 10s
  • ORA: 10s

Timeout in Sekunden für DML-Kommandos

SqlDataReaderDefaultTimeout
  • PGSQL: 0s
  • MSSQL: 30s
  • ORA: 30s

Timeout in Sekunden für Datareader

SqlDmlDeleteTimeout
  • PGSQL: 0s
  • MSSQL: 120s
  • ORA: 120s

Timeout in Sekunden für Löschoperationen

SqlDmlMaxTimeout
  • PGSQL: 1800s
  • MSSQL: 1800s
  • ORA: 1800s

Timeout: maximale Wartezeit

SqlDmlCopyTimeout
  • PGSQL: 120s
  • MSSQL: 120s
  • ORA: 120s

Timeout für Copy-Table

AllowImportIgnoreVersionCheck

0 oder 1

Gibt frei die Importierung von neuerer Versionen von TIS

AllowUnsupportedDbDriver
false

Soll ein nicht freigegebner DB-Treiber zugelassen werden. Betrifft ORA, wenn TIS zB mit Treiber v18 gegen DB v19 betrieben wird.

MaxNumParallelTasks
20

Maximale Anzahl an asynchronen Tasks, die vom TaskRunner (Task-Manager der TISWebAPI, nicht WCF-Service) gleichzeitig zur Berechnung zugelassen werden.

TaskMaxTimeToComplete
30

Timout in Minuten. Gibt an wie lange ein asynchroner Task maximal laufen darf, bevor er abgebrochen wird.

ForceRecreatingAdminPortlets
0

Wenn auf 1 gesetzt, zeigt das Cronjob-Admin-Portlet die Passwort-Spalte mit Non-Default Provider.

CAUTION: in a cluster deployment, set this flag to 1 only on ONE TIS instance. Parallel restarting/deploying of TIS on multiple server where all instances have this flag set can lead to losing of admin portlets.

SignalRKeepAliveSeconds
10

Intervall in Sekunden, in dem der Server Hearbeat-Nachrichten an einen SignalR-Client schickt.

SignalRDisconnectTimeoutSeconds
30

Timeout in Sekunden, nachdem eine SignalR-Verbindung als unterbrochen gewertet wird.

FileGuardIntervalMilliseconds
1000

Intervall in Millisekunden, in dem der FileGuard das Input-Verzeichnis überprüft.

DisablePortletInfoInEditor
false

Whether to disable the expensive (and deadlock-prone) DataNode-Portlet-Relation-Query in TIS Editor.

EnableFirstChanceExceptionLogging
false

Enables exception logging of all exceptions (even the ones that are caught in-code).

PythonMaxConcurrentProcessSetupCount
6

The number of concurrent Python process setups. This is not the number of max concurrent Python processes, only the max concurrent setups thereof.

SetDirtyUpdateRecordCountPerStmt
20

The maximum number of data node IDs in the update-data-node-set-dirty SQL statement.

DiContainerCheckEnabled
false

For diagnostic purposes: Logs the number of instances for each type held by the DI container.

CCXUseRoslyn
false

A value indicating whether to use the Roslyn compiler platform for Rowwise C# operator compilation. Contrary to the default compiler Rolsyn compiles entirely in-memory.

UseExclusiveProjectLocks
false

A value indicating whether projects in the editor can only be opened by 1 user at a time. (Old editor compatibility)

SpxApplicationServerStartupTimeoutSeconds
120

The time TIS waits for the SPX application server to be up and running so it accepts login requests. A value of 0 causes TIS to wait indefinitely. A value of -1 disables the status check, which may causes the subsequent login request to fail.

GetProjectCacheLockTimeoutSeconds
60

The time a request waits to receive the lock to a project in seconds.

GcIntervalMinutes
30

The interval in minutes for a full Garbage Collection (GC) with Large Object Heap compaction. Minimum allowed value: 12 minutes. During high stress situation the system sets the GC interval to 4/10th of the set value (for the default setting of 30 minutes → 12 minutes, for the minimum of 12 minutes → ~5 minutes).

TaskRetainingTimeMinutes
15

The time span after which a task result is discarded. A lower value decreases memory pressure.

WebApiMaxAcceptRequest
10

The maximum number of concurrently pending requests in the TIS web api. A high number of concurrently pending requests can contribute to memory fragmentation, because for each pending request slot a pinned section of memory is allocated. Pinned sections cannot be moved by the Garbage Collector (compaction has no effect) which leads to higher memory fragementation.

WebApiMaxConcurrentRequests
-1

The maximum number of concurrently processed requests by the TIS web api. -1 means unbounded.

Redis pool size

This setting is set in the redisCacheClient elements:

<redisCacheClient ... poolSize="3">
   ...

The pool size determines the number of Redis connections being maintained in the Redis connection pool. A higher number enables higher throughput (reduces Redis timeouts), but can also lead to more memory fragmentation, because each concurrently active connection requires its own pinned section in memory (please refer to the explanation of the setting WebApiMaxAcceptRequests). The highest value recommended is 5. This value is also used if a value equal or less than 0 is set.

MinIOThreads

20

Sets the minimum number of I/O threads per CPU in the CLR thread pool.

MinWorkerThreads

50

Sets the minimum number of worker threads per CPU in the CLR thread pool.

SecsUntilFirstOpenIdTokenRefreshCronJob

10

Number of seconds after an openid logon that the openid token is refreshed for the first time. After this, the openid token is refreshed at its mid lifetime, i.e., after 150 secs if the openid token is expected to be valid for 300 secs.

StaleDataNodeRunTimeoutMinutes

60

Number of minutes until a data node calculation is viewed as stale and subsequently reported in the log file including its stack trace.

StaleOpRunTimeoutMinutes

60

Number of minutes until an operator calculation is viewed as stale and subsequently reported in the log file including its stack trace.

Dashboard (TIS Board)

Config key

Default value

Description

PingIntervalInSeconds

15

Client-Ping zum Server: Interval in Sekunden, Default = 15 (TISBoard)

SessionTimeOut wurde aufgelassen.

XimesTISBoard

???

Pfad zur TISBoard-Presets-Konfiguration

xiTISBoard.xml

XimesTISBoardCustomResults
XIMES\TISBoard
Kundenspezifische Ergebnisfolder in Persistence
???? 
XimesTISBoardCustom

???

Kundenspezifische Ergebnisfolder in Persistence
TIServiceResult

???

Wo werden Ergebnisse abgelegt (Excel, Pdf, Chart)
DEVEL\TISBoard\TISResults


DeleteChartTempFilesInMinutes

???

Aufräumperiode für TISResults-Ordner

TIServiceExcelLayout

???

Excel-Template für Export

TIService\config\template_board.xlsx
 

TISBOARDAsynchronousRequestTime

1

TISBOARD asynchron: Requesttime in Sekunden
DashboardPageImageDirectory


Pfad zu Seiten- bzw. Kundenlogos im TISBoard

C:\inetpub\wwwroot\DEVEL\TISBoard\portal\portal\logos

 

CheckMultiSelect

0

???????

PageDeploymentByTemplateFolder

0

???????

CreateMyPagesFolder

1

????

Service

Config key

Default value

Description

JIRA

MaxRecordsPerCall

500

??


TIServiceCustImpl

??

Kunden-spezifische Implementierung
????? 


TISBoardViewerClient
01

Client für Viewer-Benutzer


TISBoardViewerUser
TISU_Viewer

Standard-Viewer-Benutzer


StimulsoftReportViewerUrl

???

Url vom Stimulsoft-Control muss relativ angegeben werden.

/TISBoard/Report.aspx

BugFLEX-2500 - Stimulsoft Portlet - Call wird in IE abgebrochen Closed

StimulsoftReportViewerCacheTimeOut

5

Zeit in Minuten, wie lange Stimulsoft Report im Speicher gehalten wird (für Blättern notwendig)

Sub-taskFLEX-2475 - Speicherverbrauch von Stimulsoft-Reports mindern Closed

ActionRunnerControlTableName
LogOnScripts

Logon-Scripts


AutomaticUserGeneration

false

Aktiviert automatische Benutzererzeugung spx


DefaultRoles

??

Standard-Rollen für automatisch erzeugte Benutzer spx


StandardReportRoleName

??

Rollenbezeichnung für Standard-Reports
?????? 


CCXAllowedInstanceTypes

??

Erlaubte Typen/Klassen im Formeloperator, getrennt mit Semikolon

System.Data.DataRow;System.Data.DataTable;
System.Data.DataRowCollection;XIH;XimesUtilities;
System.MidpointRounding;System.TimeZoneInfo;
System.String;System.Int32;System.Int64;
System.Text.RegularExpressions.Regex
 


CCXAdditionalReferences

??

DLLs welche zum Formeloperator-Code mitgelinkt werden, Getrennt mit Semikolon

XimesUtilities.dll;XIH.dll;C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.dll
 


CCXTempDir


Temp-Dir, in dem die DLL generiert wird

BugFLEX-7509 - Formel-Op: Could not find file in folge von OutOfMemoryException Closed

CCXKeepTempFiles


Wert, der angibt, ob Kompilat und anderer Output nach Verwendung wieder gelöscht werden.

BugFLEX-7509 - Formel-Op: Could not find file in folge von OutOfMemoryException Closed

ServerFileBaseDirectory

???

Interflex:

Das Basis-Directory, in dem Files gespeichert werden. Dieses kann durch das AppSetting "ServerFileBaseDirectory" eingestellt werden. Für einige Operatoren sind physikalisch vorhandene Dateien am Server notwendig, z.B. Exel Import, etc, die werden im Gegenzug auch von hier gelesen. Pfadangaben in solchen Operatoren sind immer relativ zu diesem Pfad.


TISDirtyFlagTimeout
30000
Maximale Wartezeit fuer das Setzen des dirty-flags in einem Datenknoten (db)
???? 


SupportCcPersistence

1

CC-Persistenz aktivieren


IgnorePersistenceRights

????

??????


RedisServer

??

Hostname der Redis-Instanz


RedisPort

??

Port der Redis-Instanz


RedisHistoryExpire

3600

Zeit in s nach der Redis-History-Keys ablaufen


TisScratchSpacePath

???

Ablageort von temporären Dateien während einem laufenden File-Upload für Import/export


TisWebApiBaseAddress

???

Absoluter Pfad unter welcher die TIS-Api läuft - unterstützt urlacl-Wildcards

http://+:80/DEVEL/tisapi/
 


TisWebApiDocsBaseAddress

???

Absoluter Pfad für automatisch generierte TIS-WebApi-Dokumentation. Wenn leer/nicht gesetzt, wird Doku deaktiviert.
 

http://xiserver77:80/DEVEL/tisapi/


ThreadIdleTime

????

?????


SPXSoap

????

?????


AllowMultiSessionLogon

false

If true then multiple sessions of one user are possible.

StoryFLEX-416 - Mehrfachanmeldung zulassen (AllowMultiSessionLogon) Closed

TISLogOnAsync

true

asynchron login for dashboard (default true)

Response.DashPage is null and Respone.RequestId for further request.


UploadTimeoutSeconds

300 (90)

Timeout in seconds for file upload (reading multi-part message timeout).

BugFLEX-5340 - Import failed: Reading multi-part message timed out after 90 seconds Closed

EnableGenTableCache

false

(warning) Experimental starting from v 6.7

StoryFLEX-8163 - DateNode result caching Closed

GenTableCacheMemoryLimitPercent

50

Max. Anteil am Prozesspeicher


GenTableCachePhysicalMemoryLimitPercent

90

Max. Anteil am RAM der Maschine


GenTableCachePollingInterval

00:00:30 (sec)

Intervall zw den Prüfungen der Cache-Größe; wenn fast voll, dann verkürzt der Cache das Intervall auf 5s vorrübergehend


GenTableCacheExpirationTimeoutMinutes

10

Verfallsdatum eines Eintrags ab dem letzten Zugriff


TemporaryPermissionsEnabled 

True

False disables the feature "temporary permissions" which improves the performance concernsing xirp0021v 6.5~6.7

StoryFLEX-8181 - xirp0021: Performance verbessern (expirationDate = null eliminieren et al) Closed

CronJobAutoRetry

False

True enables an automatic retry on next schedule, so cron job won't change to inactive state v 6.9

BugFLEX-10098 - REWE DE - Cron Job für tBM Bedarfsermittlung ist seit 05.11. nicht mehr gerannt. Closed

Solution Runner

Config key

Default value

Description

ProcessMasterSolutionName

AdminScripts1

Steuerungssolution
SolutionRunnerExtendedLog

false

Wenn eine Update Operation null in der Resulttable hat, voller Output (DEBUG der Solutions)





Qmetrix

Config key

Default value

Description

QMAXMESSAGES

500

Messages ausschalten??
QMAXWAITTIME

2000





Debugging

Config key

Default value

Description

DbPerformanceCounter

false

Windows-Performance-Counter für DB-Operationen aktivieren

DataNodeProfilingThreshold

int.MaxValue

Alle Datenknoten, welche länger als dieser Wert in msec brauchen, werden im Log-File ausgegeben.
Mit 0 werden alle Recalcs ausgegeben. 

Wait4Debugger

""

Wenn gesetzt (nicht Leer oder Null), wartet das TIService beim Startup auf einen Debugger (funktioniert nur mit Debug-DLLs)

DB Statement-Tracer

Im Bereich <system.diagnostics> im TIServiceWindowsService.exe.config

<XimesDAL.DbTrace.DBConnTraceCfg dbtracefile="C:\inetpub\wwwroot\DEVEL\TIService\log\dbtrace.txt" enabled="true" poolinteraction="true" stacktrace="false" session="false" statements="true" parameters="false" />
<system.diagnostics>
<sources>
<source name="dbtracefile" switchValue="All" >
<listeners>
<add name="DbConnTrace"
type="XimesDAL.DbTrace.DbConnTrace, XimesDAL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=f7c4d193b55efe03"
initializeData="DbConnListener" />
<remove name="Default" />
</listeners>
</source>