A closer look at Bonita 2021.2: Project Composition

delphine.coille's picture
delphine.coille
Blog Categories: 

Let's continue diving into some of the new features of Bonita 2021.2. Whether you are using Bonita Community or Bonita Enterprise, you will find in this series of posts some great new functionalities and improvements.

Now that you know everything about the project overview, let’s start working on your project… It’s time for us to introduce you to Project Composition.

Project composition, the power of Maven projects

Bonita 2021.2 leverages the power of Maven, a tool for building and managing Java-based projects.

A Bonita project is composed of different elements.

Starting with Bonita 2021.2, it will be much easier to compose your project of extensions (connectors, REST API extensions, themes, and actor filters).

If you are a developer, you can use your preferred tooling. Project Composition will also make your project more robust and help project industrialization, as you will be able to implement tests for each extension and re-use your extensions in several projects.

If you are working in Bonita Studio but are not a professional developer it will be easier for you to use Bonita Studio, and to manage extension versions in your project. This is true for connectors as well as other extensions.

As connectors are now considered full extensions, their versions are not bound to the specific Bonita Studio version. You don’t need to upgrade Bonita Studio to upgrade a connector, or to upgrade your connector when upgrading Bonita Studio.

This will simplify version upgrades.

And, your sources will be lighter as the dependencies will be pulled by the project.

What’s new with your project?

Creating a new project

When you open a new project in Bonita 2021.2, it is structured as a Maven project. A pop-up window will appear to help you specify all maven coordinates:

  • Name: display name of your project
  • Version: the initial version of your project
  • Group ID: to uniquely identify your project across all projects
  • Artifact ID: this field is automatically populated with the display name information, using Maven format.

When your project is ready to be created, you have 2 options.

  1. If you have already identified which extensions are required for your project, you can import them directly before the project creation
  2. If you will work on integration and extensions later, don’t worry - you can come back and add them with the extension manager.

Importing an existing project

During the BOS file import, the project dependencies will be scanned by Bonita Studio. It will try to find the dependencies on the defined repositories (both remote and local).

If there are dependencies among extensions that are stored on remote repositories and those dependencies are identified during scanning, those extensions will be added to the POM with the corresponding Maven coordinates.

If there are extensions with no dependencies linked to external repositories, they will be added to the local repository (committed to the project sources).

Bonita Studio also checks to see if the dependencies it finds are used or not. Unused dependencies are not selected to be added, by default.

Cloning a project from Git or SVN

The project cloning flow is a bit different as there are no user interactions.

The default logic of the import is applied and a migration notes file listing all the changes is created in the project folder which can be displayed in Bonita Studio.

The Extension Manager

Now let’s get a closer look at the Extension Manager, which will help you use all types of extensions.

The Extension Manager displays all types of extensions available in your project and centralizes the various ways to

  • Add extensions
  • Delete extensions (with validation)
  • Update extensions (with validation)

3 ways to add extensions

There are 3 ways to add extensions:

  • From the Bonita Marketplace

This is used for connectors provided by Bonitasoft developers only.

  • From the Maven coordinates


This is used for public or private repositories available on Maven.

  • From files: jars or zips

Want to know more about how to create your extensions outside Bonita Studio with our SDK?

Stay tuned, another post is coming to explain it all. And in the meantime you can check how to create a connector with the Bonita Maven archetype in Bonita 2021.1. (Video in English, French or Spanish)

And of course you can watch our webinar about Project Composition to deep dive! It's available in English, French and Spanish.

Next week we will talk about the organization in Bonita Studio 2021.2.

Notifications