Development
Note
As development is currently taking place mainly under Linux, specifically Debian-based Linux distributions such as Debian and Ubuntu, all instructions are based on the assumption that one of these systems is used.
On Windows, it is also possible to use one of these systems via the Windows Subsystem for Linux (WSL). Please see the chapter explaining how to develop under WSL for some WSL-specific considerations.
This section describes how to install Kadi4Mat in a development environment. There are currently three ways to perform the installation: manual installation, installation via Docker containers and a hybrid installation combining both approaches. Manual installation, as well as the hybrid approach, include quite a few more manual steps. However, these approaches also offer much more flexibility in terms of how the development environment is set up and are therefore the recommended installation methods at the moment.
Regardless of the method of installation, the first step is always to obtain the source code of Kadi4Mat using git, which might have to be installed first using:
sudo apt install git
Before actually obtaining the code, it is recommended to create a fork of the main
repository first. Afterwards, the code can be
cloned into a local directory via SSH (recommended) or HTTPS, the latter being shown in
the following command. Note that the <username>
placeholder needs to be substituted
with the correct username/namespace that the new fork resides in:
git clone https://gitlab.com/<username>/kadi.git ${HOME}/workspace/kadi
This will copy the code into the workspace/kadi
directory in the current user’s home
directory. This directory can of course be changed freely, however, the rest of this
documentation assumes that the source code resides there and that all commands are run
within this directory:
cd ${HOME}/workspace/kadi
To be able to update the code from the central repository, it should be added as an
additional remote, often called upstream
(note that the default remote after
cloning, pointing to the new fork, is always called origin
):
git remote add upstream https://gitlab.com/iam-cms/kadi.git