Katmandoo requires an application settings file (appsettings.json) in the root folder to run. These settings contain database connection, folder configurations and other system wide options.
To build a configuration file or test the database connection click the toolbox icon on the top right of of the Katmandoo menu strip and select Setup.
Testing the database connection
To ensure there are no issues with the database connection the Test Connection button ensure that the Katmandoo interface is linked correctly to a valid Katmandoo database.
Encrypting database password text
The application settings file does not store plain text passwords in the database configuration file. To generate the encrypted database password, enter it into the input box and click encrypt text.
Building a configuration file
An application settings file can be generated by populating the configuration settings boxes.
Currently the database options are MySQL and SQL Server. Please ensure that the correct server type is selected or Katmandoo will use an invalid connector for accessing the database.
The database host must be accessible by the web server hosting the Katmandoo installation. If the server is running locally then the host may be localhost. Remote hosts may be an IP address or host name.
The connection port is optional. Please ensure it is supplied if not using default configuration settings for MySQL (3306) or SQL Server (1433). This can also be used if hosting multiple servers on the same host.
The database name must match an installed Katmandoo database on the server.
The database username supplied must have permission to access the Katmandoo database on the server.
The database password will be encrypted in the application settings file. Please ensure that the password is entered correctly as it is hidden on input and encrypted in the resulting file.
The file upload path is the folder location where uploaded import files will reside on the server. File uploads are visible to specific to the currently logged in user and the current sub-system. Please ensure this folder exists and that it has the correct permissions for the Katmandoo interface to access. It is recommended that this folder is outside of the web folder so that authentication is enforced.
The media library path will contain uploaded documents that Katmandoo can reference for download by authorised users. Please ensure this folder exists and that it has the correct permissions for the Katmandoo interface to access. It is recommended that this folder is outside of the web folder so that authentication is enforced.
The dot application file allows Katmandoo to run the Graphviz application to generate Scalable Vector Graphics (SVG) representations of complex dot files to display family linkages.
If Show Exception Details is checked then errors will show inner system exceptions useful when debugging Katmandoo. It is recommended that this option is disabled in a production environment.
The Enable Setup Tools option enables/disables the Tools-Setup page. The tools setup page does not require authorisation. It is recommended that this option is disabled in a production environment.
The downloaded appsettings.json file can now be placed into the the root folder of the katmandoo installation (replacing the existing example file below). A JWT key and issuer will be generated by the system. Please ensure that all the issuer and key are different for every installation of katmandoo.
Application Settings File Example
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"Jwt": {
"Key": "CHANGEthisKEYtoSOMETHINGsecure",
"Issuer": "http://localhost:5000/"
},
"ConnectionStrings":
{
"CoreConnection": "server=SERVER_HOST;userid=DATABASE_USERNAME;pwd=ENCRYPTED_PASSWORD;port=3306;database=YOUR_DATABASE_NAME;SslMode=none;AllowPublicKeyRetrieval=True"
},
"Paths":
{
"FileUploadPath": "C:\\TEMP\\KMD3\\Uploads",
"MediaLibraryPath": "C:\\TEMP\\KMD3\\Media",
"DotApplicationPath": "C:\\bin\\dot.exe"
},
"Options":
{
"ServerType": "MySQL",
"ShowExceptionDetail":true,
"EnableSetupTools":true
}
}