KIE Asset Management

 

The main difference between the old version of Guvnor and the new KIE workbench is that KIE utilizes Git and Maven repositories.  

KIE Git repositories

KIE Git repositories can be found on .niogit folder of the KIE installation.  For example in wildfly the location would be wildfly/bin/.niogit 
The location of .niogit can be overridden with the system property -Dorg.uberfire.nio.git.dir 
This repository is available via Git or SSH, the default URL is as follows:

KIE Maven repositories

New Maven modules are created when the user builds and deploys KIE projects.  KIE Maven repositories are located on the repositories/kie folder.  

Pushing to remote repositories

You can store your KIE changes in remote git repositories by adding a remote git repo and issuing the following push:
$ git push origin master

KIE workbench users and roles

The following roles are available:
  • admin
  • analyst
  • developer
  • manager
  • user
  • kiemgmt (this role is required in order to use Asset Management features)
Please see the userguide section 9.4.2 for more details about each of these roles. 
In wildfly you can add a user and its role as follows:
As you can see on the previous screenshot, the user "salvador" has been added and the roles of admin and kiemgmt has been granted. 

KIE asset management 

KIE introduces a new feature called "asset management".  In summary, it provides Maven version control and Git branch management. 

Managed repositories

There is a distinction between plain Git repositories (unmanaged) and managed repositories.  Managed repositories can be created by selecting the option Managed Repository in the New Repository dialog window.  A managed repository can be a Single Project or Multi Project.  In a multi-project, each of the contained projects will be related to the same parent and they will share the same group and version.
It is important to note that in order to be able to create managed repositories, your user must have the kiemgmt role.     

The following operations take place on managed repositories:
  • Repository creation: Automatically adds a dev branch and a release branch ( the master branch is always the default one)
  • Asset promotion: When an asset is ready to be released, the user can submit it for promotion by selecting the Promote button.  This action requires the managing user to select and approve the changes.
  • Project build: The user performs Build.  This action includes compiling and installing the project as Maven module into the internal Kie repository.
  • Release: The user performs Release.  This involves building and deploying to the repository.  The repository projects are built and then, published to the KIE runtime.  Only is possible to release from branches starting with the release label (e.g., release-1.0.1)   

How to create a managed multi-module repository

Administration -> Repositories -> New Repository -> name (e.g., managedOpenCDSRepo), organizational unit (e.g., OpenCDS), Managed Repository (Checked) -> Next -> Multi-project Repository (Checked), Project Branches (leave defaults) -> Finish
Note: You can clone and push the changes to the appropriate branch as follows: $ git push master:dev-1.0.0 

Asset management

Users can perform asset management tasks by selecting the appropriate button in the Repository -> Repository Structure view
Human tasks can be reviewed and completed on Task -> Task List (please check the user guide chapter7 for more details about Human tasks)
Note: User management tasks are only available for users with the role kiemgmt
Some of the management tasks include:
  • Promoting assets: promote to a release branch: Authoring -> Project Authoring -> Repository -> Repository Structure; select the Promote button and enter the target branch (e.g., release-1.0.0)
    • Promoting actions must be approved.  This can be done on Tasks -> Tasks List -> Select "Select Assets To Promote" -> Click on "Claim" task  -> Click on Complete -> The user will be asked to decided which files will be promoted as is shown in the following screenshot:

 

  • Releasing: Authoring -> Project Authoring -> Repository -> Repository Structure -> select release branch and press Release button. Assets will be installed into the KIE maven repository and artifacts will be available on Authoring -> Artifact Repository

References