Git Product home page Git Product logo

incubator-kie-tools's Introduction


The KIE Community is a home for leading Open Source projects that play a role in delivering solutions around Business Automation and Artificial Intelligence in the Cloud.

GitHub Stars GitHub Forks GitHub Issues Pull Requests Contributors License Twitter Follow

This repository contains tooling applications and libraries for KIE projects.

Contribute

  • Work in progress 🔨

Build from source

Step 0: Install the necessary tools

💡 RECOMMENDED

Nix development environment: A devbox configuration is provided to automatically setup all the tools below. Read more in here.

To build and test all packages of the Apache KIE Tools project, you're going to need:

ℹ️ NOTE

If you plan on building container images, make sure you have a working Docker setup. Setting KIE_TOOLS_BUILD__buildContainerImages=true will also be necessary.

Step 1: Bootstrap

Bootstrapping installs the necessary dependencies for each package.

  • pnpm bootstrap --> Will bootstrap all packages
  • pnpm bootstrap [pnpm-filter] --> Will bootstrap packages filtered by pnpm filter
  • E.g.,

    pnpm bootstrap -F dmn-editor... bootstraps the dmn-editor package and its dependencies.

ℹ️ NOTE

If you plan on running Playwright tests, set the PLAYWRIGHT_BASE__installDeps environment variable to true before running the command above.

PLAYWRIGHT_BASE__installDeps=true pnpm bootstrap.

This will install all Playwright dependencies (such as browsers engines and OS-specific libraries).

Step 2: Build

  • Dev

    • pnpm -r build:dev
      • Will build all packages for development. Skipping linters, tests, minifiers etc.
    • pnpm [pnpm-filter] build:dev
    • E.g.,

      pnpm -F dmn-editor... build:dev builds the dmn-editor package and its dependencies.

  • Prod

    • pnpm -r build:prod
      • Will build all packages for production. Optimizers will run, binaries will be produced for multiple architectures etc.
    • pnpm [pnpm-filter] build:prod
    • E.g.,

      pnpm -F dmn-editor... build:prod builds the dmn-editor package and its dependencies.

  • Changed

    • pnpm -F '...[HEAD]' build:dev; or
    • pnpm -F '...[HEAD]' build:prod
      • Will build changed and affected packages based on your local changes. Useful for verifying that you didn't break anything.

ℹ️ NOTE

The Apache KIE Tools build is parameterized by several Environment Variables. For an extensive list of these variables, please see the list printed by the bootstrap step.

  • To enable the examples build: export KIE_TOOLS_BUILD__buildExamples=true
  • To enable container images build: export KIE_TOOLS_BUILD__buildContainerImages=true
  • To enable E2E tests: export KIE_TOOLS_BUILD__runEndToEndTests=true

ℹ️ NOTE

Final artifacts will be in {packages,examples}/*/dist directories.


Applications

The Apache KIE Tools project contains several applications. To develop each one of them individually, refer to the instructions below.

VS Code Extension (DMN, BPMN, SceSim, and PMML Editors)

  1. After you've successfully built the project following the instructions above, open the packages/kie-editors-dev-vscode-extension folder on VS Code. Use a new VS Code window so that the packages/kie-editors-dev-vscode-extension folder shows up as root in the VS Code explorer.
  2. From there, you can Run the extension or the end-to-end tests by using the Debug menu/section. You can also use the respective shortcuts (F5 to start debugging, for instance).
  3. NOTE: To run the VS Code extension in development mode, you need webpack and webpack-cli to be globally installed on NPM. Normally you can do that with npm install -g webpack@^5.88.2 webpack-cli@^4.10.0, but sudo may be required depending on your installation.
  4. Remember! If you make changes to any package other than packages/kie-editors-dev-vscode-extension, you have to manually rebuild them before relaunching the extension on VS Code.

VS Code Extension (Serverless Workflow Editor)

  1. After you've successfully built the project following the instructions above, open the packages/serverless-workflow-vscode-extension folder on VS Code. Use a new VS Code window so that the packages/serverless-workflow-vscode-extension folder shows up as root in the VS Code explorer.
  2. From there, you can Run the extension or the end-to-end tests by using the Debug menu/section. You can also use the respective shortcuts (F5 to start debugging, for instance).
  3. Remember! If you make changes to any package other than packages/serverless-workflow-vscode-extension, you have to manually rebuild them before relaunching the extension on VS Code.

Chrome Extension (DMN, BPMN, and SceSim Editors)

  1. After you've successfully built the project following the instructions above, open the packages/chrome-extension-pack-kogito-kie-editors folder on your favourite IDE. You can import the entire repo as well if you want to make changes to other packages.
  2. Run pnpm build:dev on packages/chrome-extension-pack-kogito-kie-editors. This will create a version of the Chrome Extension that fetches the envelope locally.
  3. Open a terminal and run pnpm start on packages/chrome-extension-pack-kogito-kie-editors. This will start a webpack serve instance with the editors and their envelope. We use that because we don't pack the Chrome Extension bundle with the editors inside. Instead, we fetch them from GitHub pages.
  4. You also have to enable invalid certificates for resources loaded from localhost in your browser. To do that, go to chrome://flags/#temporary-unexpire-flags-m118 in your Chrome browser, enable this flag and restart browser. Then go to chrome://flags/#allow-insecure-localhost in your Chrome browser and enable also this flag. Alternativelly, you can go to https://localhost:9001 and add an exception.
  5. Open Chrome and go to chrome://extensions. Enable "Developer mode" in the top-right corner and click on "Load unpacked". Choose the packages/chrome-extension-pack-kogito-kie-editors/dist folder.
  6. From now on you can use the development version of the extension. Remember! After each change, you have to rebuild the changed modules and hit the "Refresh" button of the extension card.

Chrome Extension (Serverless Workflow Editor)

  1. After you've successfully built the project following the instructions above, open the packages/chrome-extension-serverless-workflow-editor folder on your favourite IDE. You can import the entire repo as well if you want to make changes to other packages.
  2. Run pnpm build:dev on packages/chrome-extension-serverless-workflow-editor. This will create a version of the Chrome Extension that fetches the envelope locally.
  3. Open a terminal and run pnpm start on packages/chrome-extension-serverless-workflow-editor. This will start a webpack serve instance with the editors and their envelope. We use that because we don't pack the Chrome Extension bundle with the editors inside. Instead, we fetch them from GitHub pages.
  4. You also have to enable invalid certificates for resources loaded from localhost in your browser. To do that, go to chrome://flags/#temporary-unexpire-flags-m118 in your Chrome browser, enable this flag and restart browser. Then go to chrome://flags/#allow-insecure-localhost in your Chrome browser and enable also this flag. Alternativelly, you can go to https://localhost:9000 and add an exception.
  5. Open Chrome and go to chrome://extensions. Enable "Developer mode" in the top-right corner and click on "Load unpacked". Choose the packages/chrome-extension-serverless-workflow-editor/dist folder.
  6. From now on you can use the development version of the extension. Remember! After each change, you have to rebuild the changed modules and hit the "Refresh" button of the extension card.

KIE Sandbox

  1. After you've successfully built the project following the instructions above, go to packages/online-editor.
  2. Open a terminal and run pnpm start. This will start a webpack serve instance with the Online Editor resources.
  3. From now on you can use the development version of the Online Editor by accessing https://localhost:9001.
  4. Run the CORS Proxy by running pnpm start at packages/cors-proxy.

Serverless Logic Web Tools

  1. After you've successfully built the project following the instructions above, go to packages/serverless-logic-web-tools.
  2. Open a terminal and run pnpm start. This will start a webpack serve instance with the Serverless Logic Web Tools resources.
  3. From now on you can use the development version of the Serverless Logic Web Tools by accessing https://localhost:9020.
  4. Run the CORS Proxy by running pnpm start at packages/cors-proxy.

Standalone Editors (DMN and BPMN)

  1. After you've successfully built the project following the instructions above, go to packages/kie-editors-standalone.
  2. Open a terminal and run pnpm start. This will start a webpack serve instance with the Standalone Editors test page.
  3. From now on you can use the development version of the Standalone DMN Editor by accessing https://localhost:9001/resources/dmn and the Standalone BPMN Editor by accessing https://localhost:9001/resources/bpmn.

Knative Workflow plugin

Read the documentation

Libraries

Stunner Editors

The stunner-editors package contains the BPMN, DMN, and SceSim Editors that are used in many applications of Apache KIE Tools. After cloning the repo, start with a fresh build.

  • pnpm bootstrap -F @kie-tools/stunner-editors...

  • pnpm -F @kie-tools/stunner-editors... build:dev

After that, you're ready to start developing the Editors individually.

  • BPMN

    • Located at packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime.
    • Run mvn clean gwt:run to start. To enable live-reloading capability, run mvn clean gwt:run -Phot-reload
  • DMN

    • Located at packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime.
    • Run mvn clean gwt:run to start. To enable live-reloading capability, run mvn clean gwt:run -Phot-reload
    • If you want to enable live-reloading capabilities of the React components that are part of the DMN Editor, follow these steps.
  • Test Scenario (SceSim)

    • Located at packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing.
    • Run mvn clean gwt:run to start.

incubator-kie-tools's People

Contributors

caponetto avatar cristianonicolai avatar csadilek avatar danielzhe avatar ederign avatar edewit avatar errai-gerrit avatar ginxo avatar hasys avatar heiko-braun avatar jervisliu avatar jesuino avatar jfuerth avatar jrenaat avatar karreiro avatar kiereleaseuser avatar kingsleyzissou avatar ljmotta avatar manstis avatar mbarkley avatar mbiarnes avatar mikebrock avatar paulovmr avatar pefernan avatar porcelli avatar rikkola avatar romartin avatar tiagobento avatar wmedvede avatar yesamer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

incubator-kie-tools's Issues

Support condition expressions in sequence flows

Hi, could you add support for actually writing condition expressions?

The UI is already almost there:
image

I would like to be able to express the following:

<bpmn2:sequenceFlow id="SequenceFlow_1" name="eventName" sourceRef="Task_1" targetRef="ExclusiveGateway_2">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" id="FormalExpression_1" language="http://www.example.com/language">some-expression</bpmn2:conditionExpression>
</bpmn2:sequenceFlow>

I can help, if provided some guidance :)

(this is a copy of kiegroup/kie-tooling-store#39, which was the wrong repo, I guess?)

Standalone editor and CSP

Hi everyone,

I tried to integrate the standalone DME editor into a site with a strict CSP and as you may expect it only thrown a bunch of errors in the js console. After looking at the code I saw that there is an iframe loaded with a few inline scripts and a ton of other scripts.

Content-Security-Policy: default-src 'none';base-uri 'none';manifest-src 'self';script-src 'nonce-foobar=' blob:;style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src 'self' data:;connect-src 'self';media-src 'self';frame-src 'self';frame-ancestors 'self';worker-src 'self';form-action 'self'

Is there any way to get this working without creating my own bundled standalone editor? Why is the iframe needed at all?

Sorry, I never used kogito tooling before, so my questions quite be a bit clumsy.

Best regards,
Klaus

Cannot use context merge / put FEEL functions in online-editor

Test case:

  1. Create a decision in Online Editor with type = literal expression and code: context merge([{a: 1}, {b: 2}])

Expected Result:

  1. No validation errors

Actual Result:

  1. Validation error: ERR_COMPILING_FEEL: Error compiling FEEL expression 'context merge([{a: 1}, {b: 2}])' for name 'FEEL func' on node 'FEEL func': syntax error near 'merge'

Root cause:
Looks like Kie Extended Services module ships with DMN Runner that depends on kie-dmn-core version 7.59.0.Final, this version does not support new FEEL functions.

Is it possible to bump the kie-dmn-core version to 7.62.0.Final at least? We would like to use the functions defined in https://github.com/kiegroup/drools/blob/7.62.0.Final/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/KieExtendedDMNFunctions.java.

[VSCode] Undo is not supported in some cases

Hi,

I noticed that the undo in VSCode is not working in some cases, for example when you create a decision or new input nodes (and so on).
In addition to those cases, it does not work when you set the type for the decisions and you try undo the steps (but actually in those cases I might agree that the undo should just work on the visual components, i.e. it should not undo stuff on the background like type of decisions and other properties).

Online Editor Doesn't Have Include Models Option

When we open a DMN file in VS Code extension, we get an option to include model from other dmns as shown in below snapshot.
image
But this option is not present in Online Editor. Will this be part of the roadmap?

Process Modeler Properties Panel DSL for custom fields, modifications, templates, etc?

Is there a DSL or a planned DSL (such as JSON or simplified JS) config that would allow customization of the properties panel in the process modeler?

Examples: Adding custom fields for specific types of input on specific activity types, adding help text to specific fields, adding templated configuration options such as "Connect to MS Graph" and it pre-populates all the configs, etc.

Thanks!

JIT DMN validation in Online Editor returns 500 error when editing DMN file with Included Models

Summary
DMN validation does not work in online-editor if the file being edited includes and uses types or decisions from another DMN file (Included Models feature). Looks like online-editor sends only the contents of the current file and does not include imported resources in the request payload.

Test Case

  1. Open https://sandbox.kie.org/ -> Upload -> Select folder - select the folder with DMN files from validateIncludedIssue.zip. There are 2 DMN files in this folder: root.dmn and types.dmn. root.dmn imports types.dmn and contains a single "const" decision that returns a value of type "types.CustomType" defined in types.dmn. This is just for demo purposes, any case with Included Models will do.
  2. Select "root" decision and try to edit it.

Expected Result
/jitdmn/validate endpoint successfully returns with errors / warnings / no messages - depending on the changes

Actual Result
/jitdmn/validate endpoint returns 500 http status code
DMN Runner logs:

msg: Caused by: java.lang.RuntimeException: Could not locate required dependency while importing DMN for namespace: https://kiegroup.org/dmn/_0D827E3F-36ED-4005-9632-3386FCC7C176, name: types, modelName: null.
msg: 	at org.kie.dmn.feel.util.Either.getOrElseThrow(Either.java:64)
msg: 	at org.kie.dmn.core.assembler.DMNAssemblerService.enrichDMNResourcesWithImportsDependencies(DMNAssemblerService.java:138)
msg: 	at org.kie.dmn.validation.DMNValidatorImpl$ValidatorBuilderImpl.internalValidatorSortModels(DMNValidatorImpl.java:329)
msg: 	at org.kie.dmn.validation.DMNValidatorImpl$ValidatorBuilderImpl.theseModels(DMNValidatorImpl.java:248)
msg: 	at org.kie.kogito.jitexecutor.dmn.api.ValidationResource.schema(ValidationResource.java:76)
msg: 	at java.lang.reflect.Method.invoke(Method.java:566)
msg: 	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170)

Root Cause
online-editor doesn't send the contents of the included resource in the payload:
{ "mainURI": "root.dmn", "resources": [ { "URI": "root.dmn", "content": "..." } ] }

Process Linter

Hey
I am looking at replicating similar features as: https://github.com/StephenOTT/Workflow-Linter and https://github.com/camunda/camunda-modeler-linter-plugin but for Kogito.

Has there been work on this capability within Kogito?

In the above links, I have combined two types of linting: UI Linter which parses in JS and displays in the UI, and then a server linter (which the UI can also use): where the server linter parses into the server presentation and runs a series of rules: This is great for modeler dev, but also deployment control to ensure processes/apps meet requirements and reduce bugs.

Initial review for server side lint led me to the https://github.com/kiegroup/kogito-runtimes/blob/main/jbpm/jbpm-bpmn2/src/main/java/org/kie/kogito/process/bpmn2/BpmnProcessCompiler.java class which is used for compiling the .bpmn file into a Process Definition / "BpmnProcess" ?

or ProcessCodegen.class?

Would love some general thoughts!

Thanks

Run FDB

This issue's purpose is to provide means for people to build Kogito Tooling using their forks of the DMN, BPMN and Test Scenario editors. To trigger a build, comment using the following format:

Build: {my-github-username}/{my-branch-name}

This will trigger a build of the downstream repositories and will take your branch into account. The resulting artifacts can be downloaded from the Artifacts tab on the triggered Workflow run.

How can I add support to a custom task?

I export some bpmn files from KIE workbench, then I found there is a bpmn2:task tag in bpmn file which this kogito-tooling is not currently supported. I tried to build and run the project. But I cannot found a way to modify it. Are there any instructions to show how to add support to this kind of task node?

    <bpmn2:task id="_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF" drools:taskName="CommonWorkItem" name="Name">
      <bpmn2:extensionElements>
        <drools:metaData name="elementname">
          <drools:metaValue><![CDATA[Name]]></drools:metaValue>
        </drools:metaData>
        <drools:onEntry-script scriptFormat="http://www.java.com/java">
          <drools:script><![CDATA[v.execute("some");]]></drools:script>
        </drools:onEntry-script>
      </bpmn2:extensionElements>
      <bpmn2:incoming>_8DFEDB4E-2DB3-48D2-955F-F8DDB4DF6902</bpmn2:incoming>
      <bpmn2:outgoing>_D5950703-3DF3-46FA-BBC9-ABDC197CA831</bpmn2:outgoing>
      <bpmn2:ioSpecification id="_LmiULhjNEeuldeHdBwNIyA">
        <bpmn2:dataInput id="_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_vInputX" drools:dtype="com.xiaomi.mifi.policy.model.ProcessVariable" itemSubjectRef="__7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_vInputXItem" name="v"/>
        <bpmn2:dataInput id="_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_TaskNameInputX" drools:dtype="Object" name="TaskName"/>
        <bpmn2:inputSet id="_LmiULxjNEeuldeHdBwNIyA">
          <bpmn2:dataInputRefs>_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_vInputX</bpmn2:dataInputRefs>
          <bpmn2:dataInputRefs>_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_TaskNameInputX</bpmn2:dataInputRefs>
        </bpmn2:inputSet>
        <bpmn2:outputSet id="_LmiUMBjNEeuldeHdBwNIyA"/>
      </bpmn2:ioSpecification>
      <bpmn2:dataInputAssociation id="_LmiUMRjNEeuldeHdBwNIyA">
        <bpmn2:sourceRef>v</bpmn2:sourceRef>
        <bpmn2:targetRef>_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_vInputX</bpmn2:targetRef>
      </bpmn2:dataInputAssociation>
      <bpmn2:dataInputAssociation id="_LmiUMhjNEeuldeHdBwNIyA">
        <bpmn2:targetRef>_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_TaskNameInputX</bpmn2:targetRef>
        <bpmn2:assignment id="_LmiUMxjNEeuldeHdBwNIyA">
          <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="_LmiUNBjNEeuldeHdBwNIyA"><![CDATA[CommonWorkItem]]></bpmn2:from>
          <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="_LmiUNRjNEeuldeHdBwNIyA">_7FB7AFF4-C7FC-4CB8-BA91-1C2643106FAF_TaskNameInputX</bpmn2:to>
        </bpmn2:assignment>
      </bpmn2:dataInputAssociation>
    </bpmn2:task>

Expose the Activity/Node ID for items in processes

consider the following:

<bpmn2:userTask id="_8B62D3CA-5D03-4B2B-832B-126469288BB4" name="First Line Approval">
      <bpmn2:extensionElements>
        <drools:metaData name="elementname">
          <drools:metaValue><![CDATA[First Line Approval]]></drools:metaValue>
        </drools:metaData>
      </bpmn2:extensionElements>

This is from process-usertask-quarkus example project.

image

When node instances are shown:

image

The Node Definition IDs are the unique identifier. But is it difficult to know what the ID is. There could be multiple tasks with the same name.

The definition ID should be viewable in the modeler and preferably modifiable to a user value. Would be even better if the IDs were shorter such as "Activity_8f9we8f9", given that a activity is stopped within a Process Instance ID.

BPMN file cannot be opened with BPMN Editor

Issue Type: Bug

In the explorer view, click a file with .bpmn extension. The editor show an error message "Editor content has not been set."

Extension version: 0.15.0
VS Code version: Code 1.62.3 (ccbaa2d27e38e5afa3e5c21c1c7bef4657064247, 2021-11-17T07:59:13.865Z)
OS version: Darwin x64 19.6.0
Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz (4 x 2300)
GPU Status 2d_canvas: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: enabled
opengl: enabled_on
rasterization: enabled
skia_renderer: disabled_off_ok
video_decode: enabled
webgl: enabled
webgl2: enabled
Load (avg) 4, 4, 4
Memory (System) 16.00GB (0.24GB free)
Process Argv --crash-reporter-id 08e96890-6377-42cd-a256-7108fc8a88b0
Screen Reader no
VM 0%
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30384385
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
dockerwalkthru:30377721
bridge0723:30353136
pythonrunftest32:30373476
pythonf5test824:30373475
javagetstartedt:30391933
pythonvspyt187:30373474
vsqsis300:30402085
vsaa593cf:30376535
vssld246cf:30401891
vscop804cf:30404767
vs360:30404995

Unable to load bpmn2 files in vscode `code --enable-proposed-api kiegroup.vscode-extension-pack-kogito-kie-editors` but still, I am getting a blank screen.

Sorry @ederign I tried to open my folder with code --enable-proposed-api kiegroup.vscode-extension-pack-kogito-kie-editors but still, I am getting a blank screen.
image

Is there anything I have to do on VSCode to make it running.
If u see in my screenshot, all my bpmn, bpmn2 and dmn files are getting opened in Kie Kogito Editors view only.

Please help. I know to work with VSCode but not an expert.

Originally posted by @rahgadda in #133 (comment)

Provide ability to keep Property section open when switching between activities

When switching between activities in a BPMN, you have tabs/sections such as Implementation/execution or Adv Data: It is difficult to compare configurations because after every activity change the user needs to re-open the section.

it would be great if the sections would stay open based on the user's previous actions or something similar.
Thanks

using vs-code

Will there be a tool for edit gdst Guided Decision Table?

I have used KIE workbench for quite a long time but I wanna search for an alternative tool to modeling Guided Decision Table and Business Process. I found this kogito tool provider a great model tool for BPMN and DMN, but I cannot found any editor for GDST file. Is there any plan for it?

FEEL expression doesn't work on input list

Hello, I hope this is the right bug tracker for my issue.

I have a DMN model, exported from the KIE sandbox as the following ZIP file test-list-combiner.zip.

There are two leaf filters which return either "Rejected" or "Approved". A list kind decision box aggregates its results in a list. Then the top level decision boxes evaluate this list. If there is at least one "Rejected", the result is "Rejected". Otherwise it's "Approved".

The problem is on how the evaluation nodes are implemented. As show below, the FEEL expression is used in the output column and this setup is working correctly.

image

However, when I have this other setup below, the rejected state is not picked up from the list.

image

Any idea of what's going on?

downloaded file from online editor keeps "new-file" as model name in DMN models

When you download your DMN model file from the online editor it keeps new-file as the internal model name.
You can only change this in the raw XML.

<dmn:definitions xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/" xmlns="https://kiegroup.org/dmn/_FC75913D-81CF-49A3-A6F4-A56FB341C574" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:kie="http://www.drools.org/kie/dmn/1.2" xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/" id="_72BA4308-069E-4F8D-8608-D4FDDFA5A1A5" name="new-file" typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" namespace="https://kiegroup.org/dmn/_FC75913D-81CF-49A3-A6F4-A56FB341C574">

cannot delete a process variable if being used by another activity: Needs Error messaging

using vscode. If you try and modify or delete a process variable and that variable is being used in another activity (such as in Input/Output mappings), the delete button does not do anything and if you try and modify the name of the variable, it just returns to its original value. There needs to be some error messaging indicating why you cannot modify/delete the variable and where to find the associated configurations. Otherwise the user has to click around into each activity and into each input/out to find the various configurations.

Would be even better if there was a Variable usage inspector that showed the tree of usage for process variables. This would be a huge time saver!

React should be a peer dependencies

https://github.com/kiegroup/kogito-tooling/blob/master/packages/core-api/package.json#L15-L18

One think I noticed working on the AtlasMap POC is that I was getting the Invalid Hook Call Warning
error in the console. Ultimately, it was due to @kogito/core-api declaring React as direct dependency, which causes for multiple versions of React being embedded in the bundle. Since AtlasMap is written solely using hooks, this issue come up immediately.

A quick workaround was to instruct WebPack to consider React an external dependency, but it would be better to make React and React DOM peer dependencies in the core-api package.

Unable to load bpmn2 files in vscode

Hi Team,

I tried installing 0.4.0 (alpha) version and unable to load persons.bpmn2 file i my VSCode.
I have attached screenshots of the issue that I am facing.

Issue

Regards,
Rahul

CodeGen for processes uses unexpected unique id for task names: causes missing endpoints

Consider endpoints such as:

image

...

image

and config that looks like this:

image

image

image

(Answer: There are only two task endpoints generated, but there are three unique task definitions)

The Name/TaskNames are not unique and not enforced to be unique during deployment.

In the XML we have the ~true unique name:

<bpmn2:userTask id="_8B9E78DF-5DCE-44D1-B37E-707166B06BC4" name="My Task Name&#10;Row 2">
...
<bpmn2:userTask id="_FFCD0178-2716-4E16-B593-692770BC9E8B" name="Task">
...
<bpmn2:userTask id="_4AD34142-F892-439D-AA0C-6AB8C4B95999" name="Task">

ignoring the ~weird drools extensions that get auto added for a moment:

      <bpmn2:userTask id="_4AD34142-F892-439D-AA0C-6AB8C4B95999" name="Task">
        <bpmn2:extensionElements>
          <drools:metaData name="elementname">
            <drools:metaValue><![CDATA[Task]]></drools:metaValue>
          </drools:metaData>
        </bpmn2:extensionElements>
...

The id for a bpmn element is usually the unique identifier. The ID is not super friendly at the moment, and understandably someone chose something in the BPMN that would be cleaner. Would this suggest that Kogito wants to enforce unique Drools meta values ? IMO would be MUCh cleaner for XML readability if the extension was not used and the id property was used here. makes it much easier to read node execution history events as well.

Either way, the at the moment the problem is endpoints do not get generated as expected. If we are saying that this is expected because the task instance ID would be unique, then why are we generated named endpoints (where the task endpoint has the Task Name in the url)? the answer seems to be so so you could have Schema support for each task, and if that is the case then we seem to be back to the issue described above.

Cannot Include DMNs on VS Code- Kogito Bundle on Windows

[Using Kogito Bundle in VS code on Windows.
When I try to include another DMN in the current DMN via "Include Models" > "Include Model", I dont see the existing DMNs in the "Models" drop down list even though the DMNs exist in the same directory.

However this issue doesn't seem to happen on a Linux Desktop.

Using Kogito Bundle v0.8.0


[Window Title]
Visual Studio Code

[Main Instruction]
Visual Studio Code

[Content]

Version: 1.51.1 (user setup)
Commit: e5a624b788d92b8d34d1392e4c4d9789406efe8f
Date: 2020-11-10T23:34:32.027Z (1 wk ago)
Electron: 9.3.3
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: 8.3.110.13-electron.0
OS: Windows_NT x64 10.0.19041


kogito_include_model_issue

Add ability to copy and paste User Task Actor and Group Information values (any non text form fields)

The modeler provides helpers such as the Actor and Group selection field:

image

But these fields make is very difficult to reuse configuration across BPMNs or across different tasks.

Consider that a UT will have multiple actors and multiple groups applied to it. I then decide i need to copy values from UT1 into UT2. UT2 already has a series of configurations applied, so i cannot just delete UT 2 and copy the entire UT1. I need to be able to easily copy the values from UT1 and apply them into UT2.

BPMN:Property

how do I add a BPMN:Property through the editor?
If I use the properties advanced option its adding a meta tag

Manual Task Support / No Task Type support

When building processes, a common process is to mock out the entire process and leave certain steps as "manual task" steps which are skipped over by the engine, until that task is ready for implementation.

This allows the business to understand the process they want to build, and the developer to build/code in parallel.

It seems that there is no Manual Task supported in the modeler, and you cannot leave the task as a non task, as Kogito will return:

a Validation error of: "...Task has no task type."

Other than add everything as a user task, or a script task, etc, is there a viable alternative?

Was manual task omitted by design?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.