Konfoo Documentation

Welcome to using Konfoo!

This manual outlines all aspects of Konfoo domain specific language (DSL from here on out). There is no particular order in which this documentation must be consumed - use the index on the left to navigate to the parts that interest you.

Konfoo at a glance

At the lowest level everything that makes up Konfoo configurator setup falls into one of three categories:

  • Parts that define data (the overall structure, options and metadata) are written in YAML 1.2,
  • everything that is scriptable (i.e. computed on the fly) on the backend is written in Rhai,
  • GUI event handlers on the browser side are written in a limited subset of JavaScript.

Understanding of these languages is not assumed and is hopefully mitigated by ample number of examples, but at least a working knowledge of these technologies is encouraged.

Each configurator is made up of at least two parts:

  • Domain - defines the underlying data structure
  • Form logic - defines how the GUI maps user input to actual data structure fields

All parts of Konfoo configuration are designed to be version control friendly and human readable.

What is covered here

This documentation is divided into three main sections:

  • Basic Operation - discusses how to design data models for storing input from your users and how to bind GUI elements to data structure elements
  • Advanced topics - discusses scripting, aggregators and lookup tables
  • Integration - describes Odoo specific features available in Konfoo