Skip to content
Marcin Hewelt edited this page Aug 24, 2018 · 11 revisions

Chimera Developer Wiki

Welcome to the Chimera developer wiki! Here you will find the vision and roadmap of the Chimera project, documentation about the architecture and components of Chimera case engine, as well as guides for setting up your IDE, debugging Chimera, and using the github workflow correctly. You find links to all pages also in the sidebar on the right.

The wiki is primarily aimed at developers, to provide them with all the resources necessary to contribute to the Chimera project. If you are looking for a user guide, explaining how to use Chimera to execute cases, have a look at https://bptlab.github.io/chimera.

Vison and Roadmap

The product vision page outlines the vision behind the Chimera Case Engine, i.e. the targeted user group, the distinguishing features of Chimera, and the usecases.

The further development of Chimera is managed on the roadmap page. It lists the upcoming milestones and which features are planned for implementation.

Development Guide

The development guide part of the wiki provides several guidelines for developers, which you should be aware of, when contributing to the Chimera project.

  • The IDE configuration page page describes how to configure your IDE to use the correct code formatting and to connect to Sonarqube, which displays checks the code for potential bugs and code smells. Please make sure, that your IDE is configured according to our policy, before you start coding.
  • The development process page explains how to use feature branches and pull requests, how to write useful commit messages and github issues, and how to release new versions of Chimera. Please check this resource, before you commit to Chimera.
  • The testing page page provides information on writing tests and the usage of the test database.
  • The troubleshooting guide lists common errors and problems with Chimera and helps solving them. Please consult this guide before submitting a bug report.
  • The debugging guide explains how to find and (hopefully) fix bugs.

If you have suggestions for additional guides that would be helpful to you or think that some guidelines need extension, please add a comment in issue #157

Developer Documentation

The developer documentation part of the wiki explains the architecture, components, and main features of Chimera in detail. It also explains the basic concepts of fragment-based case management, the process modeling approach on which Chimera is based.

  • The architecture page presents the architecture of the Chimera case engine and briefly goes over all components.
  • The Chimera API page gives an overview of the RESTful API.
  • The Chimera persistence layer page describes how the case models and cases are persisted in the database using the Java Persistence API with EclipseLink.
  • The case execution page explains the semantics of Chimera, i.e. how activities are executed, how data objects are created and updated, and overall how cases are executed.
  • The event integration page explains how external events can trigger and advance cases using the Unicorn event processing platform.
  • The Chimera UI page describes the user interface of Chimera. This is currently a work in progress, as we plan to re-implement the UI in milestone 1.6.
  • The Chimera configuration page details the configuration options of Chimera and how you can adapt them both locally, as well as in a deployed instance.
  • The Build & Deployment page explains the process that is automatically triggered every time a commit is pushed into the dev or master branch that results in a new instance being deployed on our servers.

The generated Javadoc files can be found at https://bpt-lab.org/ChimeraDocs

If you have suggestions on additional aspects of Chimera that need documentation or think the existing documentation needs to be improved, please comment in issue #157

Publicly available Chimera instances

We host several instances of the Chimera case engine on our servers for you to try out, before installing it locally on your machine.

  • https://bpt-lab.org/chimera-demo - this instance is dedicated for users who want to try out Chimera. It contains several exemplary case models.
  • https://bpt-lab.org/chimera-dev - this instance reflects the current state of the dev branch and thus includes all the latest features. However, it might happen that case models are deleted without announcement.

To create case models and deploy them to a Chimera instance, you can use our deployed instances of the Gryphon case modeler.

Note: You can not use the public Gryphon instances to deploy case models to your local Chimera case engine. Alternatively, you can export the case model and deploy it to your local Chimera using the REST API.