[jboss-jira] [JBoss JIRA] (DROOLS-2738) Create a simple, structured or compound data type

Guilherme Carreiro (JIRA) issues at jboss.org
Mon Jul 16 08:55:00 EDT 2018


    [ https://issues.jboss.org/browse/DROOLS-2738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13605530#comment-13605530 ] 

Guilherme Carreiro commented on DROOLS-2738:
--------------------------------------------

@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)


More information about the jboss-jira mailing list