Modules

OpenKAT consists of individual modules, each of which performs a subtask of the system. The modules are specific to OpenKAT. Rocky is the frontend, Mula is the scheduler, Bytes the storage of raw data, Octopoes contains the data model, Keiko is the PDF engine for reports and Boefjes and Whiskers and are separate components stored in the KATalogus. OpenKAT uses Manon for the design in order to easily comply with accessibility and style requirements.

The overarching concept of OpenKAT is explained in the section How does OpenKAT work. The explanation centers around the image below. All modules of OpenKAT can be found there, except for our web interface and styling modules Rocky and Manon.

https://docs.openkat.nl/_images/stappenopenkat.png

The source code and technical documentation is included for each module in its own github repository. This document refers to these repos and their documentation. If you have any questions, please contact the team, see ‘Contact’ in the readme of the NL-KAT-Coordination repo.

Rocky - frontend

Rocky is the front end for OpenKAT and based on a Django framework. Through Rocky, OpenKAT can be accessed. It provides a user interface for all information present in the system. It is also possible to access OpenKAT only through the APIs.

Rocky is the folder containing Rocky’s source code and documentation.

Mula - scheduler

Mula is the scheduler, which controls OpenKAT. Mula has extensive technical documentation and design schematics.

Mula is the folder containing Mula’s source code and documentation.

Octopoes - datamodel

Octopoes contains the data model with object-types and the XTDB with all objects. The documentation accompanying Octopoes covers the technical side of the logic behind OpenKAT and includes extensive information for people who want to work with the data model themselves.

Octopoes is the folder containing the source code and documentation of Octopoes.

Bytes - raw data storage

Bytes is a relatively simple datastore for the raw data provided by OpenKAT. In addition to storage, Bytes also handles assurance by having a timestamp created from the stored data.

Bytes is the repository containing Bytes’ source code and documentation.

Boefjes and whiskers - scanners and normalizers

The KATalog contains all boefjes and whiskers. The KATalog is easy to add new boefjes and normalizers. The general documentation contains some pointers for writing boefjes. The team is happy to help you if you want to get started with these. The readme of NL-KAT-Coordination repo. contains all the ways to contact the team.

Boefjes is the folder containing the source code and documentation of Boefjes, Whiskers and Bits.

Keiko - reporting tool

Keiko is OpenKAT’s PDF generator, used for generating reports. The design of the reports is done based on a LaTeX template, making the style of the reports customizable.

NL-KAT-Keiko is the repository containing Keiko’s source code.

Manon - styling

Content and form are separated in Rocky. The form is contained in Manon, which as far as OpenKAT is applied in the context of the central government helps to comply with the central government house style. For Web sites outside this context, Manon is also applicable, but with a different style.

NL-RDO-Manon is the repository containing Manon’s source code.