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:
- Click Authoring → Project Authoring.
- Select your project.
- 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

Dependencies
The Dependencies option allows you to set the dependencies for the current project.You access the dependencies by using Project Settings → Dependencies 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

Metadata
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

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

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.
-
Identityuses anIdentityHashMapto store all asserted objects. -
Equalityuses aHashMapto 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.
-
Cloudprocessing mode is the default processing mode. It behaves in the same manner as any pure forward-chaining rules engine. -
Streamprocessing 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
button, you are able to add a new knowledge session to the table.
-
The
Namefield displays the name of the session. -
The
Defaultoption can only be allocated to one of each type of session. -
The
Statedrop-down allows either Stateless or Stateful types. -
The
Clockdrop-down allows either Realtime or Pseudo choices. -
Clicking the
opens a pop-up that displays more properties for the knowledge session.
Metadata
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

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.
Metadata
See Section 2.6.2, “Project Settings” for more information about Metadata.
2.6.5. Repositories
Validation
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

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


Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.