Custom Modules
We deliver some sample modules with the SDK (see https://graebert.atlassian.net/wiki/spaces/KUDOPARTNER/pages/1162608666/SDK+documentation#SDK-content). You can use them as a starting point for you custom modules.
Compiling modules
On Premise / Cloud Installation
Compile you modules against the SDK delivered with the Kudo Server installation.
Windows
Compile your module with VS 2017, 2019 or newer.
We build the server application with VS 2017 (v141) toolset and make sure that we install required VS 2017 C++ redistributable with installation. So we recommend to build the SDK modules using the same toolset to have the same dependencies. If you compile with another toolset, you should make sure to install correct C++ redistributable on the target machine where you run the server on.
Linux
Use g++ to compile the modules.
c++11, c++14 and c++17 are supported.
Define _TOOLKIT_IN_DLL_ and XENON
E.g.
g++ g -Iopt/graebert-gmbh/Kudo-Server/SDK/Headers/inc -Iopt/graebert-gmbh/Kudo-Server/SDK/Headers/dd_inc -D_TOOLKIT_IN_DLL_ -DXENON -std=c++14 -fPIC -shared -o MyModule.tx
SaaS Version
Compile against our server SDK.
Load modules
Add a file named startup.rx to Default Files/Support if it does not exist
Add your module file paths to startup.rx to load them automatically when a new session starts
On Premise / Cloud Installation
Either use absolute path, path relative to Support folder or path relative to editor executable.
SaaS Version
Put you module into Default Files/Support beside startup.rx and use path relative to Support folder, so just filename.
Reference custom icons from customization.zip (SaaS only)
You can reference icons deployed with customiztion.zip from your module code by using CFxSystemServices::FxURLCustomIcons
FxURLScope like this:
CFxUIIcon( CFxSystemServices::GenerateURL( CFxSystemServices::FxURLCustomIcons, "{icon path inside icons folder}" ) );