-
Enhancement
-
Resolution: Done
-
Critical
-
None
-
None
-
NEW
-
NEW
To improve the "import example" experience for all workbenches,
we intend to unify the playground repositories.
This will solve these issues:
- Versioning: allow mortgages example to use a 7.1 screen without breaking every 7.0 or 6.3 in production
- Build playground during a release: to avoid shipping broken examples
- Allow for offline demo's: SA's often have no network connection at customer/airport
- Make it easier to skim through all BRMS and BPMS suite stock examples (builds on top of blank experience)
How?
We intend to:
1) Unify (including history) all playground repositories into
https://github.com/droolsjbpm/kie-wb-playground
We'll start with just optacloud and mortgages.
Once that works well, we'll also move the others.
2) Add a pom.xml to build it and wraps the entire .git repo
as a jar resource into a subdir of kie-wb-playground-7.0.0-SNAPSHOT.jar
3) Change the "import example" dialog to allow loading the stock examples:
4) Make kie-wb-webapp depends on kie-wb-playground,
so it can load the playground .git repository from an embedded jar resource.
This works offline (including in intranets without internet access).
This uses the correct, released version (so no longer the latest unstable sources).
This will increase the 127MB .war file by a few MB, around 5%.
5) Similar for drools-wb-webapp, optaplanner-wb-webapp, etc,
but filter out examples that don't work in those subset workbenches,
(based on a tag or category on each example).
Technical details
The playground directory structure will change little, we will only add a pom.xml file: droolsjbpm/kie-wb-playground (= unification of playground stock examples) pom.xml // new // Builds mortgages/pom.xml, optacloud/pom.xml, ... // Copy this git repo (including .git) // into kie-wb-playground-7.0.0-SNAPSHOT.jar!org/kie/wb/playground as resource // excluding target directory, local directory, etc of course // includes .java files in jar (so not the .class files of it) README.md categories.xml // WB import examples scans for this file IIRC mortgages src/... pom.xml optacloud src/... pom.xml .git When kie-wb-playground is build from source (by us or by jenkins), we get a jar file that embeds a .git repository as a resource: droolsjbpm/kie-wb-playground target kie-wb-playground-7.0.0-SNAPSHOT.jar org/kie/wb/playground content.zip // Wrap as a zip to make it easier to consume // Might not be needed to do this wrapping, Matej will investigate pom.xml categories.xml README.md mortgages src/... pom.xml optacloud src/... pom.xml .git // full history is in there ... kie-wb-webapp 7.0.0-SNAPSHOT pom.xml // Depends on kie-wb-playground 7.0.0-SNAPSHOT // If we choose radiobutton "stock examples", then // A) unzip getClass().getResource()(org/kie/wb/playground/content.zip) in temp dir // Treat it as a remote repo (but fetching is instantaneously). // B) If no content.zip: use url into jar file. => better if this works, but I doubt it drools-wb-webapp 7.0.0-SNAPSHOT // Development only pom.xml // Depends on kie-wb-playground 7.0.0-SNAPSHOT // Same as above, // but filter out jbpm/optaplanner examples on tag (or category) // because screens not there Tags (or categories?): Rules, CEP, Solver, Workflow // Is this the categories.xml file? // Manstis: No. This file used to be used by the Meta-data tab on Editors and was a left-over from Guvnor 5.x. The Meta-data tab's use of "categories" was refactored to use "tags" by Pere (IIRC). // Manstis: I'm not sure if this file was re-purposed to hold "tags" or whether they are now stored elsewhere. Perhaps Pere can remember (or whoever made the changes).
- causes
-
PLANNER-708 Workbench "import example dialog": improve UI to make it easier to find and demo an example
- Resolved
- incorporates
-
PLANNER-674 Workbench: Provide use-case based configuration templates
- Resolved
-
PLANNER-653 Workbench: Provide version-level separation of examples in examples repository
- Resolved
- is related to
-
PLANNER-722 Workbench: Add import example option to Project Authoring perspective
- Resolved