# Application Configuration

The appRules application configuration settings are stored in the  Default.json file in the root folder.

{% hint style="info" %}
All settings in the Default.json file are optional
{% endhint %}

<table><thead><tr><th width="328"></th><th></th></tr></thead><tbody><tr><td>startup: </td><td>Full name of the startup method. i.e. "MyApp.Program.Main, MyApp".</td></tr><tr><td>mainWindow: </td><td>Full name of a view (Page or Form) created automatically at startup. i.e. "MyApp.MainView, MyApp".</td></tr><tr><td>theme: </td><td>Name of the theme, without the extension, to load at startup.</td></tr><tr><td>url: </td><td>Destination URL. If null, the request must match a web page.</td></tr><tr><td>allowedRoutes: </td><td>Allows the application to handle different Url routes, separated by a semicolon. i.e. "api;admin;query/users".</td></tr><tr><td>culture: </td><td>The default culture of the application. Default: "auto" (detects the culture from the browser.)</td></tr><tr><td>rightToLeft: </td><td>Enables or disables Right to Left mode: true, false or auto. Default: "auto".</td></tr><tr><td>sessionTimeout: </td><td>Timeout of the session in seconds. Default: 120. Minimum: 60. Disable: 0.</td></tr><tr><td>responseTimeout: </td><td>Timeout of the requests in seconds. Default: 300. Minimum: 300. Increase this value if you expect your application to process long running requests.</td></tr><tr><td>pollingInterval: </td><td>Interval for the automatic polling of the server in milliseconds. Default: 0 (disabled). Minimum: 1000. This option is ignored for WebSocket connections.</td></tr><tr><td>autoReload: </td><td>When true, the application is automatically reloaded when the session expires or Application.Exit() is called. Default: false.</td></tr><tr><td>secure: </td><td>Forces the client to use SSL. Default: false.</td></tr><tr><td>showLoader: </td><td>Loads the ajax loader. Default: true.</td></tr><tr><td>loaderTimeout: </td><td>Timeout before the appearance of the Ajax loader in milliseconds. Default: 5000. Minimum: 1000. Disable: 0.</td></tr><tr><td>browserCheck: </td><td>Custom expression to validate the browser, i.e. "navigator.platform == 'Win32'".</td></tr><tr><td>enablePWA: </td><td>Enables PWA mode in browsers that support it. Default: false.</td></tr><tr><td>offlineUrl: </td><td>URL to navigate to when the client loses connectivity with the application. Default: "".</td></tr><tr><td>debug: </td><td>Enables logging on the client browser console. Default: false.</td></tr><tr><td>enableWebSocket: </td><td>Enables the user of WebSocket if available. Default: true.</td></tr><tr><td>enableWebSocketCompression: </td><td>Enables compression of incoming WebSocket data. Default: true.</td></tr><tr><td>maxModalStack: </td><td>Maximum number of nested modal dialogs. Default: 10.</td></tr><tr><td>dropDuplicateClicks: </td><td>+ are still queued and will be executed. Default: false.</td></tr><tr><td>disableClientObjectModel: </td><td>Disables the creation of the JavaScript object model on the client.</td></tr><tr><td>impersonate: </td><td>Set impersonate:true to impersonate the user on the server. Default: false.</td></tr><tr><td>threadPool: </td><td>Configures the thread pool without having to modify the machin.config file. All values are optional. i.e. {minWorkerThreads:100}. Default: null.</td></tr><tr><td>options: </td><td>Map of platform options. i.e. {"automation.mode": true, "mobile.mode": true, ...}.</td></tr><tr><td>settings: </td><td><p>Map of custom application settings</p><p></p><p>deployment: "aws", "azure", "onpremise"</p><p></p><p>portaldatafoldersdirectory: "", "&#x3C;your portal data folder>" </p><p>Default: ""  (ProgramData folder)</p><p></p><p></p></td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr></tbody></table>
