The config file
It is called Config.yaml by default, and it is the one mandatory file in a Kittox application. Think of it as the main entry point. Normally the config file mentions a HomeView from which the entire application is served. The config file contains settings regarding database connections, language and localization, user authentication, access control and so on.
List of first-level config nodes (click on node names for details):
| Name | Type | Description |
|---|---|---|
| AppTitle | String | Application title |
| Databases | Subnode | Database connections |
| Auth | Subnode | User authentication settings |
| AccessControl | Subnode | Access control (user privileges) settings |
| HomeyTinyView HomeSmallView HomeView | String/Subnode | Specifies the view to display at application startup (or after login if user authentication is enabled) for client devices up to 5", from 6" to 10" and over 10" respectively |
| ThemeMode | String | Theme mode: light, dark or auto |
| Log | Subnode | Logging-related settings |
| LanguageId | String | Default user interface language (such as en) |
| Charset | String | Default charset (normally utf-8) |
| FOPEnginePath | String | Default FOP Engine Path |
| JavaScriptLibraries | List | Optional libreries to include |
| Defaults | Subnode | Default settings for layout, grid, form panel, window |
| UserFormats | Subnode | User-facing formats: date, time, currency, decimal/thousand separators |
| Desktop | Subnode | Window properties for Desktop Embedded Mode (ClientWidth, ClientHeight, Maximized, Resizable, BorderIcons, Position) |
| Subnode | Default email settings |
A Config.yaml example from HelloKitto:
AppTitle: My First Kitto Application
Databases:
Main: ADO
Connection:
ConnectionString: >
Provider=SQLOLEDB.1;User ID=sa;Password=xxx;
Initial Catalog=MyDatabase;Data Source=%COMPUTERNAME%
Other: DBX
Connection:
DriverName: DevartSQLServer
HostName: %COMPUTERNAME%
DataBase: MyDatabase
User_Name: sa
Password: xxx
GetDriverFunc: getSQLDriverSQLServer
LibraryName: dbexpsda40.dll
VendorLib: sqloledb.dll
Auth: DB
IsClearPassword: True
IsPassepartoutEnabled: True
PassepartoutPassword: hfjry%%tebd!qywha$£nò
Defaults:
UserName: administrator
Password: hfjry%%tebd!qywha$£nò
AccessControl: Null
# Home is also the default.
HomeView: Home
ThemeMode: auto
# Default: en
LanguageId: it
Charset: utf-8
Log:
# 1 = Minimal, 5 = Debug.
Level: 5
TextFile:
# Set this to false to disable this logger without deleting its configuration.
IsEnabled: True
FileName: %APP_PATH%log.txt
IsEnabled: False
FOPEnginePath: %FOP1_1%
JavaScriptLibraries: jquery-2.1.3.min jSignature.min
UserFormats:
Date: dd/mm/yyyy
Time: hh:nn
Currency: "€"
Decimal: ","
Thousand: "."
Email:
SMTP:
Default:
HostName: smtp.gmail.com
UserName: username@gmail.com
Password: userpassword
Port: 465
UseTLS: TrueUserFormats
The UserFormats node controls how dates, times, and numeric values are displayed throughout the application (both in grids and forms).
| Property | Type | Default | Description |
|---|---|---|---|
Date | String | System default | Date display format (e.g. dd/mm/yyyy, mm/dd/yyyy) |
Time | String | System default | Time display format (e.g. hh:nn, hh:nn:ss) |
Currency | String | System default | Currency symbol displayed in currency fields (e.g. €, $, £) |
Decimal | String | System default | Decimal separator character (e.g. , for Italian, . for US/UK) |
Thousand | String | System default | Thousands separator character (e.g. . for Italian, , for US/UK) |
These settings override the system's default FormatSettings at application startup. This ensures consistent formatting across the entire application, regardless of the server's locale.
Currency fields in grids display the currency symbol before the formatted value (e.g. € 1.200,50). In forms, the currency symbol appears inside the input field and is temporarily removed while editing.
Example for Italian locale:
UserFormats:
Date: dd/mm/yyyy
Time: hh:nn
Currency: "€"
Decimal: ","
Thousand: "."Example for US/UK locale:
UserFormats:
Date: mm/dd/yyyy
Time: hh:nn
Currency: $
Decimal: "."
Thousand: ","Defaults
The Defaults node contains application-wide default settings for the user interface.
Defaults:
Layout:
Char_Width_Factor: 0.85
Char_Height_Factor: 0.8
MemoWidth: 60
MaxFieldWidth: 60
MinFieldWidth: 5
RequiredLabelTemplate: "<b>{label}*</b>"
LabelSeparator: ":"
FormPanel:
LabelWidth: 120
Grid:
PageRecordCount: 20
DefaultAction: Edit
Window:
Width: 800
Height: 600Layout
Controls the sizing and labeling of form fields.
| Property | Default | Description |
|---|---|---|
Char_Width_Factor | 1.0 | Scale factor for field widths (in CSS ch units). Values < 1.0 produce narrower, more compact fields. See Form — Scale factors. |
Char_Height_Factor | 1.0 | Scale factor for HTMLMemo editor heights. Values < 1.0 produce shorter editors. See Form — Scale factors. |
MemoWidth | 60 | Default width in characters for Memo/HTMLMemo fields. |
MaxFieldWidth | 60 | Maximum field width in characters. |
MinFieldWidth | 5 | Minimum field width in characters. |
RequiredLabelTemplate | <b>{label}*</b> | HTML template for required field labels. The {label} placeholder is replaced with the field name. Use {label} alone to remove bold and asterisk. |
LabelSeparator | : | String appended after field labels. Set to empty to remove the separator. |
FormPanel
| Property | Default | Description |
|---|---|---|
LabelWidth | 120 | Width in pixels for side-aligned labels (Left or Right alignment). |
Grid
| Property | Default | Description |
|---|---|---|
PageRecordCount | 20 | Number of records per page in grid views. |
DefaultAction | Edit | Default double-click action on grid rows (Edit or View). |
Window
| Property | Default | Description |
|---|---|---|
Width | 800 | Default window width in pixels. |
Height | 600 | Default window height in pixels. |
