[
https://issues.jboss.org/browse/DROOLS-2738?page=com.atlassian.jira.plugi...
]
Guilherme Carreiro edited comment on DROOLS-2738 at 7/16/18 8:58 AM:
---------------------------------------------------------------------
[~uxdlc],
Thank you for the new ideas. It's nice to see new approaches for this problem.
Given this structure:
- Person
-- name (String)
-- age (String)
-- address (Address)
--- city_name (String)
--- street (String)
--- zipcode (String)
I'm going to describe the steps that the user would need to do to define the structure
above.
// First, the user needs to create fields for "Address"
1 - type "city_name" in the "Name Data Type" input;
2 - drag "String" from the "Basic" section and drop in the big
square;
3 - click on "Add"
4 - type "street" in the "Name Data Type" input;
5 - drag "String" from the "Basic" section and drop in the big
square;
6 - click on "Add"
7 - type "zipcode" in the "Name Data Type" input;
8 - drag "String" from the "Basic" section and drop in the big
square;
9 - click on "Add"
// and then, the user creates the "Address" structure
11 - type "Address" in the "Name Data Type" input;
12 - drag "city_name" from the "Custom" section and drop in the big
square;
13 - drag "street" from the "Custom" section and drop in the big
square;
14 - drag "zipcode" from the "Custom" section and drop in the big
square;
15 - click on "Add"
// and then, the user needs to create fields for "Person"
16 - type "name" in the "Name Data Type" input;
17 - drag "String" from the "Basic" section and drop in the big
square;
18 - click on "Add"
19 - type "age" in the "Name Data Type" input;
20 - drag "Number" from the "Basic" section and drop in the big
square;
21 - click on "Add"
22 - type "address" in the "Name Data Type" input;
23 - drag "Address" from the "Structured" section and drop in the big
square;
24 - click on "Add"
// and then, the user creates the "Person" structure
25 - type "Person" in the "Name Data Type" input;
26 - drag "name" from the "Custom" section and drop in the big
square;
27 - drag "age" from the "Custom" section and drop in the big square;
28 - drag "address" from the "Custom" section and drop in the big
square;
29 - click on "Add"
I liked this model because everything is pretty explicit. However, the user needs to think
in the entity from the most nested node to the top (from Address to the Person), and not
the opposite. This can be difficult in deeply nested structures.
I think that is more intuitive for the user to create the entity Person and then create
the entity Address (on demand). But, it's my personal opinion.
Thanks again, Liz. Please let know if I'm getting the steps wrong.
was (Author: karreiro):
@Liz,
Thank you for the new ideas. It's nice to see new approaches for this problem.
Given this structure:
- Person
-- name (String)
-- age (String)
-- address (Address)
--- city_name (String)
---- street (String)
---- zipcode (String)
I'm going to describe the steps that the user would need to do to define the structure
above.
// First, the user needs to create fields for "Address"
1 - type "city_name" in the "Name Data Type" input;
2 - drag "String" from the "Basic" section and drop in the big
square;
3 - click on "Add"
4 - type "street" in the "Name Data Type" input;
5 - drag "String" from the "Basic" section and drop in the big
square;
6 - click on "Add"
7 - type "zipcode" in the "Name Data Type" input;
8 - drag "String" from the "Basic" section and drop in the big
square;
9 - click on "Add"
// and then, the user creates the "Address" structure
11 - type "Address" in the "Name Data Type" input;
12 - drag "city_name" from the "Custom" section and drop in the big
square;
13 - drag "street" from the "Custom" section and drop in the big
square;
14 - drag "zipcode" from the "Custom" section and drop in the big
square;
15 - click on "Add"
// and then, the user needs to create fields for "Person"
16 - type "name" in the "Name Data Type" input;
17 - drag "String" from the "Basic" section and drop in the big
square;
18 - click on "Add"
19 - type "age" in the "Name Data Type" input;
20 - drag "Number" from the "Basic" section and drop in the big
square;
21 - click on "Add"
22 - type "address" in the "Name Data Type" input;
23 - drag "Address" from the "Structured" section and drop in the big
square;
24 - click on "Add"
// and then, the user creates the "Person" structure
25 - type "Person" in the "Name Data Type" input;
26 - drag "name" from the "Custom" section and drop in the big
square;
27 - drag "age" from the "Custom" section and drop in the big square;
28 - drag "address" from the "Custom" section and drop in the big
square;
29 - click on "Add"
I liked this model because everything is pretty explicit. However, the user needs to think
in the entity from the most nested node to the top (from Address to the Person), and not
the opposite. This can be difficult in deeply nested structures.
I think that is more intuitive for the user to create the entity Person and then create
the entity Address (on demand). But, it's my personal opinion.
Thanks again, Liz. Please let know if I'm getting the steps wrong.
Create a simple, structured or compound data type
-------------------------------------------------
Key: DROOLS-2738
URL:
https://issues.jboss.org/browse/DROOLS-2738
Project: Drools
Issue Type: Sub-task
Reporter: Liz Clayton
Assignee: Liz Clayton
Attachments: customDO-drilldown.pdf
We're trying to solve two big issues with this dialog:
I) the definition of a simple (basic) data type; and
II) the definition of a structured data type.
* The first one is kind of easy, we just need to provide to the user an input and a
select, in order to capture the name and the type of a simple data type.
* The second problem is a little bit more difficult. Because the user needs to be able to
define complex data types, with nested structures. For example, the user can create a data
type called Person with 3 nested fields (they are simple data types) Additionally, a
structured data type can have other complex nested data types.
* Requirement to address situations where we're going to have many levels of nesting
and many fields. The user should be able to: a) navigate between levels; b)
expand/collapse nested types; c) create complex data structures easily.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)