Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BXMSDOC-8513 7.67.x Added alt text #4255

Merged
merged 1 commit into from
Jun 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,7 @@
DMN data types determine the structure of the data that you use within a table, column, or field in a DMN boxed expression for defining decision logic. You can use default DMN data types (such as string, number, or boolean) or you can create custom data types to specify additional fields and constraints that you want to implement for the boxed expression values. Use the DMN designer's *Data Types* tab in {CENTRAL} to define the custom data types for the traffic violations project.

.The custom data types tab
image::dmn/dmn-custom-datatypes-tab.png[]

//Alternately, you can also access the *Data Types* tab from the *Properties* tab on the right. From the *Properties* tab, click *Manage* from *Data type* under *Information item*.

//.Diagram properties tab
//image::dmn/dmn-diagram-properties-tab.png[]
image::dmn/dmn-custom-datatypes-tab.png[The custom data types tab]

The following tables list the `tDriver`, `tViolation`, and `tFine` custom data types that you will create for this project.

Expand Down Expand Up @@ -57,7 +52,7 @@ The following tables list the `tDriver`, `tViolation`, and `tFine` custom data t
. Click the check mark to the right of the new data type to save your changes.
+
.The tDriver custom data type
image::dmn/dmn-tDriver-custom-datatype.png[]
image::dmn/dmn-tDriver-custom-datatype.png[The tDriver custom data type]
. Add each of the following nested data types to the `tDriver` structured data type by clicking the plus sign next to `tDriver` for each new nested data type. Click the check mark to the right of each new data type to save your changes.
+
* `Name` (string)
Expand All @@ -70,7 +65,7 @@ image::dmn/dmn-tDriver-custom-datatype.png[]
. Click the check mark to the right of the new data type to save your changes.
+
.The tViolation custom data type
image::dmn/dmn-tViolation-custom-datatype.png[]
image::dmn/dmn-tViolation-custom-datatype.png[The tViolation custom data type]
. Add each of the following nested data types to the `tViolation` structured data type by clicking the plus sign next to `tViolation` for each new nested data type. Click the check mark to the right of each new data type to save your changes.
+
* `Code` (string)
Expand All @@ -89,7 +84,7 @@ image::dmn/dmn-tViolation-custom-datatype.png[]
. To create the `tFine` custom data type, click *New Data Type*, enter `tFine` in the *Name* field, select `Structure` from the *Type* list, and click *Save*.
+
.The tFine custom data type
image::dmn/dmn-tFine-custom-datatype.png[]
image::dmn/dmn-tFine-custom-datatype.png[The tFine custom data type]
. Add each of the following nested data types to the `tFine` structured data type by clicking the plus sign next to `tFine` for each new nested data type. Click the check mark to the right of each new data type to save your changes.
+
* `Amount` (number)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
A decision requirements diagram (DRD) is a visual representation of your DMN model. Use the DMN designer in {CENTRAL} to design the DRD for the traffic violations project and to define the decision logic of the DRD components.

.DRD for the Traffic Violations example
image::dmn/dmn-traffic-violations-drd.png[]
image::dmn/dmn-traffic-violations-drd.png[DRD for the Traffic Violations example]

.Prerequisites
* You have created the traffic violations project in {CENTRAL}.
Expand All @@ -19,17 +19,17 @@ image::dmn/dmn-traffic-violations-drd.png[]
+

.DMN Input Data nodes
image::dmn/library_objects.png[]
image::dmn/library_objects.png[DMN Input Data nodes]

. In the upper-right corner, click the image:getting-started/diagram_properties.png[] icon.
. In the upper-right corner, click the image:getting-started/diagram_properties.png[Properties] icon.
. Double-click the input nodes and rename one to `Driver` and the other to `Violation`.
. Drag a *DMN Decision* decision node onto the canvas.
. Double-click the decision node and rename it to `Fine`.
. Click the *Violation* input node, select the *Create DMN Information Requirement* icon and click the `Fine` decision node to link the two nodes.
+

.Create DMN Information Requirement icon
image::dmn/info-requirement.png[]
image::dmn/info-requirement.png[Create DMN Information Requirement icon]

. Drag a *DMN Decision* decision node onto the canvas.
. Double-click the decision node and rename it to `Should the driver be suspended?`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
To calculate the fine and to decide whether the driver is to be suspended or not, you can define the traffic violations DMN decision logic using a DMN decision table and context boxed expression.

.Fine expression
image::dmn/dmn-gs-fine-decision-table.png[]
image::dmn/dmn-gs-fine-decision-table.png[Fine expression decision table]

.Should the driver be suspended expression
image::dmn/dmn-gs-context-table.png[]
image::dmn/dmn-gs-context-table.png[Should the driver be suspended expression decision table]

.Prerequisites
* You have assigned the DMN custom data types to the appropriate decision and input nodes in the traffic violations DRD in {CENTRAL}.
Expand All @@ -17,13 +17,13 @@ image::dmn/dmn-gs-context-table.png[]
+

.Decision node edit icon
image::dmn/decision_node_edit.png[]
image::dmn/decision_node_edit.png[Decision node edit icon]

. Click *Select expression* -> *Decision Table*.
+

.Select Decisiong Table logic type
image::dmn/select_logic_type.png[]
image::dmn/select_logic_type.png[Select logic type menu]

. For the *Violation.Date*, *Violation.Code*, and *Violation.Speed Limit* columns, right-click and select *Delete* for each field.
. Click the *Violation.Actual Speed* column header and enter the expression `Violation.Actual Speed - Violation.Speed Limit` in the *Expression* field."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,13 @@ For this example, create a new project called `traffic-violation`. A project is
.Procedure
. In {CENTRAL}, go to *Menu* -> *Design* -> *Projects*.
+

{PRODUCT} provides a default space called *MySpace*, as shown in the following image. You can use the default space to create and test example projects.
+

.Default space
image::getting-started/spaces-teams.png[]

{PRODUCT} provides a default space called *MySpace*. You can use the default space to create and test example projects.
. Click *Add Project*.
. Enter `traffic-violation` in the *Name* field.
. Click *Add*.
+

.Add Project window
image::dmn/dmn-new-project-gs.png[]
image::dmn/dmn-new-project-gs.png[Add project window]
+
The *Assets* view of the project opens.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Use the test scenarios designer in {CENTRAL} to test the DMN decision requirements diagrams (DRDs) and define decision logic for the traffic violations project.

.Test scenario for the traffic violations example
image::dmn/dmn-gs-traffic-violation-test-scenarios.png[]
image::dmn/dmn-gs-traffic-violation-test-scenarios.png[Test scenario for the traffic violations example]

.Prerequisites
* You have successfully built the traffic violations project in {CENTRAL}.
Expand Down Expand Up @@ -76,9 +76,6 @@ Right-click the fourth row and select *Insert row below* to add another row.
. Click the *Play* icon image:dmn/dmn-play-icon.png[] to check whether the test scenarios pass or fail.
+
.Test scenario execution result for the traffic violations example
image::dmn/dmn-gs-test-scenarios-execution-results.png[]
image::dmn/dmn-gs-test-scenarios-execution-results.png[Test scenario execution result for the traffic violations example]
+
In case of failure, correct the errors and run the test scenarios again.

//.DRD for the Traffic Violation example
//image::dmn/dmn-traffic-violations-drd.png[]
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ A business process is a diagram that describes the order in which a series of st

The sample *Mortgage_Process* contains the following predefined *MortgageApprovalProcess* business process.

image:getting-started/sampleBP.png[]
image:getting-started/sampleBP.png[screen capture of the mortgageApprovalProcess business process]
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The *Package* specifies the location inside the existing project where the asset

. Click *Ok*. The diagram editor opens.
. In the upper-right corner, click the *Properties* image:getting-started/diagram_properties.png[] icon.
. Scroll down and expand *Process Data* and click image:getting-started/btn_plus.png[] in the *Process Variables* section.
. Scroll down and expand *Process Data* and click image:getting-started/btn_plus.png[the plus sign icon] in the *Process Variables* section.
. Enter the following values:
+
* *Name*: `application`
Expand All @@ -26,23 +26,23 @@ This section shows you how to create outgoing connections, exclusive gateways, a

{PRODUCT} contains a predefined selection of node types to simplify business process creation. The predefined node panel is located on the left side of the diagram editor.

image:getting-started/node_panel.png[]
image:getting-started/node_panel.png[screen capture of the node panel]

.Procedure
. Drag a start event node onto the canvas.
. Create an outgoing connection from the start event to an exclusive gateway:
.. On the canvas, click the start event node and click the *Create Parallel* icon.
+
image::getting-started/create-parallel.png[]
image::getting-started/create-parallel.png[screen capture of the event node and the Create Parallel icon]
.. Hover over the image:getting-started/config-icon.png[] icon of the parallel and click the *Convert into Exclusive* icon.
+
image::getting-started/exclusive-gateway.png[]
image::getting-started/exclusive-gateway.png[screen capture of the event node and the Convert into Exclusive icon]

. Create an outgoing connection from the exclusive gateway to a business rule task:
.. On the canvas, click the exclusive gateway and click the *Create Task* icon.
.. Hover over the image:getting-started/config-icon.png[] icon of the task and click the *Convert into Business Rule* icon.
+
image::getting-started/bus-rule-task.png[]
image::getting-started/bus-rule-task.png[screen capture of the Convert into Business Rule icon]

. Configure the business rule task:

Expand All @@ -56,7 +56,7 @@ image::getting-started/bus-rule-task.png[]
----
System.out.println(application.getProperty());
----
.. Expand *Data Assignments* and click image:getting-started/btn_assign.png[] next to *Assignments*.
.. Expand *Data Assignments* and click image:getting-started/btn_assign.png[the Assign icon] next to *Assignments*.
.. In the *Validation Data I/O* window, click *Add* and create the following assignments:
* Data Inputs and Assignements
** Name: application
Expand All @@ -82,39 +82,39 @@ This section shows you how to define the validation data that determines whether
.. Click the *Validation* task and click the *Create Parallel* icon.
.. Hover over the image:getting-started/config-icon.png[] icon of the parallel and click the *Convert into Exclusive* icon.
+
image::getting-started/exclusive_gateway.png[]
image::getting-started/exclusive_gateway.png[screen capture of the Convert into Exclusive icon]

. Create an outgoing connection from the exclusive gateway to a new business rule task:
.. Click the exclusive gateway and click the *Create Task* icon.
.. Drag the new task below the exclusive gateway as shown in the following image.
.. Hover over the image:getting-started/config-icon.png[] icon of the task and click the *Convert into Business Rule* icon.
+
image::getting-started/new_br_task.png[]
image::getting-started/new_br_task.png[screen capture of the Increase Down Payment Data I/O]
.. If the *Properties* panel is not open, click the *Properties* image:getting-started/diagram_properties.png[] icon in the upper-right corner.
.. In the *Properties* panel, enter `Retract Validation` in the *Name* field.
.. Expand *Implementation/Execution*, select *New* from the *Rule Flow Group* menu, and input `error`.

. Configure the connection between the exclusive gateway and the business rule task:
.. Click the connection.
+
image::getting-started/created-connection.png[]
image::getting-started/created-connection.png[screen capture of the business process with connections]
.. If the *Properties* panel is not open, click the *Properties* image:getting-started/diagram_properties.png[] icon in the upper-right corner.
.. In the *Properties* panel, enter `Invalid` in the *Name* field.
.. Expand *Implementation/Execution* and select *Expression* in the *Condition Expression* section.
.. From the list, select *drools* and enter `ValidationErrorDO()` in the *Condition Expression* field.
+
image::getting-started/languagedropdown.png[]
image::getting-started/languagedropdown.png[screen capture of the Condition Expression dialog]

. Create an outgoing connection from the *Retract Validation* task to a new user task:
.. Click the *Retract Validation* task and click the *Create Task* icon.
.. Drag the new task below the *Validation* task as shown below.
.. Hover over the image:getting-started/config-icon.png[] icon of the task and click the *Convert into User* icon.
+
image::getting-started/user_task.png[]
image::getting-started/user_task.png[screen capture of the business process and the Convert into User icon]
.. Click the new user task and in the *Properties* panel, enter `Correct Data` in the *Name* field.
.. Expand *Implementation/Execution* and enter `CorrectData` in the *Task Name* field.
.. Select *New* from the *Groups* menu, and input `broker`.
.. Click image:getting-started/btn_assign.png[] next to *Assignments*.
.. Click image:getting-started/btn_assign.png[the Assign icon] next to *Assignments*.
.. In the *Correct Data Data I/O* window, click *Add* and create the following assignments:
** Name: application
** Data Type: Application [com.myspace.mortgage_app]
Expand All @@ -131,7 +131,7 @@ image::getting-started/correct-data-io.png[Screen capture of the Correct Data Da

. Click the *Correct Data* user task then click the *Create sequence Flow* icon and drag it back to the first exclusive gateway. Your workflow should look similar to the following diagram:
+
image::getting-started/workflow1.png[]
image::getting-started/workflow1.png[screen capture of the completed business process]

== Calculating the mortgage
The mortgage calculation business process determines the applicant's mortgage borrowing limit.
Expand All @@ -143,16 +143,17 @@ The mortgage calculation business process determines the applicant's mortgage bo
.. From the list, select *drools* and enter `not ValidationErrorDO()` in the *Condition Expression* field.
. Click the new business rule task and in the *Properties* panel, input `Mortgage Calculation` in the *Name* field.
+
image::getting-started/validconnection.png[]
image::getting-started/validconnection.png[screen capture of the business process]

.. Expand *Implementation/Execution*, select *New* from the *Rule Flow Group* menu, and input `mortgagecalculation`.
. Expand *Data Assignments* and click image:getting-started/btn_assign.png[] next to *Assignments*.
. Expand *Data Assignments* and click image:getting-started/btn_assign.png[the Assign icon] next to *Assignments*.
. In the *Mortgage Calculation Data I/O* window, click *Add* to create the following assignments and click *Save*.
+

.Mortgage Calculation Data I/O assignments
image::getting-started/mortgage-calc-assignments.png[screen capture of the Mortgage Calculation Data I/O assignments]

. Click an empty space on the canvas, scroll down, expand *Process Data*, and click image:getting-started/btn_plus.png[] next to *Process Variables*. Enter the following values:
. Click an empty space on the canvas, scroll down, expand *Process Data*, and click image:getting-started/btn_plus.png[the plus sign icon] next to *Process Variables*. Enter the following values:

* *Name*: `inlimit`
* *Data Type*: `Boolean`
Expand All @@ -161,7 +162,7 @@ image::getting-started/mortgage-calc-assignments.png[screen capture of the Mortg
. Click the user task, enter `Qualify` in the *Name* field.
. Expand *Implementation/Execution* and enter `Qualify` in the *Task Name* field.
. Select *New* from the *Groups* menu, and input `approver`.
. Click image:getting-started/btn_assign.png[] next to *Assignments*. In the *Qualify Data I/O* window, click *Add* to create the following assignments:
. Click image:getting-started/btn_assign.png[the Assign icon] next to *Assignments*. In the *Qualify Data I/O* window, click *Add* to create the following assignments:
+
.Qualify Data I/O assignments
image::getting-started/qualify-io.png[Screen capture of the Qualify Data I/O assignments]
Expand All @@ -174,12 +175,12 @@ image::getting-started/qualify-io.png[Screen capture of the Qualify Data I/O ass
. Expand *Implementation/Execution* and select *Condition* in the *Condition Expression* section.
. Select *inlimit* from the *Process Variable* drop-down menu and select *Is true* from the *Condition* drop-down menu.
+
image::getting-started/inlimit-true.png[]
image::getting-started/inlimit-true.png[screen caputure of the expanded Implementation/Execution panel]

. Click the user task, enter `Final Approval` in the *Name* field.
. Expand *Implementation/Execution* and enter `FinalApproval` in the *Task Name* field.
. Select *New* from the *Groups* menu, and input `manager`.
. Click image:getting-started/btn_assign.png[] next to *Assignments*. In the *Final Approval Data I/O* window, click *Add* to create the following assignments:
. Click image:getting-started/btn_assign.png[the Assign icon] next to *Assignments*. In the *Final Approval Data I/O* window, click *Add* to create the following assignments:
+
.Final Approval Data I/O assignments
image::getting-started/approval-io.png[Screen capture of the Final Approval Data I/O assignments]
Expand All @@ -193,26 +194,26 @@ The Increasing the Down Payment business process checks to see if the applicant
. Click the *Final Approval* user task and select *Create End* from the user task quick menu.
. Move the end event below the *Final Approval* user task.
+
image::getting-started/create_end.png[]
image::getting-started/create_end.png[screen capture of the Final Approval user task and end event]

. Return to the exclusive gateway that connects with the *Final Approval* user task. Create a second outgoing connection and connect it to a new user task.
+
image::getting-started/new-task.png[]
image::getting-started/new-task.png[screen capture of the business process and the second outgoing connection]

. Click the connection and input `Not in Limit` in the *Name* field of the *Properties* panel.
. Expand *Implementation/Execution* and select *Condition* in the *Condition Expression* section.
. Select *inlimit* from the *Process Variable* drop-down menu and select *Is false* from the *Condition* drop-down menu.
. Click an empty space on the canvas, scroll down, expand *Process Data*, and click image:getting-started/btn_plus.png[] next to *Process Variables*. Enter the following values:
. Click an empty space on the canvas, scroll down, expand *Process Data*, and click image:getting-started/btn_plus.png[the plus sign icon] next to *Process Variables*. Enter the following values:
+
* *Name*: `incdownpayment`
* *Data Type*: `Boolean`
+
image::getting-started/proc-var-new.png[]
image::getting-started/proc-var-new.png[screen capture of the Process Data dialog]

. Click the new user task and in the *Properties* panel, input `Increase Down Payment` in the *Name* field.
. Expand *Implementation/Execution* and enter `IncreaseDownPayment` in the *Task Name* field.
. Select *New* from the *Groups* menu, and input `broker`.
. Click image:getting-started/btn_assign.png[] next to *Assignments*. In the *Increase Down Payment Data I/O* window, click *Add* to create the following assignments:
. Click image:getting-started/btn_assign.png[the Assign icon] next to *Assignments*. In the *Increase Down Payment Data I/O* window, click *Add* to create the following assignments:
+
.Increase Down Payment Data I/O assignments
image::getting-started/increase-down-io.png[Screen capture of the Increase Down Payment Data I/O assignments]
Expand Down
Loading