2.6. Project Editor

2.6.1. The Project Editor

The Project Editor helps a user to build and deploy projects. This view provides access to the various properties of a Red Hat JBoss BRMS Project that can be edited through the Web interface. Properties like Group artifact version, Dependencies, Metadata, Knowledge Base Settings and Imports can be managed from this view. The editor shows the configuration options for the current active project and the content changes when you move around in your code repository.

To access the Project Editor:

  1. Click AuthoringProject Authoring.
  2. Select your project.
  3. Click Open Project Editor.

2.6.2. Project Settings

Project General Settings

The Project settings screen allows a user to set the Group, Artifact, and Version ID’s for a project. It edits the pom.xml setting file since we use Maven to build our projects.

Figure 2.5. Project Editor - Project Settings



The Dependencies option allows you to set the dependencies for the current project.You access the dependencies by using Project SettingsDependencies option. You can add dependencies from the Artifact repository by clicking the Add from repository button or by entering the Group ID, Artifact ID and Version ID of a project directly by clicking on the Add button.

Figure 2.6. Project Editor - Project Dependencies



The Metadata screen displays various data and version history of a project. It enables you to edit metadata details, add descriptions, and participate in discussions which are specific to a selected asset. You can add metadata to a project, a knowledge base (kmodule) and project imports. Each metadata tab provides the following fields:

  • Tags: A tagging system for grouping the assets.
  • Note: A comment from the last asset update.
  • URI: A unique identifier of the asset inside of the Git repository.
  • Subject, Type, External link, Source: Miscellaneous asset meta data.
  • Lock status - Lock status of an asset.

Figure 2.7. Knowledge Base Settings - Metadata

A screenshot of the BRMS Project Editor - Metadata Screen

2.6.3. Knowledge Base Settings

Knowledge Bases and Sessions

The Knowledge Base Settings allows the user to create the KIE bases and sessions using the kmodule.xml project descriptor file of your project. Accordingly, it edits the kmodule.xml project setting file.

The Knowledge bases and sessions page lists all the knowledge bases by name. It contains the Add, Rename, Delete, and Make Default options above the list. Only one knowledge base can be set as default at a time.

Figure 2.8. Project Editor - Knowledge Base Settings

A screenshot of the BRMS Project Editor - Knowledge Base and Session Settings Screen

The Included Knowledge Bases section displays the models, rules, and any other content in the included knowledge base. It will only be visible and usable by selecting the knowledge base from the Knowledge Base list to the left. You can Add and Delete content from this list.

The Packages section allows users to Add and Delete packages which are specified to the knowledge base.

The Equals Behavior section allows the user to choose between Identity or Equality assertion modes.

  • Identity uses an IdentityHashMap to store all asserted objects.
  • Equality uses a HashMap to store all asserted objects.

See the kbase attributes section of the Red Hat JBoss BRMS Development Guide for further details about Identity and Equality assertion modes.

The Event Processing Mode section allows the user to choose between Cloud and Stream processing modes.

  • Cloud processing mode is the default processing mode. It behaves in the same manner as any pure forward-chaining rules engine.
  • Stream processing mode is ideal when the application needs to process streams of events.

See the kbase attributes section of the Red Hat JBoss BRMS Development Guide for further details about Cloud and Stream processing modes.

The Knowledge Sessions table lists all the knowledge sessions in the selected knowledge base. By clicking the Add Icon button, you are able to add a new knowledge session to the table.

  • The Name field displays the name of the session.
  • The Default option can only be allocated to one of each type of session.
  • The State drop-down allows either Stateless or Stateful types.
  • The Clock drop-down allows either Realtime or Pseudo choices.
  • Clicking the Pencil Icon opens a pop-up that displays more properties for the knowledge session.


See Section 2.6.2, “Project Settings” for more information about metadata.

2.6.4. Imports

External Data Objects

The External Data Objects specify a set of imports, or external data objects, used in the project. Each asset in a project has its own imports. The imports are used as suggestions when using the guided editors the workbench offers; accordingly, this makes it easier to work with the workbench as there is no need to type each import in every file that uses it. By changing the Import settings, the project.imports setting files are edited. Data Objects are usually provided by the Java runtime. For example java.util.List.

Figure 2.9. Project Editor - Imports

A screenshot of the BRMS Project Editor - Imports Screen

To add a fact model to the imports section, click New Item. This displays a pop-up dialog to Add Import information.Once the Import Type has been entered, click OK.

To remove a fact model from the imports section, click Remove.


The imports listed in the import suggestions are not automatically added into the knowledge base or into the packages of the workbench. Each import needs to be added into each file.


See Section 2.6.2, “Project Settings” for more information about Metadata.

2.6.5. Repositories


The Validation section enables you to select which maven repositories are used to check the uniqueness of your project’s GAV (group ID, artifact ID, and version).

Figure 2.10. Project Editor - Validation

A screenshot of the BRMS Project Editor - Validation Screen

2.6.6. Persistence

Persistence descriptor

The Persistence descriptor section enables you to modify persistence.xml through GUI. You can:

  • Define a persistence unit provider.
  • Define a data source.
  • Change predefined properties for your persistence unit.
  • Add new properties to your persistence unit.
  • Manage persistable data objects.

    The persistable data objects are based on the JPA specification and all the underlying metadata are automatically generated.

Alternatively, click Source tab to edit the persistence.xml directly.

Figure 2.11. Persistence descriptor

A screenshot of the BRMS Project Editor - Persistence Descriptor