[jboss-jira] [JBoss JIRA] (DROOLS-3879) Create Kogito version of Test Scenarios designer

Gabriele Cardosi (Jira) issues at jboss.org
Wed Jan 15 06:32:31 EST 2020


     [ https://issues.redhat.com/browse/DROOLS-3879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gabriele Cardosi updated DROOLS-3879:
-------------------------------------
    Description: 
Scope of this PR is to create a *Kogito/client-side only*  versions of scesim editor.
>From an architectural point of view, the actual implementation has been moved (in the past) inside a common module: `drools-wb-scenario-simulation-editor-client`.
Access  to it has been "hided" behind a wrapper interface with three actual implementations:
* `drools-wb-scenario-simulation-editor-businesscentral-client` for BusinessCentral environment
* `drools-wb-scenario-simulation-editor-kogito-testing` to provide a development/debugging setup for the  *Kogito/client-side only* environment
* `drools-wb-scenario-simulation-editor-kogito-runtime` that should be the one deployed in actual client-side only containers (e.g. VSCode).
As agreed upon in the last summer (https://issues.redhat.com/browse/AF-2041), the kogito editors should depend upon a common library, `org.kie.workbench:kie-wb-common-kogito-webapp-base` to put all the code/maven configuration shared by the different editors in one single place. 
Currently, only the two kogito-related scesim modules fulfill that requirement; all other editors, starting from DMN, should be adapted to this approach.

Kogito-testing module is a standalone showcase that provides some minimum interaction to:
* load DMN files
* create DMN-related scesim assets, selecting one of the imported DMN.
Currently - RULE/data object model scesim is disabled.

Kogito-runtime module is the version that should run purely client side. It does not provide any graphical widget to load/create/save asset. 
Some minimal tests may be done in the following way:
# full compilation (i.e. included GWT compilation) of the runtime module
# open the `drools-wb/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/target/drools-wb-scenario-simulation-editor-kogito-runtime/index.html` file inside Chrome
# inside the Chrome dev console, issue the command `window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().setContent("")`; this will show the "New Scesim" popup, where user may choose to create a DMN or RULE scesim; of course, inside Chrome it is not possible to have a reference to other resources, so only "Rule" will work; at the same time, no Data model is available inside Chrome, so the right panel will be empty and the only expected result is an empty grid.
# edit the asset
# invoke window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().getContent() and store the returned xml
# invoke window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().setContent method with the stored xml


Some tricks: to avoid CORS and other policy-related issues:
# set chrome://flags/#allow-insecure-localhost for invalid certificates error
# start chrome from cli with the command `chrome  --allow-file-access-from-files` to allow loading from file.

/----/
The "run scenario" functionality won't be implemented by this PR.
All the functionalities related to file system/resource access will be simulated in the testing modules (but only for the DMN models), and for the runtime module will depend on the API/environment provided by VSCode




  was:
Scope of this PR is to create a *Kogito/client-side only*  versions of scesim editor.
>From an architectural point of view, the actual implementation has been moved (in the past) inside a common module: `drools-wb-scenario-simulation-editor-client`.
Access  to it has been "hided" behind a wrapper interface with three actual implementations:
* `drools-wb-scenario-simulation-editor-businesscentral-client` for BusinessCentral environment
* `drools-wb-scenario-simulation-editor-kogito-testing` to provide a development/debugging setup for the  *Kogito/client-side only* environment
* `drools-wb-scenario-simulation-editor-kogito-runtime` that should be the one deployed in actual client-side only containers (e.g. VSCode).
As agreed upon in the last summer (https://issues.redhat.com/browse/AF-2041), the kogito editors should depend upon a common library, `org.kie.workbench:kie-wb-common-kogito-webapp-base` to put all the code/maven configuration shared by the different editors in one single place. 
Currently, only the two kogito-related scesim modules fulfill that requirement; all other editors, starting from DMN, should be adapted to this approach.

Kogito-testing module is a standalone showcase that provides some minimum interaction to:
* load DMN files
* create DMN-related scesim assets, selecting one of the imported DMN.
Currently - RULE/data object model scesim is disabled.

Kogito-runtime module is the version that should run purely client side. It does not provide any graphical widget to load/create/save asset. 
Some minimal tests may be done in the following way:
# full compilation (i.e. included GWT compilation) of the runtime module
# open the `drools-wb/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/target/drools-wb-scenario-simulation-editor-kogito-runtime/index.html` file inside Chrome
# inside the Chrome dev console, issue the command `window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().setContent("")`; this will show the "New Scesim" popup, where user may choose to create a DMN or RULE scesim; of course, inside Chrome it is not possible to have a reference to other resources, so only "Rule" will work; at the same time, no Data model is available inside Chrome, so the right panel will be empty and the only expected result is an empty grid.

Some tricks: to avoid CORS and other policy-related issues:
# set chrome://flags/#allow-insecure-localhost for invalid certificates error
# start chrome from cli with the command `chrome  --allow-file-access-from-files` to allow loading from file.

/----/
The "run scenario" functionality won't be implemented by this PR.
All the functionalities related to file system/resource access will be simulated in the testing modules (but only for the DMN models), and for the runtime module will depend on the API/environment provided by VSCode






> Create Kogito version of Test Scenarios designer
> ------------------------------------------------
>
>                 Key: DROOLS-3879
>                 URL: https://issues.redhat.com/browse/DROOLS-3879
>             Project: Drools
>          Issue Type: Feature Request
>          Components: Scenario Simulation and Testing
>            Reporter: Gabriele Cardosi
>            Assignee: Yeser Amer
>            Priority: Major
>              Labels: drools-tools
>
> Scope of this PR is to create a *Kogito/client-side only*  versions of scesim editor.
> From an architectural point of view, the actual implementation has been moved (in the past) inside a common module: `drools-wb-scenario-simulation-editor-client`.
> Access  to it has been "hided" behind a wrapper interface with three actual implementations:
> * `drools-wb-scenario-simulation-editor-businesscentral-client` for BusinessCentral environment
> * `drools-wb-scenario-simulation-editor-kogito-testing` to provide a development/debugging setup for the  *Kogito/client-side only* environment
> * `drools-wb-scenario-simulation-editor-kogito-runtime` that should be the one deployed in actual client-side only containers (e.g. VSCode).
> As agreed upon in the last summer (https://issues.redhat.com/browse/AF-2041), the kogito editors should depend upon a common library, `org.kie.workbench:kie-wb-common-kogito-webapp-base` to put all the code/maven configuration shared by the different editors in one single place. 
> Currently, only the two kogito-related scesim modules fulfill that requirement; all other editors, starting from DMN, should be adapted to this approach.
> Kogito-testing module is a standalone showcase that provides some minimum interaction to:
> * load DMN files
> * create DMN-related scesim assets, selecting one of the imported DMN.
> Currently - RULE/data object model scesim is disabled.
> Kogito-runtime module is the version that should run purely client side. It does not provide any graphical widget to load/create/save asset. 
> Some minimal tests may be done in the following way:
> # full compilation (i.e. included GWT compilation) of the runtime module
> # open the `drools-wb/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/target/drools-wb-scenario-simulation-editor-kogito-runtime/index.html` file inside Chrome
> # inside the Chrome dev console, issue the command `window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().setContent("")`; this will show the "New Scesim" popup, where user may choose to create a DMN or RULE scesim; of course, inside Chrome it is not possible to have a reference to other resources, so only "Rule" will work; at the same time, no Data model is available inside Chrome, so the right panel will be empty and the only expected result is an empty grid.
> # edit the asset
> # invoke window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().getContent() and store the returned xml
> # invoke window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().setContent method with the stored xml
> Some tricks: to avoid CORS and other policy-related issues:
> # set chrome://flags/#allow-insecure-localhost for invalid certificates error
> # start chrome from cli with the command `chrome  --allow-file-access-from-files` to allow loading from file.
> /----/
> The "run scenario" functionality won't be implemented by this PR.
> All the functionalities related to file system/resource access will be simulated in the testing modules (but only for the DMN models), and for the runtime module will depend on the API/environment provided by VSCode



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list