This is an automated email from the ASF dual-hosted git repository. dhanak pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
commit 1e2b02496ba32d0fb491c187c03f4aa79e5149d5 Author: Toshiya Kobayashi <[email protected]> AuthorDate: Thu Dec 19 17:38:51 2024 +0900 [incubator-kie-drools-6203] Adjust docs for 10.0.0 (#6204) * [incubator-kie-drools-6203] Adjust docs for 10.0.0 - Remove unused adoc files - Change kiegroup/drools to apache/incubator-kie-drools * Add entries to release notes * - release note: DMN 1.5 --- .../pages/DMN/_dmn-execution-embedded-proc.adoc | 2 +- .../ROOT/pages/DMN/_dmn-gs-evaluating-proc.adoc | 2 +- .../_KIEExamples-section.adoc | 2 +- .../_executable-model-upgrading-proc.adoc | 28 --- .../BuildDeployUtilizeAndRun/_rule-unit-dsl.adoc | 2 +- .../pages/KIE/Overview/_KIEAnatomy-section.adoc | 55 ------ .../pages/KIE/Overview/_KIELifeCycles-section.adoc | 53 ------ .../KIE/Overview/_architecture-scenarios-ref.adoc | 136 -------------- .../Overview/_decision-authoring-assets-ref.adoc | 156 ---------------- .../KIE/Overview/_installation-options-ref.adoc | 54 ------ .../_project-asset-execution-options-ref.adoc | 81 --------- .../Overview/_project-deployment-options-ref.adoc | 67 ------- ..._project-storage-version-build-options-ref.adoc | 185 ------------------- .../_ReleaseNotesKIE.6.0.0.Final-section.adoc | 197 --------------------- .../KIE/Security/_SecurityManager-section.adoc | 132 -------------- .../src/modules/ROOT/pages/KIE/_KIE-chapter.adoc | 26 --- .../modules/ROOT/pages/KIE/_Overview-section.adoc | 41 ----- .../modules/ROOT/pages/KIE/_Security-section.adoc | 24 --- drools-docs/src/modules/ROOT/pages/KIE/index.adoc | 2 - .../_getting-started-decision-services.adoc | 2 +- .../introduction/_intro-building-the-source.adoc | 4 +- .../introduction/_intro-getting-involved.adoc | 13 +- .../src/modules/ROOT/pages/introduction/index.adoc | 2 +- .../_drl-rules-THEN-methods-ref.adoc | 5 +- .../_drl-rules-THEN-methods-variables-ref.adoc | 5 +- .../ROOT/pages/language-reference/_drl-rules.adoc | 2 +- .../migration-guide/_traditional-to-ruleunit.adoc | 2 +- .../pages/release-notes/_release-notes-10.0.adoc | 23 ++- .../modules/ROOT/pages/release-notes/index.adoc | 3 +- .../rule-engine/_engine-event-listeners-con.adoc | 2 +- .../rule-engine/_rule-base-configuration-con.adoc | 5 +- 31 files changed, 41 insertions(+), 1272 deletions(-) diff --git a/drools-docs/src/modules/ROOT/pages/DMN/_dmn-execution-embedded-proc.adoc b/drools-docs/src/modules/ROOT/pages/DMN/_dmn-execution-embedded-proc.adoc index f7b577ca4e..8a2d09a1d4 100644 --- a/drools-docs/src/modules/ROOT/pages/DMN/_dmn-execution-embedded-proc.adoc +++ b/drools-docs/src/modules/ROOT/pages/DMN/_dmn-execution-embedded-proc.adoc @@ -105,7 +105,7 @@ KieContainer kieContainer = kieServices.getKieClasspathContainer(); ---- DMNRuntime dmnRuntime = KieRuntimeFactory.of(kieContainer.getKieBase()).get(DMNRuntime.class); -String namespace = "http://www.redhat.com/_c7328033-c355-43cd-b616-0aceef80e52a"; +String namespace = "http://kie.apache.org/_c7328033-c355-43cd-b616-0aceef80e52a"; String modelName = "dmn-movieticket-ageclassification"; DMNModel dmnModel = dmnRuntime.getModel(namespace, modelName); diff --git a/drools-docs/src/modules/ROOT/pages/DMN/_dmn-gs-evaluating-proc.adoc b/drools-docs/src/modules/ROOT/pages/DMN/_dmn-gs-evaluating-proc.adoc index 28178ab639..a59f8bbd47 100644 --- a/drools-docs/src/modules/ROOT/pages/DMN/_dmn-gs-evaluating-proc.adoc +++ b/drools-docs/src/modules/ROOT/pages/DMN/_dmn-gs-evaluating-proc.adoc @@ -143,7 +143,7 @@ The archetype also contain more advanced test cases, using the SceSim tool. The following examples assumes {KOGITO} is the chosen target deployment platform. -The source code and detailed runtime instructions for the *Traffic_Violation* sample project are readily made available for {KOGITO} from the https://github.com/kiegroup/kogito-examples/tree/stable/kogito-quarkus-examples/dmn-quarkus-example[Kogito Examples GitHub repository]. +The source code and detailed runtime instructions for the *Traffic_Violation* sample project are readily made available for {KOGITO} from the https://github.com/apache/incubator-kie-kogito-examples/tree/stable/kogito-quarkus-examples/dmn-quarkus-example[Kogito Examples GitHub repository]. .Procedure . Determine the base URL for accessing the REST API endpoints. This requires knowing the following values (with the default local deployment values as an example): diff --git a/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_KIEExamples-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_KIEExamples-section.adoc index 5f58f1a263..46de577a33 100644 --- a/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_KIEExamples-section.adoc +++ b/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_KIEExamples-section.adoc @@ -24,7 +24,7 @@ with the License. You may obtain a copy of the License at The best way to learn the new build system is by example. The source project "drools-examples-api" contains a number of examples, and can be found at GitHub: -https://github.com/kiegroup/drools/tree/main/drools-examples-api +https://github.com/apache/incubator-kie-drools/tree/main/drools-examples-api Each example is described below, the order starts with the simplest (most of the options are defaulted) and working its way up to more complex use cases. diff --git a/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_executable-model-upgrading-proc.adoc b/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_executable-model-upgrading-proc.adoc index 14f014556f..f222488610 100644 --- a/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_executable-model-upgrading-proc.adoc +++ b/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_executable-model-upgrading-proc.adoc @@ -54,31 +54,3 @@ In the `pom.xml` file of your Maven project or on the relevant class path of you This dependency compiles the executable model into {PRODUCT} internal data structures so that it can be executed by the {RULE_ENGINE}. The `<version>` is the Maven artifact version for {PRODUCT} currently used in your project (for example, {MAVEN_ARTIFACT_VERSION}). - -ifdef::DM,PAM[] -[NOTE] -==== -Instead of specifying a {PRODUCT} `<version>` for individual dependencies, consider adding the {PRODUCT_BA} bill of materials (BOM) dependency to your project `pom.xml` file. The {PRODUCT_BA} BOM applies to both {PRODUCT_DM} and {PRODUCT_PAM}. When you add the BOM files, the correct versions of transitive dependencies from the provided Maven repositories are included in the project. - -Example BOM dependency: - -[source,xml,subs="attributes+"] ----- -<dependency> - <groupId>com.redhat.ba</groupId> - <artifactId>ba-platform-bom</artifactId> - <version>{BOM_VERSION}</version> - <scope>import</scope> - <type>pom</type> -</dependency> ----- - -For more information about the {PRODUCT_BA} BOM, see -ifdef::PAM[] -https://access.redhat.com/solutions/3405361[What is the mapping between RHPAM product and maven library version?]. -endif::[] -ifdef::DM[] -https://access.redhat.com/solutions/3363991[What is the mapping between RHDM product and maven library version?]. -endif::[] -==== -endif::DM,PAM[] diff --git a/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_rule-unit-dsl.adoc b/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_rule-unit-dsl.adoc index df8f7355e9..1fad6b7f4a 100644 --- a/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_rule-unit-dsl.adoc +++ b/drools-docs/src/modules/ROOT/pages/KIE/BuildDeployUtilizeAndRun/_rule-unit-dsl.adoc @@ -105,4 +105,4 @@ As you define rules using `defineRules` method, you can execute the rules, of co } ---- -You can find various test cases under https://github.com/kiegroup/drools/tree/main/drools-ruleunits/drools-ruleunits-dsl \ No newline at end of file +You can find various test cases under https://github.com/apache/incubator-kie-drools/tree/main/drools-ruleunits/drools-ruleunits-dsl \ No newline at end of file diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_KIEAnatomy-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_KIEAnatomy-section.adoc deleted file mode 100644 index d03e25f98a..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_KIEAnatomy-section.adoc +++ /dev/null @@ -1,55 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_kieanatomysection]] -= Anatomy of Projects - - -The process of researching an integration knowledge solution for Drools and jBPM has simply used the "kiegroup" group name. -This name permeates GitHub accounts and Maven POMs. -As scopes broadened and new projects were spun KIE, an acronym for Knowledge Is Everything, was chosen as the new group name. -The KIE name is also used for the shared aspects of the system; such as the unified build, deploy and utilization. - -KIE currently consists of the following subprojects: - -.KIE Anatomy -image::KIE/Overview/kie.png[align="center"] - - -OptaPlanner, a local search and optimization tool, has been spun off from Drools Planner and is now a top level project with Drools and jBPM. -This was a natural evolution as Optaplanner, while having strong Drools integration, has long been independent of Drools. - -From the Polymita acquisition, along with other things, comes the powerful Dashboard Builder which provides powerful reporting capabilities. -Dashboard Builder is currently a temporary name and after the 6.0 release a new name will be chosen. -Dashboard Builder is completely independent of Drools and jBPM and will be used by many projects at JBoss, and hopefully outside of JBoss :) - -UberFire is the new base {CENTRAL} project, spun off from the ground up rewrite. -UberFire provides Eclipse-like workbench capabilities, with panels and pages from plugins. -The project is independent of Drools and jBPM and anyone can use it as a basis of building flexible and powerful workbenches like {CENTRAL}. -UberFire will be used for console and workbench development throughout JBoss. - -It was determined that the Guvnor brand leaked too much from its intended role; such as the authoring metaphors, like Decision Tables, being considered Guvnor components instead of Drools components. -This wasn't helped by the monolithic projects structure used in 5.x for Guvnor. -In 6.0 Guvnor's focus has been narrowed to encapsulate the set of UberFire plugins that provide the basis for building a web based IDE. -Such as Maven integration for building and deploying, management of Maven repositories and activity notifications via inboxes. -Drools and jBPM build {CENTRAL} distributions using Uberfire as the base and including a set of plugins, such as Guvnor, along with their own plugins for things like decision tables, guided editors, BPMN2 designer, human tasks. -{CENTRAL} is called \{URL_COMPONENT_CENTRAL}. - -KIE-WB is the uber workbench that combined all the Guvnor, Drools and jBPM plugins. -The jBPM-WB is ghosted out, as it doesn't actually exist, being made redundant by KIE-WB. diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_KIELifeCycles-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_KIELifeCycles-section.adoc deleted file mode 100644 index 939bd73ca2..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_KIELifeCycles-section.adoc +++ /dev/null @@ -1,53 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_kielifecyclessection]] -= Lifecycles - - -The different aspects, or life cycles, of working with KIE system, whether it's Drools or jBPM, can typically be broken down into the following: - -* *Author* -+ -** Authoring of knowledge using a UI metaphor, such as: DRL, BPMN2, decision table, class models. -* *Build* -+ -** Builds the authored knowledge into deployable units. -** For KIE this unit is a JAR. -* *Test* -+ -** Test KIE knowledge before it's deployed to the application. -* *Deploy* -+ -** Deploys the unit to a location where applications may utilize (consume) them. -** KIE uses Maven style repository. -* *Utilize* -+ -** The loading of a JAR to provide a KIE session (KieSession), for which the application can interact with. -** KIE exposes the JAR at runtime via a KIE container (KieContainer). -** KieSessions, for the runtime's to interact with, are created from the KieContainer. -* *Run* -+ -** System interaction with the KieSession, via API. -* *Work* -+ -** User interaction with the KieSession, via command line or UI. -* *Manage* -+ -** Manage any KieSession or KieContainer. diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_architecture-scenarios-ref.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_architecture-scenarios-ref.adoc deleted file mode 100644 index 4b5f82b538..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_architecture-scenarios-ref.adoc +++ /dev/null @@ -1,136 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[id='architecture-scenarios-ref_{context}'] -= Example decision management architectures with {PRODUCT} - -The following scenarios illustrate common variations of {PRODUCT} installation, asset authoring, project storage, project deployment, and asset execution in a decision management architecture. Each section summarizes the methods and tools used and the advantages for the given architecture. The examples are basic and are only a few of the many combinations you might consider, depending on your specific goals and needs with {PRODUCT}. - -ifdef::DM,PAM[] -{PRODUCT} environments on OpenShift with {CENTRAL} and {KIE_SERVER}:: -+ --- -* *Installation environment*: {PRODUCT} on {OPENSHIFT}, using the operator to deploy an `{PRODUCT_INIT}-authoring` environment and other types of environment as necessary. -* *Project storage and build environment*: External Git repository for project versioning synchronized with the {CENTRAL} Git repository using Git hooks, and external Maven repository for project management and building configured with {KIE_SERVER} -* *Asset-authoring tool*: {CENTRAL} -* *Main asset types*: Decision Model and Notation (DMN) models for decisions -ifdef::PAM[and Business Process Model and Notation (BPMN) models for processes] -* *Project deployment and execution environment*: {KIE_SERVER} on {OPENSHIFT} -* *Scenario advantages*: -** Containerized implementation of {PRODUCT} in a cloud-based development environment. Components of {PRODUCT} are deployed as separate OpenShift pods that you can scale up and down individually, providing as few or as many containers as necessary for a particular component. You can use standard OpenShift methods to manage the pods and balance the load. -** Access to the repositories, assets, asset designers, and project build options in {CENTRAL}. -** Standardized asset-authoring approach using DMN -ifdef::PAM,JBPM[and BPMN] -for optimal integration and stability. -** Access to {KIE_SERVER} functionality and KIE APIs for asset deployment and execution. - -.{PRODUCT} on OpenShift with {CENTRAL} and {KIE_SERVER} -image::KIE/Overview/architecture-BA-on-OpenShift_enterprise.png[] --- -endif::[] - -ifdef::DM,PAM[] -{PRODUCT} on {EAP} with {CENTRAL} and {KIE_SERVER}:: -endif::[] -ifdef::DROOLS,JBPM,OP[] -{PRODUCT} on Wildfly with {CENTRAL} and {KIE_SERVER}:: -endif::[] -+ --- -* *Installation environment*: {PRODUCT} on -ifdef::DM,PAM[{EAP_LONG}] -ifdef::DROOLS,JBPM,OP[Wildfly] -* *Project storage and build environment*: External Git repository for project versioning synchronized with the {CENTRAL} Git repository using Git hooks, and external Maven repository for project management and building configured with {KIE_SERVER} -* *Asset-authoring tool*: {CENTRAL} -* *Main asset types*: Decision Model and Notation (DMN) models for decisions -ifdef::PAM,JBPM[and Business Process Model and Notation (BPMN) models for processes] -* *Project deployment and execution environment*: {KIE_SERVER} -* *Scenario advantages*: -** Stable implementation of {PRODUCT} in an on-premise development environment -** Access to the repositories, assets, asset designers, and project build options in {CENTRAL} -** Standardized asset-authoring approach using DMN -ifdef::PAM,JBPM[and BPMN] -for optimal integration and stability -** Access to {KIE_SERVER} functionality and KIE APIs for asset deployment and execution - -ifdef::DROOLS,JBPM,OP[] -.{PRODUCT} on Wildfly with {CENTRAL} and {KIE_SERVER} -image::KIE/Overview/architecture-BA-on-wildfly.png[] -endif::[] -ifdef::DM,PAM[] -.{PRODUCT} on {EAP} with {CENTRAL} and {KIE_SERVER} -image::KIE/Overview/architecture-BA-on-eap_enterprise.png[] -endif::[] --- - -ifdef::DM,PAM[] -{PRODUCT} on {EAP} with an IDE and {KIE_SERVER}:: -endif::[] -ifdef::DROOLS,JBPM,OP[] -{PRODUCT} on Wildfly with an IDE and {KIE_SERVER}:: -endif::[] -+ --- -* *Installation environment*: {PRODUCT} on -ifdef::DM,PAM[{EAP_LONG}] -ifdef::DROOLS,JBPM,OP[Wildfly] -* *Project storage and build environment*: External Git repository for project versioning (not synchronized with {CENTRAL}) and external Maven repository for project management and building configured with {KIE_SERVER} -* *Asset-authoring tools*: Integrated development environment (IDE), such as VSCode, and a spreadsheet editor or a Decision Model and Notation (DMN) modeling tool for other decision formats -* *Main asset types*: -ifdef::DM,DROOLS[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions] -ifdef::PAM,JBPM[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions, and Business Process Model and Notation (BPMN) models for processes] -* *Project deployment and execution environment*: {KIE_SERVER} -* *Scenario advantages*: -** Flexible implementation of {PRODUCT} in an on-premise development environment -** Ability to define business assets using an external IDE and other asset-authoring tools of your choice -** Access to {KIE_SERVER} functionality and KIE APIs for asset deployment and execution - -ifdef::DM,PAM[] -.{PRODUCT} on {EAP} with an IDE and {KIE_SERVER} -image::KIE/Overview/architecture-BA-with-IDE_enterprise.png[] -endif::[] -ifdef::DROOLS,JBPM,OP[] -.{PRODUCT} on Wildfly with an IDE and {KIE_SERVER} -image::KIE/Overview/architecture-BA-with-IDE.png[] -endif::[] --- - -{PRODUCT} with an IDE and an embedded Java application:: -+ --- -* *Installation environment*: {PRODUCT} libraries embedded within a custom application -* *Project storage and build environment*: External Git repository for project versioning (not synchronized with {CENTRAL}) and external Maven repository for project management and building configured with your embedded Java application (not configured with {KIE_SERVER}) -* *Asset-authoring tools*: Integrated development environment (IDE), such as VSCode, and a spreadsheet editor or a Decision Model and Notation (DMN) modeling tool for other decision formats -* *Main asset types*: -ifdef::DM,DROOLS[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions] -ifdef::PAM,JBPM[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions, and Business Process Model and Notation (BPMN) models for processes] -* *Project deployment and execution environment*: Embedded Java application, such as in a Java virtual machine (JVM) environment, microservice, or custom application server -* *Scenario advantages*: -** Custom implementation of {PRODUCT} in an on-premise development environment with an embedded Java application -** Ability to define business assets using an external IDE and other asset-authoring tools of your choice -** Use of custom APIs to interact with core KIE APIs (not {KIE_SERVER} APIs) and to execute assets in the embedded engine - -.{PRODUCT} with an IDE and an embedded Java application -ifdef::DM,PAM[] -image::KIE/Overview/architecture-BA-with-custom-app_enterprise.png[] -endif::[] -ifdef::DROOLS,JBPM,OP[] -image::KIE/Overview/architecture-BA-with-custom-app.png[] -endif::[] --- diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_decision-authoring-assets-ref.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_decision-authoring-assets-ref.adoc deleted file mode 100644 index 73250c7377..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_decision-authoring-assets-ref.adoc +++ /dev/null @@ -1,156 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -//Module included in the following assemblies: -//product-assembly_guided-rules/../main.adoc -//product-assembly_guided-rule-templates/../main.adoc -//product-assembly_decision-tables/../main.adoc -//product-assembly_guided-decision-tables/../main.adoc -//product-assembly_drl/../main.adoc -//product-assembly_decision-management-architecture/../main.adoc - -[id='decision-authoring-assets-ref_{context}'] -= Decision-authoring assets in {PRODUCT} - -{PRODUCT} supports several assets that you can use to define business decisions for your decision service. Each decision-authoring asset has different advantages, and you might prefer to use one or a combination of multiple assets depending on your goals and needs. - -The following table highlights the main decision-authoring assets supported in {PRODUCT} projects to help you decide or confirm the best method for defining decisions in your decision service. - -.Decision-authoring assets supported in {PRODUCT} -[cols="20%,40%,20%,20%", options="header"] -|=== -|Asset -|Highlights -|Authoring tools -|Documentation - -|Decision Model and Notation (DMN) models -a| -* Are decision models based on a notation standard defined by the Object Management Group (OMG) -* Use graphical decision requirements diagrams (DRDs) that represent part or all of the overall decision requirements graph (DRG) to trace business decision flows -* Use an XML schema that allows the DMN models to be shared between DMN-compliant platforms -* Support Friendly Enough Expression Language (FEEL) to define decision logic in DMN decision tables and other DMN boxed expressions -ifdef::PAM,JBPM[] -* Can be integrated efficiently with Business Process Model and Notation (BPMN) process models -endif::[] -* Are optimal for creating comprehensive, illustrative, and stable decision flows -|{CENTRAL} or other DMN-compliant editor -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-dmn-models[_{DMN_MODELS}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:dmn-con_dmn-models[] -endif::[] - -|Guided decision tables -a| -* Are tables of rules that you create in a UI-based table designer in {CENTRAL} -* Are a wizard-led alternative to spreadsheet decision tables -* Provide fields and options for acceptable input -* Support template keys and values for creating rule templates -* Support hit policies, real-time validation, and other additional features not supported in other assets -* Are optimal for creating rules in a controlled tabular format to minimize compilation errors -|{CENTRAL} -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-guided-decision-tables[_{GUIDED_DECISION_TABLES}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:guided-decision-tables-con_{context}[]. -endif::[] - -|Spreadsheet decision tables -a| -* Are XLS or XLSX spreadsheet decision tables that you can upload into {CENTRAL} -* Support template keys and values for creating rule templates -* Are optimal for creating rules in decision tables already managed outside of {CENTRAL} -* Have strict syntax requirements for rules to be compiled properly when uploaded -|Spreadsheet editor -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-decision-tables[_{SPREADSHEET_DECISION_TABLES}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:decision-tables-con_decision-tables[] -endif::[] - -|Guided rules -a| -* Are individual rules that you create in a UI-based rule designer in {CENTRAL} -* Provide fields and options for acceptable input -* Are optimal for creating single rules in a controlled format to minimize compilation errors -|{CENTRAL} -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-guided-rules[_{GUIDED_RULES}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:guided-rules-con_kie-apis[] -endif::[] - -|Guided rule templates -a| -* Are reusable rule structures that you create in a UI-based template designer in {CENTRAL} -* Provide fields and options for acceptable input -* Support template keys and values for creating rule templates (fundamental to the purpose of this asset) -* Are optimal for creating many rules with the same rule structure but with different defined field values -|{CENTRAL} -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-guided-rule-templates[_{GUIDED_RULE_TEMPLATES}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:guided-rule-templates-con[] -endif::[] - -|DRL rules -a| -* Are individual rules that you define directly in `.drl` text files -* Provide the most flexibility for defining rules and other technicalities of rule behavior -* Can be created in certain standalone environments and integrated with {PRODUCT} -* Are optimal for creating rules that require advanced DRL options -* Have strict syntax requirements for rules to be compiled properly -|{CENTRAL} or integrated development environment (IDE) -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-drl-rules[_{DRL_RULES}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:drl-rules-con_decision-tables[] -endif::[] - -|Predictive Model Markup Language (PMML) models -a| -* Are predictive data-analytic models based on a notation standard defined by the Data Mining Group (DMG) -* Use an XML schema that allows the PMML models to be shared between PMML-compliant platforms -* Support Regression, Scorecard, Tree, Mining, and other model types -* Can be included with a standalone {PRODUCT} project or imported into a project in {CENTRAL} -* Are optimal for incorporating predictive data into decision services in {PRODUCT} -|PMML or XML editor -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assembly-pmml-models[_{PMML_MODELS}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:pmml-con_pmml-models[] -endif::[] -|=== - -When you define business decisions, you can also consider using {KOGITO} for your cloud-native decision services. For more information about getting started with {KOGITO} microservices, see {URL_GETTING_STARTED_KOGITO_MICROSERVICES}[_{GETTING_STARTED_KOGITO_MICROSERVICES}_]. diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_installation-options-ref.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_installation-options-ref.adoc deleted file mode 100644 index 8ba05ad019..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_installation-options-ref.adoc +++ /dev/null @@ -1,54 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[id='installation-options-ref_{context}'] -= Installation environment options for {PRODUCT} - -With {PRODUCT}, you can set up a development environment to develop business applications, a runtime environment to run those applications to support decisions, or both. - -* *Development environment*: Typically consists of one {CENTRAL} installation and at least one {KIE_SERVER} installation. You can use {CENTRAL} to design decisions and other artifacts, and you can use {KIE_SERVER} to execute and test the artifacts that you created. - -* *Runtime environment*: Consists of one or more {KIE_SERVER} instances with or without {CENTRAL}. {CENTRAL} has an embedded {CONTROLLER}. If you install {CENTRAL}, use the *Menu* -> *Deploy* -> *Execution servers* page to create and maintain containers. If you want to automate {KIE_SERVER} management without {CENTRAL}, you can use the {HEADLESS_CONTROLLER}. - -You can also cluster both development and runtime environments. A clustered development or runtime environment consists of a unified group or cluster of two or more servers. The primary benefit of clustering {PRODUCT} development environments is high availability and enhanced collaboration, while the primary benefit of clustering {PRODUCT} runtime environments is high availability and load balancing. High availability decreases the chance of data loss when a single server fails. When a s [...] - -NOTE: Clustering of the runtime environment is currently supported on {EAP} {EAP_VERSION} -ifdef::DM,PAM[] -and {OPENSHIFT} -endif::[] -only. - -ifeval::["{context}" != "planning"] -.Additional resources -ifdef::DM,PAM[] -* {URL_INSTALLING_AND_CONFIGURING}#assembly-planning[_{PLANNING_INSTALL}_] -ifdef::PAM[] -* https://access.redhat.com/articles/3405381[{PRODUCT} 7 Supported Configurations] -* https://access.redhat.com/articles/3463751[{PRODUCT} 7 Component Details] -endif::[] -ifdef::DM[] -* https://access.redhat.com/articles/3354301[{PRODUCT} 7 Supported Configurations] -* https://access.redhat.com/articles/3355791[{PRODUCT} 7 Component Details] -endif::[] -endif::[] -ifdef::DROOLS,JBPM,OP[] -* xref:#_installationandsetup[] -* xref:#_wb.advancedsettings[] -endif::[] -endif::[] diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-asset-execution-options-ref.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-asset-execution-options-ref.adoc deleted file mode 100644 index cbec64bc4d..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-asset-execution-options-ref.adoc +++ /dev/null @@ -1,81 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[id='project-asset-execution-options-ref_{context}'] -= Asset execution options with {PRODUCT} - -After you build and deploy your {PRODUCT} project to {KIE_SERVER} or other environment, you can execute the deployed assets for testing or for runtime consumption. You can also execute assets locally in addition to or instead of executing them after deployment. - -The following options are the main methods for {PRODUCT} asset execution: - -.Asset execution options -[cols="25%,50%,25%", options="header"] -|=== -|Execution option -|Description -|Documentation - -|Execution in {KIE_SERVER} -|If you deployed {PRODUCT} project assets to {KIE_SERVER}, you can use the {KIE_SERVER} REST API or Java client API to execute and interact with the deployed assets. You can also use {CENTRAL} or the {HEADLESS_CONTROLLER} outside of {CENTRAL} to manage the configurations and KIE containers in the {KIE_SERVER} instances associated with your deployed assets. -ifdef::PAM,JBPM[] -For process definitions, you can use {CENTRAL} directly to execute process instances. -endif::[] -a| -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#assembly-kie-apis[_{KIE_APIS}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_ch.kie.server[] - -ifdef::JBPM[] -xref:#_process_management[] -endif::[] -endif::[] - -|Execution in an embedded Java application -|If you deployed {PRODUCT} project assets in your own Java virtual machine (JVM) environment, microservice, or application server, you can use custom APIs or application interactions with core KIE APIs (not {KIE_SERVER} APIs) to execute assets in the embedded engine. -a| -link:http://docs.jboss.org/drools/release/{COMMUNITY_VERSION_FINAL}/kie-api-javadoc/[_KIE Public API_] - -ifdef::JBPM[] -xref:jBPMCoreEngine[] -endif::[] - -|Execution in a local environment for extended testing -|As part of your development cycle, you can execute assets locally to ensure that the assets you have created in {PRODUCT} function as intended. You can use local execution in addition to or instead of executing assets after deployment. -a| -ifdef::DM,PAM[] -{URL_DEVELOPING_DECISION_SERVICES}#assets-executing-proc_drl-rules["Executing rules" in _{DRL_RULES}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:decision-examples-IDE-proc_drools-examples[] -endif::[] -|=== - -[NOTE] -.Smart Router ({KIE_SERVER} router) -==== -Depending on your deployment and execution environment, you can use a Smart Router to aggregate multiple independent {KIE_SERVER} instances as though they are a single server. Smart Router is a single endpoint that can receive calls from client applications to any of your services and route each call automatically to the {KIE_SERVER} that runs the service. For more information about Smart Router, see -ifdef::DM,PAM[] -{URL_INSTALLING_AND_CONFIGURING}#clustering-smartrouter-install-proc_clustering-runtime-standalone[_{INSTALLING_ON_EAP_CLUSTER}_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] -link:http://mswiderski.blogspot.com/2016/12/kie-server-router-even-more-flexibility.html[{KIE_SERVER} router]. -endif::[] -==== diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-deployment-options-ref.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-deployment-options-ref.adoc deleted file mode 100644 index d7b645de1d..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-deployment-options-ref.adoc +++ /dev/null @@ -1,67 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[id='project-deployment-options-ref_{context}'] -= Project deployment options with {PRODUCT} - -After you develop, test, and build your {PRODUCT} project, you can deploy the project to begin using the business assets you have created. You can deploy a {PRODUCT} project to a configured {KIE_SERVER}, to an embedded Java application, or into a {OPENSHIFT} environment for an enhanced containerized implementation. - -The following options are the main methods for {PRODUCT} project deployment: - -.Project deployment options -[cols="25%,50%,25%", options="header"] -|=== -|Deployment option -|Description -|Documentation - -ifdef::DM,PAM[] -|Deployment to an OpenShift environment -|{OPENSHIFT} combines Docker and Kubernetes and enables you to create and manage containers. You can install both {CENTRAL} and {KIE_SERVER} on OpenShift. {PRODUCT} provides templates that you can use to deploy a {PRODUCT} authoring environment, managed server environment, immutable server environment, or trial environment on OpenShift. With OpenShift, components of {PRODUCT} are deployed as separate OpenShift pods. You can scale each of the pods up and down individually, providing as fe [...] -a| -{URL_DEPLOYING_ON_OPENSHIFT}#assembly-openshift-operator_deploying-on-openshift[_{DEPLOYING_OPENSHIFT_OPERATOR}_] - -{URL_DEPLOYING_ON_OPENSHIFT}#assembly-openshift-templates[_{DEPLOYING_OPENSHIFT_TEMPLATES}_] -endif::[] - -|Deployment to {KIE_SERVER} -|{KIE_SERVER} is the server provided with {PRODUCT} that runs the decision services, process applications, and other deployable assets from a packaged and deployed {PRODUCT} project (KJAR file). These services are consumed at run time through an instantiated KIE container, or _deployment unit_. You can deploy and maintain deployment units in {KIE_SERVER} using {CENTRAL} or using a {HEADLESS_CONTROLLER} with its associated REST API (considered a _managed_ {KIE_SERVER} instance). You can a [...] -a| -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#assembly-packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_] - -{URL_DEPLOYING_AND_MANAGING_SERVICES}#assembly-kie-apis[_{KIE_APIS}_] - -{URL_MANAGING_SETTINGS}#assembly-managing-and-monitoring-execution-server[_{MANAGING_KIE_SERVER}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_kiedeployingsection[] - -xref:#_ch.kie.server[] -endif::[] - -|Deployment to an embedded Java application -|If you want to deploy {PRODUCT} projects to your own Java virtual machine (JVM) environment, microservice, or application server, you can bundle the application resources in the project WAR files to create a deployment unit similar to a KIE container. You can also use the core KIE APIs (not {KIE_SERVER} APIs) to configure a KIE scanner to periodically update KIE containers. -a| -link:http://docs.jboss.org/drools/release/{COMMUNITY_VERSION_FINAL}/kie-api-javadoc/[_KIE Public API_] - -ifdef::JBPM[] -xref:jBPMCoreEngine[] -endif::[] -|=== diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-storage-version-build-options-ref.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-storage-version-build-options-ref.adoc deleted file mode 100644 index 0df37e2b31..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Overview/_project-storage-version-build-options-ref.adoc +++ /dev/null @@ -1,185 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[id='project-storage-version-build-options-ref_{context}'] -= Project storage and build options with {PRODUCT} - -As you develop a {PRODUCT} project, you need to be able to track the versions of your project with a version-controlled repository, manage your project assets in a stable environment, and build your project for testing and deployment. You can use {CENTRAL} for all of these tasks, or use a combination of {CENTRAL} and external tools and repositories. {PRODUCT} supports Git repositories for project version control, Apache Maven for project management, and a variety of Maven-based, Java-bas [...] - -The following options are the main methods for {PRODUCT} project versioning, storage, and building: - -.Project version control options (Git) -[cols="25%,50%,25%", options="header"] -|=== -|Versioning option -|Description -|Documentation - -|{CENTRAL} Git VFS -|{CENTRAL} contains a built-in Git Virtual File System (VFS) that stores all processes, rules, and other artifacts that you create in the authoring environment. Git is a distributed version control system that implements revisions as commit objects. When you commit your changes into a repository, a new commit object in the Git repository is created. When you create a project in {CENTRAL}, the project is added to the Git repository connected to {CENTRAL}. -|NA - -|External Git repository -|If you have {PRODUCT} projects in Git repositories outside of {CENTRAL}, you can import them into {PRODUCT} spaces and use Git hooks to synchronize the internal and external Git repositories. -a| -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#git-import-project[_{MANAGING_PROJECTS}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -NA -endif::[] -|=== - -.Project management options (Maven) -[cols="25%,50%,25%", options="header"] -|=== -|Management option -|Description -|Documentation - -|{CENTRAL} Maven repository -a|{CENTRAL} contains a built-in Maven repository that organizes and builds project assets that you create in the authoring environment. Maven is a distributed build-automation tool that uses repositories to store Java libraries, plug-ins, and other build artifacts. When building projects and archetypes, Maven dynamically retrieves Java libraries and Maven plug-ins from local or remote repositories to promote shared dependencies across projects. - -NOTE: For a production environment, consider using an external Maven repository configured with {CENTRAL}. -a| -ifdef::DM,PAM[] -NA -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_wb.artifactrepository[] -endif::[] - -|External Maven repository -|If you have {PRODUCT} projects in an external Maven repository, such as Nexus or Artifactory, you can create a link:https://maven.apache.org/settings.html[`settings.xml` file] with connection details and add that file path to the `kie.maven.settings.custom` property in your project `standalone-full.xml` file. -a| -link:https://maven.apache.org/settings.html[_Maven Settings Reference_] - -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#maven-external-configure-proc_packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_settings_xml_and_remote_repository_setup[] -endif::[] -|=== - -.Project build options -[cols="25%,50%,25%", options="header"] -|=== -|Build option -|Description -|Documentation - -|{CENTRAL} (KJAR) -|{CENTRAL} builds {PRODUCT} projects stored in either the built-in Maven repository or a configured external Maven repository. Projects in {CENTRAL} are packaged automatically as knowledge JAR (KJAR) files with all components needed for deployment when you build the projects. -a| -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#assembly-packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_wb.quickstartbuildanddeloy[] -endif::[] - -|Standalone Maven project (KJAR) -|If you have a standalone {PRODUCT} Maven project outside of {CENTRAL}, you can edit the project `pom.xml` file to package your project as a KJAR file, and then add a `kmodule.xml` file with the KIE base and KIE session configurations needed to build the project. -a| -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#project-build-deploy-maven-proc_packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_buildingwithmaven[] -endif::[] - -|Embedded Java application (KJAR) -|If you have an embedded Java application from which you want to build your {PRODUCT} project, you can use a `KieModuleModel` instance to programmatically create a `kmodule.xml` file with the KIE base and KIE session configurations, and then add all resources in your project to the KIE virtual file system `KieFileSystem` to build the project. -a| -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#project-build-deploy-java-proc_packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_] -endif::[] -ifdef::DROOLS,JBPM,OP[] -xref:#_definingakiemoduleprogrammatically[] -endif::[] - -|CI/CD tool (KJAR) -|If you use a tool for continuous integration and continuous delivery (CI/CD), you can configure the tool set to integrate with your {PRODUCT} Git repositories to build a specified project. Ensure that your projects are packaged and built as KJAR files to ensure optimal deployment. -|NA - -ifdef::DM,PAM[] -|S2I in OpenShift (container image) -|If you use {PRODUCT} on {OPENSHIFT}, you can build your {PRODUCT} projects as KJAR files in the typical way or use Source-to-Image (S2I) to build your projects as container images. S2I is a framework and a tool that allows you to write images that use the application source code as an input and produce a new image that runs the assembled application as an output. The main advantage of using the S2I tool for building reproducible container images is the ease of use for developers. - -The {PRODUCT} images build the KJAR files as S2I automatically, using the source from a Git repository that you can specify. You do not need to create scripts or manage an S2I build. -| -For the S2I concept: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html/images/creating-images#images-create-s2i_create-images[_Images_] in the {OPENSHIFT} product documentation. - -For the operator-based deployment process: {URL_DEPLOYING_ON_OPENSHIFT}#operator-environment-deploy-assy_openshift-operator[_{DEPLOYING_OPENSHIFT_OPERATOR}_]. In the {KIE_SERVER} settings, add a {KIE_SERVER} instance and then click *Set Immutable server configuration* to configure the source Git repository for an S2I deployment. -endif::[] -|=== - -//// -Project version control options (Git):: -* *{CENTRAL} Git VFS*: {CENTRAL} contains a built-in Git Virtual File System (VFS) that stores all processes, rules, and other artifacts that you create in the authoring environment. Git is a distributed version control system that implements revisions as commit objects. When you commit your changes into a repository, a new commit object in the Git repository is created. When you create a project in {CENTRAL}, the project is added to the Git repository connected to {CENTRAL}. -* *External Git repository*: If you have {PRODUCT} projects in Git repositories outside of {CENTRAL}, you can import them into {CENTRAL} spaces and use Git hooks to synchronize the internal and external Git repositories. For more information about importing projects, see -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#git-import-project[_{MANAGING_PROJECTS}_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] - -endif::[] - -Project management options (Maven):: -* *{CENTRAL} Maven repository*: {CENTRAL} contains a built-in Maven repository that organizes and builds project assets that you create in the authoring environment. Maven is a distributed build automation tool that uses repositories to store Java libraries, plug-ins, and other build artifacts. When building projects and archetypes, Maven dynamically retrieves Java libraries and Maven plug-ins from local or remote repositories to promote shared dependencies across projects. -* *External Maven repository*: If you have {PRODUCT} projects in external Maven repository, such as Nexus or Artifactory, you can create a link:https://maven.apache.org/settings.html[`settings.xml` file] with connection details and add that file path to the `kie.maven.settings.custom` property in your project `standalone-full.xml` file. For more information about configuring an external Maven repository for your projects, see -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#maven-external-configure-proc_packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] - -endif::[] - -Project build options:: -* *{CENTRAL}*: (KJAR) {CENTRAL} builds a specified {PRODUCT} project stored in either the built-in Maven repository or a configured external Maven repository. Projects in {CENTRAL} are packaged automatically as KJARs with all necessary components when you build the projects. For more information about building projects in {CENTRAL}, see -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#assembly-packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] - -endif::[] -* *Standalone Maven project*: (KJAR) If you have a standalone {PRODUCT} Maven project outside of {CENTRAL}, you can edit the project `pom.xml` file to package your project as a KJAR file, and then add a `kmodule.xml` file with the KIE base and KIE session configurations needed to build the project. For more information about building projects in Maven, see -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#project-build-deploy-maven-proc_packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] - -endif::[] -* *Embedded Java application*: (KJAR) If you have an embedded Java application from which you want to build your {PRODUCT} project, you can use a `KieModuleModel` instance to programmatically create a `kmodule.xml` file with the KIE base and KIE session configurations, and then add all resources in your project to the KIE virtual file system `KieFileSystem` to build the project. For more information about building projects in a Java application, see -ifdef::DM,PAM[] -{URL_DEPLOYING_AND_MANAGING_SERVICES}#project-build-deploy-java-proc_packaging-deploying[_{PACKAGING_DEPLOYING_PROJECT}_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] - -endif::[] -* *CI/CD tool*: (KJAR) If you use a tool for continuous integration and continuous delivery (CI/CD), you can configure the tool set to integrate with your {PRODUCT} Git repositories to build a specified project. Ensure that your projects are packaged and built as KJAR files to ensure optimal deployment. -* *S2I in {OPENSHIFT}*: (container image) If you use {PRODUCT} on {OPENSHIFT}, you can build your {PRODUCT} projects as KJAR files in the typical way or use Source-to-Image (S2I) to build your projects as container images. S2I is a framework and a tool that allows you to write images that use the application source code as an input and produce a new image that runs the assembled application as an output. The main advantage of using the S2I tool for building reproducible container images [...] -ifdef::DM,PAM[] -https://access.redhat.com/documentation/en-us/openshift_container_platform/3.3/html/creating_images/creating-images-s2i[_Creating Images_]. -endif::[] -ifdef::DROOLS,JBPM,OP[] - -endif::[] -//// diff --git a/drools-docs/src/modules/ROOT/pages/KIE/ReleaseNotes/_ReleaseNotesKIE.6.0.0.Final-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/ReleaseNotes/_ReleaseNotesKIE.6.0.0.Final-section.adoc deleted file mode 100644 index f7d25e1919..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/ReleaseNotes/_ReleaseNotesKIE.6.0.0.Final-section.adoc +++ /dev/null @@ -1,197 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_kie.releasenoteskie.6.0.0]] -= New and Noteworthy in KIE API 6.0.0 - -== New KIE name - - -KIE is the new umbrella name used to group together our related projects; as the family continues to grow. -KIE is also used for the generic parts of unified API; such as building, deploying and loading. -This replaces the kiegroup and knowledge keywords that would have been used before. - -.KIE Anatomy -image::KIE/Overview/kie.png[align="center"] - - -== Maven aligned projects and modules and Maven Deployment - - -One of the biggest complaints during the 5.x series was the lack of defined methodology for deployment. -The mechanism used by Drools and jBPM was very flexible, but it was too flexible. -A big focus for 6.0 was streamlining the build, deploy and loading (utilization) aspects of the system. -Building and deploying activities are now aligned with Maven and Maven repositories. -The utilization for loading rules and processes is now convention and configuration oriented, instead of programmatic, with sane defaults to minimise the configuration. - -Projects can be built with Maven and installed to the local M2_REPO or remote Maven repositories. -Maven is then used to declare and build the classpath of dependencies, for KIE to access. - -== Configuration and convention based projects - - -The 'kmodule.xml' provides declarative configuration for KIE projects. -Conventions and defaults are used to reduce the amount of configuration needed. - -.Declare KieBases and KieSessions -==== -[source,xml] ----- -<kmodule xmlns="http://www.drools.org/xsd/kmodule"> - <kbase name="kbase1" packages="org.mypackages"> - <ksession name="ksession1"/> - </kbase> -</kmodule> ----- -==== - -.Utilize the KieSession -==== -[source,java] ----- -KieServices ks = KieServices.Factory.get(); -KieContainer kContainer = ks.getKieClasspathContainer(); - -KieSession kSession = kContainer.newKieSession("ksession1"); -kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?")); -kSession.fireAllRules(); ----- -==== - -== KieBase Inclusion - - -It is possible to include all the KIE artifacts belonging to a KieBase into a second KieBase. -This means that the second KieBase, in addition to all the rules, function and processes directly defined into it, will also contain the ones created in the included KieBase. -This inclusion can be done declaratively in the kmodule.xml file - -.Including a KieBase into another declaratively -==== -[source,xml] ----- -<kmodule xmlns="http://www.drools.org/xsd/kmodule"> - <kbase name="kbase2" includes="kbase1"> - <ksession name="ksession2"/> - </kbase> -</kmodule> ----- -==== - - -or programmatically using the ``KieModuleModel``. - -.Including a KieBase into another programmatically -==== -[source,java] ----- -KieModuleModel kmodule = KieServices.Factory.get().newKieModuleModel(); -KieBaseModel kieBaseModel1 = kmodule.newKieBaseModel("KBase2").addInclude("KBase1"); ----- -==== - -== KieModules, KieContainer and KIE-CI - - -Any Maven produced JAR with a 'kmodule.xml' in it is considered a KieModule. -This can be loaded from the classpath or dynamically at runtime from a Resource location. -If the kie-ci dependency is on the classpath it embeds Maven and all resolving is done automatically using Maven and can access local or remote repositories. -Settings.xml is obeyed for Maven configuration. - -The KieContainer provides a runtime to utilize the KieModule, versioning is built in throughout, via Maven. -Kie-ci will create a classpath dynamically from all the Maven declared dependencies for the artifact being loaded. -Maven LATEST, SNAPSHOT, RELEASE and version ranges are supported. - -.Utilize and Run - Java -==== -[source,java] ----- -KieServices ks = KieServices.Factory.get(); -KieContainer kContainer = ks.newKieContainer( - ks.newReleaseId("org.mygroup", "myartifact", "1.0") ); - -KieSession kSession = kContainer.newKieSession("ksession1"); -kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?")); -kSession.fireAllRules(); ----- -==== - - -KieContainers can be dynamically updated to a specific version, and resolved through Maven if KIE-CI is on the classpath. -For stateful KieSessions the existing sessions are incrementally updated. - -.Dynamically Update - Java -==== -[source,java] ----- -KieContainer kContainer.updateToVersion( - ks.newReleaseId("org.mygroup", "myartifact", "1.1") ); ----- -==== - -== KieScanner - - -The `KieScanner` is a Maven-oriented replacement of the KnowledgeAgent present in Drools 5. -It continuously monitors your Maven repository to check if a new release of a Kie project has been installed and if so, deploys it in the `KieContainer` wrapping that project. -The use of the `KieScanner` requires kie-ci.jar to be on the classpath. - -A `KieScanner` can be registered on a `KieContainer` as in the following example. - -.Registering and starting a KieScanner on a KieContainer -==== -[source,java] ----- -KieServices kieServices = KieServices.Factory.get(); -ReleaseId releaseId = kieServices.newReleaseId( "org.acme", "myartifact", "1.0-SNAPSHOT" ); -KieContainer kContainer = kieServices.newKieContainer( releaseId ); -KieScanner kScanner = kieServices.newKieScanner( kContainer ); - -// Start the KieScanner polling the Maven repository every 10 seconds -kScanner.start( 10000L ); ----- -==== - - -In this example the `KieScanner` is configured to run with a fixed time interval, but it is also possible to run it on demand by invoking the `scanNow()` method on it. -If the `KieScanner` finds, in the Maven repository, an updated version of the Kie project used by that `KieContainer` it automatically downloads the new version and triggers an incremental build of the new project. -From this moment all the new ``KieBase``s and ``KieSession``s created from that `KieContainer` will use the new project version. - -== Hierarchical ClassLoader - - -The CompositeClassLoader is no longer used; as it was a constant source of performance problems and bugs. -Traditional hierarchical classloaders are now used. -The root classloader is at the KieContext level, with one child ClassLoader per namespace. -This makes it cleaner to add and remove rules, but there can now be no referencing between namespaces in DRL files; i.e. -functions can only be used by the namespaces that declared them. -The recommendation is to use static Java methods in your project, which is visible to all namespaces; but those cannot (like other classes on the root KieContainer ClassLoader) be dynamically updated. - -== Legacy API Adapter - - -The 5.x API for building and running with Drools and jBPM is still available through Maven dependency "knowledge-api-legacy5-adapter". Because the nature of deployment has significantly changed in 6.0, it was not possible to provide an adapter bridge for the KnowledgeAgent. -If any other methods are missing or problematic, please open a JIRA, and we'll fix for 6.1 - -== KIE Documentation - - -While a lot of new documentation has been added for working with the new KIE API, the entire documentation has not yet been brought up to date. -For this reason there will be continued references to old terminologies. -Apologies in advance, and thank you for your patience. -We hope those in the community will work with us to get the documentation updated throughout, for 6.1 diff --git a/drools-docs/src/modules/ROOT/pages/KIE/Security/_SecurityManager-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/Security/_SecurityManager-section.adoc deleted file mode 100644 index 636d737c45..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/Security/_SecurityManager-section.adoc +++ /dev/null @@ -1,132 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_securitymanager]] -= Security Manager - -IMPORTANT: Starting with JDK17, the Java Platform has deprecated the Security Manager for removal; consequently, this {PRODUCT} feature may become unsupported in the future. + -For more information: https://openjdk.org/jeps/411 - -The KIE engine is a platform for the modelling and execution of business behavior, using a multitude of declarative abstractions and metaphors, like rules, processes, decision tables and etc. - -Many times, the authoring of these metaphors is done by third party groups, be it a different group inside the same company, a group from a partner company, or even anonymous third parties on the internet. - -Rules and Processes are designed to execute arbitrary code in order to do their job, but in such cases it might be necessary to constrain what they can do. -For instance, it is unlikely a rule should be allowed to create a classloader (what could open the system to an attack) and certainly it should not be allowed to make a call to ``System.exit()``. - -The Java Platform provides a very comprehensive and well defined security framework that allows users to define policies for what a system can do. -The KIE platform leverages that framework and allow application developers to define a specific policy to be applied to any execution of user provided code, be it in rules, processes, work item handlers and etc. - -[[_howtodefinekiepolicy]] -== How to define a KIE Policy - - -Rules and processes can run with very restrict permissions, but the engine itself needs to perform many complex operations in order to work. -Examples are: it needs to create classloaders, read system properties, access the file system, etc. - -Once a security manager is installed, though, it will apply restrictions to all the code executing in the JVM according to the defined policy. -For that reason, KIE allows the user to define two different policy files: one for the engine itself and one for the assets deployed into and executed by the engine. - -One easy way to setup the environment is to give the engine itself a very permissive policy, while providing a constrained policy for rules and processes. - -Policy files follow the standard policy file syntax as described in the Java documentation. -For more details, see: - -https://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html#FileSyntax - -A permissive policy file for the engine can look like the following: - -.A sample engine.policy file -==== -[source] ----- -grant { - permission java.security.AllPermission; -} ----- -==== - - -An example security policy for rules could be: - -.A sample rules.policy file -==== -[source] ----- -grant { - permission java.util.PropertyPermission "*", "read"; - permission java.lang.RuntimePermission "accessDeclaredMembers"; -} ----- -==== - - -Please note that depending on what the rules and processes are supposed to do, many more permissions might need to be granted, like accessing files in the filesystem, databases, etc. - -In order to use these policy files, all that is necessary is to execute the application with these files as parameters to the JVM. -Three parameters are required: - - - -.Parameters -[cols="1,1", frame="all", options="header"] -|=== -| Parameter -| Meaning - -| - --Djava.security.manager -|Enables the security manager - -| - --Djava.security.policy=<jvm_policy_file> -|Defines the global policy file to be applied to the whole application, including the engine - -| - --Dkie.security.policy=<kie_policy_file> -|Defines the policy file to be applied to rules and processes -|=== - -For instance: - -`java -Djava.security.manager -Djava.security.policy=global.policy -Dkie.security.policy=rules.policy - foo.bar.MyApp` - - - -[NOTE] -==== -When executing the engine inside a container, use your container's documentation to find out how to configure the Security Manager and how to define the global security policy. -Define the kie security policy as described above and set the `kie.security.policy` system property in order to configure the engine to use it. -==== - -[NOTE] -==== -Please note that unless a Security Manager is configured, the `kie.security.policy` will be ignored. -==== - -[NOTE] -==== -A Security Manager has a high performance impact in the JVM. -Applications with strict performance requirements are strongly discouraged of using a Security Manager. -An alternative is the use of other security procedures like the auditing of rules/processes before testing and deployment to prevent malicious code from being deployed to the environment. -==== diff --git a/drools-docs/src/modules/ROOT/pages/KIE/_KIE-chapter.adoc b/drools-docs/src/modules/ROOT/pages/KIE/_KIE-chapter.adoc deleted file mode 100644 index b6e2bb327b..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/_KIE-chapter.adoc +++ /dev/null @@ -1,26 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_kiechapter]] -= KIE - -include::Overview-section.adoc[leveloffset=+1] -include::BuildDeployUtilizeAndRun-section.adoc[leveloffset=+1] -include::Security-section.adoc[leveloffset=+1] - diff --git a/drools-docs/src/modules/ROOT/pages/KIE/_Overview-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/_Overview-section.adoc deleted file mode 100644 index a706881ab4..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/_Overview-section.adoc +++ /dev/null @@ -1,41 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_kieoverviewsection]] -= Overview - -include::Overview/KIEAnatomy-section.adoc[leveloffset=+1] - -include::Overview/KIELifeCycles-section.adoc[leveloffset=+1] - -// The following is temporarily conditionalized. After the content is made applicable to jBPM by incorporating process-specific and jBPM-specific considerations, we can unconditionalize and make it genuinely shared. (Stetson R., 6 Feb 2019) -ifdef::DROOLS[] -:context: decision-management-architecture -include::Overview/installation-options-ref.adoc[leveloffset=+1] - -include::Overview/decision-authoring-assets-ref.adoc[leveloffset=+1] - -include::Overview/project-storage-version-build-options-ref.adoc[leveloffset=+1] - -include::Overview/project-deployment-options-ref.adoc[leveloffset=+1] - -include::Overview/project-asset-execution-options-ref.adoc[leveloffset=+1] - -include::Overview/architecture-scenarios-ref.adoc[leveloffset=+1] -endif::[] diff --git a/drools-docs/src/modules/ROOT/pages/KIE/_Security-section.adoc b/drools-docs/src/modules/ROOT/pages/KIE/_Security-section.adoc deleted file mode 100644 index 0a1c477a2d..0000000000 --- a/drools-docs/src/modules/ROOT/pages/KIE/_Security-section.adoc +++ /dev/null @@ -1,24 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -//// - -[[_kiesecuritysection]] -= Security - -include::Security/SecurityManager-section.adoc[leveloffset=+1] - diff --git a/drools-docs/src/modules/ROOT/pages/KIE/index.adoc b/drools-docs/src/modules/ROOT/pages/KIE/index.adoc index d8ebe47248..317cfe4080 100644 --- a/drools-docs/src/modules/ROOT/pages/KIE/index.adoc +++ b/drools-docs/src/modules/ROOT/pages/KIE/index.adoc @@ -37,5 +37,3 @@ include::BuildDeployUtilizeAndRun/_executable-model-upgrading-proc.adoc[leveloff include::BuildDeployUtilizeAndRun/_rule-unit-api.adoc[leveloffset=+1] include::BuildDeployUtilizeAndRun/_rule-unit-dsl.adoc[leveloffset=+1] include::BuildDeployUtilizeAndRun/_kie-scanner-proc.adoc[leveloffset=+1] - -include::Security/_SecurityManager-section.adoc[leveloffset=+1] diff --git a/drools-docs/src/modules/ROOT/pages/getting-started/_getting-started-decision-services.adoc b/drools-docs/src/modules/ROOT/pages/getting-started/_getting-started-decision-services.adoc index b776c3d159..0ffa9cb715 100644 --- a/drools-docs/src/modules/ROOT/pages/getting-started/_getting-started-decision-services.adoc +++ b/drools-docs/src/modules/ROOT/pages/getting-started/_getting-started-decision-services.adoc @@ -23,7 +23,7 @@ with the License. You may obtain a copy of the License at :context: getting-started-decision-services // Purpose statement for the assembly -As a business rules developer, you can use {PRODUCT} to design a variety of decision services. This document describes how to create and test an example traffic violation project based on the *Traffic_Violation* sample project available from the https://github.com/kiegroup/kogito-examples/tree/stable/kogito-quarkus-examples/dmn-quarkus-example[Kogito Examples GitHub repository]. This sample project uses a Decision Model and Notation (DMN) model to define driver penalty and suspension rul [...] +As a business rules developer, you can use {PRODUCT} to design a variety of decision services. This document describes how to create and test an example traffic violation project based on the *Traffic_Violation* sample project available from the https://github.com/apache/incubator-kie-kogito-examples/tree/stable/kogito-quarkus-examples/dmn-quarkus-example[Kogito Examples GitHub repository]. This sample project uses a Decision Model and Notation (DMN) model to define driver penalty and su [...] For more information about the DMN components and implementation in {PRODUCT}, see xref:#dmn-con_dmn-models[DMN Engine in Drools section]. diff --git a/drools-docs/src/modules/ROOT/pages/introduction/_intro-building-the-source.adoc b/drools-docs/src/modules/ROOT/pages/introduction/_intro-building-the-source.adoc index c4f727339b..bdaaaa7952 100644 --- a/drools-docs/src/modules/ROOT/pages/introduction/_intro-building-the-source.adoc +++ b/drools-docs/src/modules/ROOT/pages/introduction/_intro-building-the-source.adoc @@ -23,9 +23,9 @@ with the License. You may obtain a copy of the License at {PRODUCT} is mainly a Java based set of projects that uses link:https://maven.apache.org/[Maven] as a build system. To build the {PRODUCT} repository: -1. Install Java JDK, at least version 11. +1. Install Java JDK, at least version `{java-version}`. 2. Install Maven, at least version `{maven-version}`. There are rules during the build, that enforce the version of Maven, so please try to use the most current Maven version possible. -3. Clone the link:https://github.com/kiegroup/drools/[{PRODUCT} source code] repository. +3. Clone the link:https://github.com/apache/incubator-kie-drools/[{PRODUCT} source code] repository. 4. Run the Maven build on command line. Maven build executed with tests: diff --git a/drools-docs/src/modules/ROOT/pages/introduction/_intro-getting-involved.adoc b/drools-docs/src/modules/ROOT/pages/introduction/_intro-getting-involved.adoc index 6395af560e..fc9aa421e8 100644 --- a/drools-docs/src/modules/ROOT/pages/introduction/_intro-getting-involved.adoc +++ b/drools-docs/src/modules/ROOT/pages/introduction/_intro-getting-involved.adoc @@ -25,26 +25,23 @@ We are often asked - "How do I get involved?" The answer is simple, just write s == Requirements -To contribute, you need to have: - -1. A link:https://issues.redhat.com/[JIRA] account. If you are not registered, please create an account in link:https://issues.redhat.com/[JIRA]. -2. A link:https://github.com/[GitHub] account. link:https://github.com/kiegroup/drools/[{PRODUCT} source code] is on GitHub. To submit code contributions, you need to have a GitHub account. +To contribute, you need to have a link:https://github.com/[GitHub] account. link:https://github.com/apache/incubator-kie-drools/[{PRODUCT} source code] is on GitHub. To submit code contributions, you need to have a GitHub account. == Submitting an issue or enhancement request -We use link:https://issues.redhat.com/[JIRA] to track new feature requests, bugs etc. If you find a problem in {PRODUCT}, please file a ticket in JIRA under the link:https://issues.redhat.com/projects/DROOLS/[DROOLS] JIRA project. For code contributions, you could create a JIRA ticket for yourself, so your contribution gets tracked. This ensures that all requests are logged and allocated to a release schedule and all discussions are captured in one place. Bug reports, bug fixes, feature [...] +We use link:https://github.com/apache/incubator-kie-drools/issues[GitHub Issues] to track new feature requests, bugs etc. If you find a problem in {PRODUCT}, please file a ticket in link:https://github.com/apache/incubator-kie-drools/issues[GitHub Issues]. For code contributions, you could create a GitHub issue for yourself, so your contribution gets tracked. This ensures that all requests are logged and allocated to a release schedule and all discussions are captured in one place. Bug r [...] == Submitting a source code contribution We accept source code contributions in the form of link:https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests[GitHub pull requests]. Steps to create a pull request with your contribution are: -1. link:https://docs.github.com/en/get-started/quickstart/fork-a-repo[Fork] the link:https://github.com/kiegroup/drools/[{PRODUCT} source code] repository. +1. link:https://docs.github.com/en/get-started/quickstart/fork-a-repo[Fork] the link:https://github.com/apache/incubator-kie-drools/[{PRODUCT} source code] repository. 2. Clone your forked repository. 3. Create a new git branch on your forked repository. -4. Create a new JIRA to track your work in the link:https://issues.redhat.com/projects/DROOLS/[DROOLS] JIRA project. +4. Create a new GitHub issue to track your work in the link:https://github.com/apache/incubator-kie-drools/issues[GitHub Issues]. 5. Do and commit the code changes on the new branch. * Please don't forget to cover your changes with tests. We require each code change to be covered by tests. -* The commit(s) need to start with the JIRA issue ID, such as DROOLS-1946. This ensures the commits are cross-referenced in JIRA, so we can see all commits for a given issue there. +* The commit(s) need to start with the GitHub issue ID, such as [incubator-kie-drools-6136]. This ensures the commits are cross-referenced in GitHub Issues, so we can see all commits for a given issue there. * In general, please try to avoid combining unrelated issues or changes into the same commit or pull request. If you want to contribute multiple contributions, please split them into separate pull requests. * Please make sure your changes don't break other parts of the project or tests. To run all tests, please refer to <<intro-building-the-source_{context},Building the {PRODUCT} source code>>. 6. Push the new branch to your GitHub forked repository. It is usually a good thing to link:https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork[sync your local branch] with the latest changes from the main {PRODUCT} source code repository before pushing your new branch. diff --git a/drools-docs/src/modules/ROOT/pages/introduction/index.adoc b/drools-docs/src/modules/ROOT/pages/introduction/index.adoc index 539ce9c1d1..749266c93a 100644 --- a/drools-docs/src/modules/ROOT/pages/introduction/index.adoc +++ b/drools-docs/src/modules/ROOT/pages/introduction/index.adoc @@ -36,7 +36,7 @@ link:https://www.drools.org/[{PRODUCT}] is a set of projects focusing on intelli 3. link:https://www.jbpm.org/[jBPM] is a toolkit for building business applications to help automate business processes and decisions. == Additional resources -link:https://github.com/kiegroup/drools/[{PRODUCT} source code] +link:https://github.com/apache/incubator-kie-drools/[{PRODUCT} source code] include::_intro-getting-involved.adoc[leveloffset=+1] include::_intro-building-the-source.adoc[leveloffset=+1] \ No newline at end of file diff --git a/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-ref.adoc b/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-ref.adoc index f33526ba07..503248db09 100644 --- a/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-ref.adoc +++ b/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-ref.adoc @@ -23,11 +23,8 @@ with the License. You may obtain a copy of the License at DRL supports the following rule action methods that you can use in DRL rule actions. You can use these methods to modify the working memory of the {RULE_ENGINE} without having to first reference a working memory instance. These methods act as shortcuts to the methods provided by the `RuleContext` class in your {PRODUCT} distribution. For all rule action methods, -ifdef::DM,PAM[] -download the *{PRODUCT_PAM} {PRODUCT_VERSION_LONG} Source Distribution* ZIP file from the https://access.redhat.com/jbossnetwork/restricted/listSoftware.html[Red Hat Customer Portal] and navigate to `~/{PRODUCT_FILE}-sources/src/kie-api-parent-$VERSION/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java`. -endif::[] ifdef::DROOLS,JBPM,OP[] -see the {PRODUCT} https://github.com/kiegroup/droolsjbpm-knowledge/blob/{COMMUNITY_VERSION_BRANCH}/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java[RuleContext.java] page in GitHub. +see the {PRODUCT} https://github.com/apache/incubator-kie-drools/blob/{COMMUNITY_VERSION_BRANCH}/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java[RuleContext.java] page in GitHub. endif::[] `set`:: diff --git a/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-variables-ref.adoc b/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-variables-ref.adoc index e2b469ff54..de92544aa5 100644 --- a/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-variables-ref.adoc +++ b/drools-docs/src/modules/ROOT/pages/language-reference-traditional/_drl-rules-THEN-methods-variables-ref.adoc @@ -23,11 +23,8 @@ with the License. You may obtain a copy of the License at In addition to the standard rule action methods, the {RULE_ENGINE} supports methods in conjunction with the predefined `drools` variable that you can also use in rule actions. You can use the `drools` variable to call methods from the `org.kie.api.runtime.rule.RuleContext` class in your {PRODUCT} distribution, which is also the class that the standard rule action methods are based on. For all `drools` rule action options, -ifdef::DM,PAM[] -download the *{PRODUCT_PAM} {PRODUCT_VERSION_LONG} Source Distribution* ZIP file from the https://access.redhat.com/jbossnetwork/restricted/listSoftware.html[Red Hat Customer Portal] and navigate to `~/{PRODUCT_FILE}-sources/src/kie-api-parent-$VERSION/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java`. -endif::[] ifdef::DROOLS,JBPM,OP[] -see the {PRODUCT} https://github.com/kiegroup/droolsjbpm-knowledge/blob/{COMMUNITY_VERSION_BRANCH}/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java[RuleContext.java] page in GitHub. +see the {PRODUCT} https://github.com/apache/incubator-kie-drools/blob/{COMMUNITY_VERSION_BRANCH}/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java[RuleContext.java] page in GitHub. endif::[] The `drools` variable contains methods that provide information about the firing rule and the set of facts that activated the firing rule: diff --git a/drools-docs/src/modules/ROOT/pages/language-reference/_drl-rules.adoc b/drools-docs/src/modules/ROOT/pages/language-reference/_drl-rules.adoc index f0831e3455..1cac79f3df 100644 --- a/drools-docs/src/modules/ROOT/pages/language-reference/_drl-rules.adoc +++ b/drools-docs/src/modules/ROOT/pages/language-reference/_drl-rules.adoc @@ -2717,7 +2717,7 @@ In addition to the standard rule action methods, the {RULE_ENGINE} supports meth You can use the `drools` variable to call methods from the `org.kie.api.runtime.rule.RuleContext` class in your {PRODUCT} distribution, which is also the class that the standard rule action methods are based on. For all `drools` rule action options, -see the {PRODUCT} https://github.com/kiegroup/drools/blob/main/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java[RuleContext.java] page in GitHub. +see the {PRODUCT} https://github.com/apache/incubator-kie-drools/blob/main/kie-api/src/main/java/org/kie/api/runtime/rule/RuleContext.java[RuleContext.java] page in GitHub. The `drools` variable contains methods that provide information about the firing rule and the set of facts that activated the firing rule: diff --git a/drools-docs/src/modules/ROOT/pages/migration-guide/_traditional-to-ruleunit.adoc b/drools-docs/src/modules/ROOT/pages/migration-guide/_traditional-to-ruleunit.adoc index 280a9f53b7..2342e134e7 100644 --- a/drools-docs/src/modules/ROOT/pages/migration-guide/_traditional-to-ruleunit.adoc +++ b/drools-docs/src/modules/ROOT/pages/migration-guide/_traditional-to-ruleunit.adoc @@ -21,7 +21,7 @@ with the License. You may obtain a copy of the License at = Migrate to {PRODUCT} 10 -Firstly, migration from {PRODUCT} 8 to {PRODUCT} 10 is very simple. You just need to change the version in `pom.xml`. All APIs and DRL syntax are compatible. +Firstly, migration from {PRODUCT} 8 to {PRODUCT} 10 is very simple. You just need to change the version in `pom.xml`. All APIs and DRL syntax are compatible. In addition, note that JDK 17+ is required for {PRODUCT} 10. This guide rather focuses on how to migrate from {PRODUCT} 7 projects to {PRODUCT} 10 projects. diff --git a/drools-docs/src/modules/ROOT/pages/release-notes/_release-notes-10.0.adoc b/drools-docs/src/modules/ROOT/pages/release-notes/_release-notes-10.0.adoc index 4bb82a7346..9d6aeb00f9 100644 --- a/drools-docs/src/modules/ROOT/pages/release-notes/_release-notes-10.0.adoc +++ b/drools-docs/src/modules/ROOT/pages/release-notes/_release-notes-10.0.adoc @@ -19,6 +19,25 @@ with the License. You may obtain a copy of the License at == 10.0.0 release notes -=== PLACE_HOLDER +=== DMN 1.5 support +The DMN engine now supports DMN 1.5 specification. You can refer to the OMG official documentation to learn about the introduced features, like: -PLACE_HOLDER \ No newline at end of file +* Import into the Default Namespace +* New list replace() function +* Alternative image for input Data +* New type restriction attribute typeConstraint +* Possibility to negate a duration +* Possibility to iterate time ranges +* Date type to date and time type coercion + +=== Drools Quarkus Extension + +Quarkus Extension for Drools has been introduced. You can refer link:https://github.com/apache/incubator-kie-drools/blob/main/drools-quarkus-extension/drools-quarkus-quickstart-test/guide.adoc[Drools Quarkus extension Guide] for details. + +=== DRL on YAML + +As an experimental feature, DRL on YAML has been introduced, where you can write DRL in YAML format. You can refer link:https://github.com/apache/incubator-kie-drools/tree/main/drools-drlonyaml-parent[DRL on YAML] for details. + +=== Drools Reliability + +As an experimental feature, Drools Reliability has been introduced, which supports stateful KieSession persistence. You can refer link:https://github.com/apache/incubator-kie-drools/tree/main/drools-reliability[Drools Reliability] for details. \ No newline at end of file diff --git a/drools-docs/src/modules/ROOT/pages/release-notes/index.adoc b/drools-docs/src/modules/ROOT/pages/release-notes/index.adoc index ae84fbf5de..465523644f 100644 --- a/drools-docs/src/modules/ROOT/pages/release-notes/index.adoc +++ b/drools-docs/src/modules/ROOT/pages/release-notes/index.adoc @@ -30,8 +30,7 @@ This chapter contains the release notes for the {PRODUCT} 10-series. For the release notes of the _previous releases_, you can refer to the {PRODUCT} documentation of link:https://docs.drools.org/8.44.0.Final/drools-docs/drools/release-notes/index.html[version 8]. -// This is a placeholder for adding the release notes per minor version -// include::_release-notes-10.0.adoc[leveloffset=0] +include::_release-notes-10.0.adoc[leveloffset=0] == Drools 10-series release notes diff --git a/drools-docs/src/modules/ROOT/pages/rule-engine/_engine-event-listeners-con.adoc b/drools-docs/src/modules/ROOT/pages/rule-engine/_engine-event-listeners-con.adoc index 2b2f56476a..c7fdec0a15 100644 --- a/drools-docs/src/modules/ROOT/pages/rule-engine/_engine-event-listeners-con.adoc +++ b/drools-docs/src/modules/ROOT/pages/rule-engine/_engine-event-listeners-con.adoc @@ -58,7 +58,7 @@ public interface RuleRuntimeEventListener extends EventListener { } ---- -For the definitions of event classes, see the https://github.com/kiegroup/drools/tree/{COMMUNITY_VERSION_FINAL}/drools-core/src/main/java/org/drools/core/event[GitHub repository]. +For the definitions of event classes, see the https://github.com/apache/incubator-kie-drools/tree/{COMMUNITY_VERSION_FINAL}/drools-core/src/main/java/org/drools/core/event[GitHub repository]. //ifdef::DROOLS,JBPM,OP[] //.WorkingMemoryEventManager diff --git a/drools-docs/src/modules/ROOT/pages/rule-engine/_rule-base-configuration-con.adoc b/drools-docs/src/modules/ROOT/pages/rule-engine/_rule-base-configuration-con.adoc index 9d76b3da13..dde1dd7c45 100644 --- a/drools-docs/src/modules/ROOT/pages/rule-engine/_rule-base-configuration-con.adoc +++ b/drools-docs/src/modules/ROOT/pages/rule-engine/_rule-base-configuration-con.adoc @@ -24,11 +24,8 @@ with the License. You may obtain a copy of the License at {PRODUCT} contains a `RuleBaseConfiguration.java` object that you can use to configure exception handler settings, multithreaded execution, and sequential mode in the {RULE_ENGINE}. For the rule base configuration options, -ifdef::DM,PAM[] -download the *{PRODUCT} {PRODUCT_VERSION_LONG} Source Distribution* ZIP file from the https://access.redhat.com/jbossnetwork/restricted/listSoftware.html[Red Hat Customer Portal] and navigate to `~/{PRODUCT_FILE}-sources/src/drools-$VERSION/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java`. -endif::[] ifdef::DROOLS,JBPM,OP[] -see the {PRODUCT} https://github.com/kiegroup/drools/blob/{COMMUNITY_VERSION_BRANCH}/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java[RuleBaseConfiguration.java] page in GitHub. +see the {PRODUCT} https://github.com/apache/incubator-kie-drools/blob/{COMMUNITY_VERSION_BRANCH}/drools-core/src/main/java/org/drools/core/RuleBaseConfiguration.java[RuleBaseConfiguration.java] page in GitHub. endif::[] The following rule base configuration options are available for the {RULE_ENGINE}: --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
