We just launched a fresh new Kogito Tooling release! đ
On 0.6.1 release, we made a lot of improvements and bug fixes. This post will do a quick overview of those. I hope you enjoy it!
Kogito Tooling CI Improvements
Since the beginning of the project, we have been using GitHub Actions to build kogito tooling repositories, but last week we added three significant improvements for our CI/CD on this release.
Daily builds of our kogito tooling
Some days ago, we started doing an automatic daily release of the kogito tooling. The daily build of the Business Modeler can be accessed on this link and other artifacts (VS Code, Desktop, Hub, and Chrome Extension) can be downloaded in the latest âPublish daily dev versionâ job. This is a nice feature to try the latest master features of kogito tooling! đ
Business Modeler build for each PR
Also, to improve tests and code review processes, now for each PR on kogito-tooling instead of just generating the build artifacts, we are also providing a live version of Business Modeler.
To access the Business Modeler for a job fired by a PR in kogito-tooling, you can use https://kiegroup.github.io/kogito-online-ci/pull/<PR_NUMBER>
To access the Business Modeler for a job fired by a comment in the kogito-tooling issue, you can use https://kiegroup.github.io/kogito-online-ci/comment/<COMMENT_ID>
Build RHPAM Editors on kogito tooling actions
The BPMN, DMN, and Scesim editors used on Kogito are based on RHPAM editors that live on kie-wb-common and drools-wb Java-based repositories.
Another significant improvement that we did on this release is kogito-tooling GitHub Actions to do a full build on RHPAM editors and generate an integrated artifact (kogito tooling + editors from Java repositories).
Now, itâs just a matter of the author of a PR in kogito-tooling using a branch with the same name in his/her fork that contains changes in any editor (BPMN, DMN, or SceSim). As soon this happens, the âPull Request CIâââFull Downstreamâ job will run and produce a build of the VS Code extension, Business Modeler, Chrome Extension, and Desktop with the modified editors for faster testing.
But how should I build kogito tooling, if my editor change doesnât affect the kogito tooling repository? Go to the pinned issue on the kogito-tooling repo and create a new comment following the format âBuild: {github-username}/{branch-name}â.
In my opinion, those three improvements are a huge step forward for us. First, they will speed up a lot of our code review process and build, and, most important, itâs a big step forward in the path to continuous delivery of our lovely Business Modeler.
Kogito Tooling i18n
Weâre happy to announce that Kogito Tooling is ready to be internationalized! This means that it will be possible to change the locale and access the Kogito Tooling Channelsâ translations.
function MyComponent() { | |
const { locale, setLocale, i18n } = useContext(myI18nCtx); | |
const [name, setName] = useState(""); | |
return ( | |
<div> | |
<p>{i18n.home.title} đ</p> | |
<p>{i18n.home.body}</p> | |
<input type={"text"} value={name} onChange={e => setName(e.target.value)} /> | |
{/* a couple of <br /> tags, just to give a better look to the example. */} | |
<br /> | |
{/* `welcome` will always fallback on the 'en' dictionary because the âptâ dictionary doesn't provide it. */} | |
<I18nHtml>{i18n.welcome(name)}</I18nHtml> | |
<br /> | |
<a onClick={() => setLocale("pt")}>pt</a> | |
<br /> | |
<a onClick={() => setLocale("en")}>en</a> | |
<p>{i18n.myCurrentLocale(locale)}</p> | |
</div> | |
); | |
} |
We developed an i18n type-safe library with React usability in mind to enable this new feature, which allows simple and easy integration with an already existing project. See the full details on this blog post.
Page Support on OmniChannel Architecture
Since its inception, OmniChannel allowed us to run the same editor code in multiple channels without changing the codebase. Now we enhance this architecture also to support Pages and Components.
This new architectural component will enable many new use cases, as an example showing runtime screens, dashboards, etc. Stay tuned that soon we will launch a blog post and some examples of how to use it.
Auto start property for ad-hoc subprocess
We also added add âAuto Startâ property to Adhoc sub-process properties panel, which is currently supported by the Kogito runtime via metadata.
Fixed issues and improvements
We also made a lot of refactorings and improvements, especially to allow our internal APIsâ extendability.
- [KOGITO-2496]âââReview exports on microeditor-envelope/index.ts
- [KOGITO-2833]âââRemove Enzyme as snapshot serializer
- [KOGITO-2212]âââUpdate the close warning box
- [KOGITO-2495]âââMake it possible for channels to copy keyboard shortcuts from the envelope
- [KOGITO-2573]âââMake React and ReactDOM be peerDependencies on @kogito-tooling/core-api
- [KOGITO-2601]âââMove State Control API to kie-bc-editors
- [KOGITO-2877]âââImprove EmbeddedEditor and EmbeddedView usage experience
- [KOGITO-924]âââImprove Kogito Tooling CI
- [KOGITO-2815]âââImprove creation of Editor packages
- [KOGITO-735]âââMake Chrome Extension and Online Editor point to the same static resources on kogito-online
- [KOGITO-925]âââOnline Editor deploy for every CI build
- [KOGITO-926]âââChrome Extension Should Point to a Specific Editor Version
- [KOGITO-2209]âââPromisify all the envelope calls
- [KOGITO-2224]âââAdd yarn.lock updated check
- [KOGITO-2512]âââPrepare and use the patternfly-base lib where applicable
- [KOGITO-2547]âââRefactor asWebviewUri on vscode-extension project
- [KOGITO-2659]âââUpdate PatternFly to the latest version
- [KOGITO-2696]âââAdd error treatment to promisified envelope calls
- [KOGITO-2821]âââRename Router interface and remove the dependency of Editor packages in channels
- [KOGITO-2822]âââProvide locale information to Editors
- [KOGITO-2892]âââIntegrate the i18n package on the Desktop, Hub and Chrome Extension
- [KOGITO-2982]âââCreate a subscription mechanism to enable inter-page communication
- [KOGITO-2983]âââCreate a generic Envelope class to define your page type
And we solved a bunch of issues:
VS Code
- [KOGITO-2579]âââCustom Editor VS Code issues on 1.46 version (probably fixed on 1.47)
- [KOGITO-1689]âââSave when multiple assets opened
- [KOGITO-2134]âââ[VSCode] Allow custom editors to hook into Edit menu actions
- [KOGITO-2135]âââ[VSCode] Custom editor does not open properly
- [KOGITO-2619]âââscrolling a nested Decision Table in VSCode DMN Editor messed up the editor screen
- [KOGITO-1915]âââError message doesnât appear when VS Code is launched externally
- [KOGITO-1980]âââUpdate labels from VSCode to VS Code
Business Modeler
- [KOGITO-2432]âââDownloaded file from online editor keeps ânew-fileâ as model name in DMN models
- [KOGITO-2810]âââIn the online editor, the filename in header toolbar is not accessible
- [KOGITO-2954]âââUse the file extension to render the content on EditorToolbar
Editors
- [KOGITO-1883]âââ[Test Scenario Editor] Search DMN files over subfolders doesnât work in Windows Environment
- [KOGITO-2953]âââFix Guided Tour styles
Thank you to everyone involved!
I would like to thank everyone involved with this release from the awesome KIE Tooling Engineers to the lifesavers QEs and the UX people that help us look awesome!