A collaborative form editing service.
Caluma Service is the core part of the Caluma project providing a GraphQL API. For a big picture and to learn what Caluma does for you, have a look at caluma.io
NOTE: We recommend using Caluma as a dedicated service. However, it is possible to integrate Caluma into a django project. You can read about this here.
Requirements
- docker
- docker-compose
After installing and configuring those, download docker-compose.yml and run the following command:
docker-compose up -d
Schema introspection and documentation is available at http://localhost:8000/graphql and can be accessed using a GraphQL client such as Altair. The API allows to query and mutate form and workflow entities which are described below.
Caluma is a 12factor app which means that configuration is stored in environment variables. Different environment variable types are explained at django-environ.
You can read more about running and configuring Caluma under docs/configuration.md
Set environment variable ENV
to dev
to enable debugging capabilities. Don't use this in production as it exposes confidential information!
This enables Django Debug Middleware.
For profiling you can use ./manage.py runprofileserver
. See docker-compose.override.yml for
an example.
Code released under the GPL-3.0-or-later license.
For further information on our license choice, you can read up on the corresponding GitHub issue.
- Installation & Configuration - Get started installing Caluma in a production context
- Contributing - If you want to help us, here's how to start with your first contribution.
- Caluma Guide - How to get up and running with Caluma
- Workflow Concepts - How to use caluma workflows
- Workflow Advice - Advice about certain aspects of dealing with workflows
- Historical Records - Undo and audit trail functionality
- GraphQL - Further information on how to use the GraphQL interface
- Validation - Validation of user input
- Extending Caluma - Extensions: Data visibility and permissions
- Caluma Events - Reacting upon Caluma Events
- Using Caluma as django apps
- Interfaces
- Maintainer's Handbook - HOWTO for various maintainer's tasks