[JBoss JIRA] (DROOLS-3061) [DMN Designer] Automatic Layout Feature
by Roger Martínez (Jira)
[ https://issues.jboss.org/browse/DROOLS-3061?page=com.atlassian.jira.plugi... ]
Roger Martínez commented on DROOLS-3061:
----------------------------------------
[~manstis] yeahh well it's really easy to show a notification to the user like we do in Stunner for other things, so I proposed this for closing the actual PR, but just my opinion, my proposal, so feel free guys to add yours :)
Also agree about CM... although at some point we could even reuse that same API in both lienzo/stunner(graph)... not sure, was just brainstorming also with [~dadossan], anyway that's looong term, no worries.
Thanks!
> [DMN Designer] Automatic Layout Feature
> ---------------------------------------
>
> Key: DROOLS-3061
> URL: https://issues.jboss.org/browse/DROOLS-3061
> Project: Drools
> Issue Type: Epic
> Components: DMN Editor
> Reporter: Jozef Marko
> Assignee: Daniel José dos Santos
> Priority: Major
> Labels: drools-tools
>
> DMN Designer should *autolayout* new imported DMN models. The *autolayout* should position DRG diagram nodes into horizontal layers to minimize crossing of connectors with respect of *Top-Down* importance. It means if nodes *Layer B* are inputs for nodes in *Layer A* then the *Layer B* will be below *Layer A*. The *autolayout* should also try to minimize scrolling needed to see whole DRG diagram.
> User should also have possibility to invoke *autolayout* feature any time during designing the diagram. In this case the action should be undoable with the *Undo* toolbar button.
> The approach used to achieve this is the Sugiyama Method, which is done in 4 steps. Each step have its own set of algorithms. For each step, we selected one of the available algorithms to implement, based on our current needs and time to develop:
> *Step 1 - Cycle breaking:* We break cycles in diagram by reversing some edges (they are de-reversed in the end). This step are required because we need ending points in step 2 while sweeping through graph;
> *Step 2 - Layering:* We sweep through graph (diagram) and put each node (vertex) in a layer, based on it's distance from others node. For edges that crosses multiple layers, we create virtual vertices connecting those. They are removed at the end.
> This approach usually puts the start nodes at the top and the deepest nodes at the end. In the current implementation we're using Longest Path algorithm. A better approach can be developed in future using Network Simplex;
> *Step 3 - Node Ordering:* We order each node (vertex) inside its layers in order to reduce crossing, using median. Another approach that can be used is barycenter.
> *Step 4 - Node Positioning:* We de-reverse nodes reversed in step 1 and remove virtual nodes reconnecting the concrete nodes. Then we calculate the position of each node. This step can be divided in two steps: one for horizontal position and other for vertical for better positioning. Currently we're using a simple approach: every block of nodes inside the layers is centered and the distance between layers is the same. So it will produce results like the attachment "Automatic Layout Demo".
> *Architecture*
> From the design of view the goals are:
> * +Layout Public interface & DMN implementation+
> ** The goal for this API is to provide the layout declaration data for an input Graph (DMN, BPMN, etc) instance. It will NOT mutate the graph structure and/or data at all. This way it will provide methods for calculating the candidate locations for the graph elements. even could be the case the elements must be resized as well, and it returns on some result data object that specifies the necessary updates to be done on the elements. So the resulting layout data will be consumed by another component that will use the _command API_ in order to perform the necessary updates (location, size) for the graph' elements.
> ** Build a well defined layout API (shared) on some _api_ module
> ** Build the requested layout implementation specific for DMN inside some DMN shared module (considering the implementation is shared between client and server)
> ** Any other common or base classes can be placed inside the _commons_ module
> * +Designer integration+
> ** Once having the layout API and implementations, next step is to consume this API in order to obtain the layout data and use it to mutate the graph structure. So we need some kind of component for this, for example we can name it as _LayoutExecutor_.
> ** Create some default layout executor which will consume the layout API and use the command API to perform the updates on the model (graph) via "commands", this way we can undo/redo all the operations on the designer
> ** [Optional] This designer integration can be done as generic, and so reuse it for other domains like BPMN, or just specific for DMN
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3061) [DMN Designer] Automatic Layout Feature
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3061?page=com.atlassian.jira.plugi... ]
Michael Anstis commented on DROOLS-3061:
----------------------------------------
[~roger600] IIUC, Iteration 1 "If automatic layout performed, show a notification to the use" is not implemented in the referenced PR.
Furthermore, a small correction, Future iterations: "Using the layout capabilities in other editors (like BPMN, CM)" CM will not require it as it lays nodes differently (i.e. it stacks tasks vertically over sub-processes - or something like that).
> [DMN Designer] Automatic Layout Feature
> ---------------------------------------
>
> Key: DROOLS-3061
> URL: https://issues.jboss.org/browse/DROOLS-3061
> Project: Drools
> Issue Type: Epic
> Components: DMN Editor
> Reporter: Jozef Marko
> Assignee: Daniel José dos Santos
> Priority: Major
> Labels: drools-tools
>
> DMN Designer should *autolayout* new imported DMN models. The *autolayout* should position DRG diagram nodes into horizontal layers to minimize crossing of connectors with respect of *Top-Down* importance. It means if nodes *Layer B* are inputs for nodes in *Layer A* then the *Layer B* will be below *Layer A*. The *autolayout* should also try to minimize scrolling needed to see whole DRG diagram.
> User should also have possibility to invoke *autolayout* feature any time during designing the diagram. In this case the action should be undoable with the *Undo* toolbar button.
> The approach used to achieve this is the Sugiyama Method, which is done in 4 steps. Each step have its own set of algorithms. For each step, we selected one of the available algorithms to implement, based on our current needs and time to develop:
> *Step 1 - Cycle breaking:* We break cycles in diagram by reversing some edges (they are de-reversed in the end). This step are required because we need ending points in step 2 while sweeping through graph;
> *Step 2 - Layering:* We sweep through graph (diagram) and put each node (vertex) in a layer, based on it's distance from others node. For edges that crosses multiple layers, we create virtual vertices connecting those. They are removed at the end.
> This approach usually puts the start nodes at the top and the deepest nodes at the end. In the current implementation we're using Longest Path algorithm. A better approach can be developed in future using Network Simplex;
> *Step 3 - Node Ordering:* We order each node (vertex) inside its layers in order to reduce crossing, using median. Another approach that can be used is barycenter.
> *Step 4 - Node Positioning:* We de-reverse nodes reversed in step 1 and remove virtual nodes reconnecting the concrete nodes. Then we calculate the position of each node. This step can be divided in two steps: one for horizontal position and other for vertical for better positioning. Currently we're using a simple approach: every block of nodes inside the layers is centered and the distance between layers is the same. So it will produce results like the attachment "Automatic Layout Demo".
> *Architecture*
> From the design of view the goals are:
> * +Layout Public interface & DMN implementation+
> ** The goal for this API is to provide the layout declaration data for an input Graph (DMN, BPMN, etc) instance. It will NOT mutate the graph structure and/or data at all. This way it will provide methods for calculating the candidate locations for the graph elements. even could be the case the elements must be resized as well, and it returns on some result data object that specifies the necessary updates to be done on the elements. So the resulting layout data will be consumed by another component that will use the _command API_ in order to perform the necessary updates (location, size) for the graph' elements.
> ** Build a well defined layout API (shared) on some _api_ module
> ** Build the requested layout implementation specific for DMN inside some DMN shared module (considering the implementation is shared between client and server)
> ** Any other common or base classes can be placed inside the _commons_ module
> * +Designer integration+
> ** Once having the layout API and implementations, next step is to consume this API in order to obtain the layout data and use it to mutate the graph structure. So we need some kind of component for this, for example we can name it as _LayoutExecutor_.
> ** Create some default layout executor which will consume the layout API and use the command API to perform the updates on the model (graph) via "commands", this way we can undo/redo all the operations on the designer
> ** [Optional] This designer integration can be done as generic, and so reuse it for other domains like BPMN, or just specific for DMN
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3061) [DMN Designer] Automatic Layout Feature
by Roger Martínez (Jira)
[ https://issues.jboss.org/browse/DROOLS-3061?page=com.atlassian.jira.plugi... ]
Roger Martínez edited comment on DROOLS-3061 at 10/17/18 7:26 PM:
------------------------------------------------------------------
Hey [~dadossan] [~jomarko] [~manstis]
Sharing the minutes from a call with [~dadossan]: Please feel free to add your feedback/comments as well, for now that's the way we're trying to move forward... thanks in advance!
*Iteration #1*
* Goals
** Build the layout API and the specific implementation required on DMN
** Perform the automatic layout once opening DMN a diagram, if it does not contains layout info - this operation CANNOT be undone/redone and it only affects the DMN editors
** If automatic layout performed, show a notification to the user "The diagram has no layout information. It has been automatically layout, please save changes in order to keep this layout."
This iteration is actually on status [PR sent|https://github.com/kiegroup/kie-wb-common/pull/2174].
*Iteration #2*
* Goals
** Add a toolbar button to perform the automatic layout operation
** Allow to undo/redo the button's action
** Show the notification to the user as in _Iteration #1_
No progress on the second iteration yet.
*Future iterations*
In future releases we can consider:
* Using the layout capabilities in other editors (like BPMN, CM)
* Adding more layout implementations (vertical, horizontal, grid)
* Support layout for just a set of elements in the graph (eg: all children for a given parent, selected elements) - could make sense to consider using incremental layout executions to avoid performance and memory issues
was (Author: roger600):
Hey [~dadossan] [~jomarko] [~manstis]
Sharing the minutes from a call with [~dadossan]: Please feel free to add your feedback/comments as well, for now that's the way we're trying to move forward... thanks in advance!
*Iteration #1*
* Goals
** Build the layout API and the specific DMN implementation
** Perform the automatic layout once opening DMN a diagram, if it does not contains layout info - this operation CANNOT be undone/redone and it only affects the DMN editors
** If automatic layout performed, show a notification to the user "The diagram has no layout information. It has been automatically layout, please save changes in order to keep this layout."
This iteration is actually on status [PR sent|https://github.com/kiegroup/kie-wb-common/pull/2174].
*Iteration #2*
* Goals
** Add a toolbar button to perform the automatic layout operation
** Allow to undo/redo the button's action
** Show the notification to the user as in _Iteration #1_
No progress on the second iteration yet.
*Future iterations*
In future releases we can consider:
* Using the layout capabilities in other editors (like BPMN, CM)
* Adding more layout implementations (vertical, horizontal, grid)
* Support layout for just a set of elements in the graph (eg: all children for a given parent, selected elements) - could make sense to consider using incremental layout executions to avoid performance and memory issues
> [DMN Designer] Automatic Layout Feature
> ---------------------------------------
>
> Key: DROOLS-3061
> URL: https://issues.jboss.org/browse/DROOLS-3061
> Project: Drools
> Issue Type: Epic
> Components: DMN Editor
> Reporter: Jozef Marko
> Assignee: Daniel José dos Santos
> Priority: Major
> Labels: drools-tools
>
> DMN Designer should *autolayout* new imported DMN models. The *autolayout* should position DRG diagram nodes into horizontal layers to minimize crossing of connectors with respect of *Top-Down* importance. It means if nodes *Layer B* are inputs for nodes in *Layer A* then the *Layer B* will be below *Layer A*. The *autolayout* should also try to minimize scrolling needed to see whole DRG diagram.
> User should also have possibility to invoke *autolayout* feature any time during designing the diagram. In this case the action should be undoable with the *Undo* toolbar button.
> The approach used to achieve this is the Sugiyama Method, which is done in 4 steps. Each step have its own set of algorithms. For each step, we selected one of the available algorithms to implement, based on our current needs and time to develop:
> *Step 1 - Cycle breaking:* We break cycles in diagram by reversing some edges (they are de-reversed in the end). This step are required because we need ending points in step 2 while sweeping through graph;
> *Step 2 - Layering:* We sweep through graph (diagram) and put each node (vertex) in a layer, based on it's distance from others node. For edges that crosses multiple layers, we create virtual vertices connecting those. They are removed at the end.
> This approach usually puts the start nodes at the top and the deepest nodes at the end. In the current implementation we're using Longest Path algorithm. A better approach can be developed in future using Network Simplex;
> *Step 3 - Node Ordering:* We order each node (vertex) inside its layers in order to reduce crossing, using median. Another approach that can be used is barycenter.
> *Step 4 - Node Positioning:* We de-reverse nodes reversed in step 1 and remove virtual nodes reconnecting the concrete nodes. Then we calculate the position of each node. This step can be divided in two steps: one for horizontal position and other for vertical for better positioning. Currently we're using a simple approach: every block of nodes inside the layers is centered and the distance between layers is the same. So it will produce results like the attachment "Automatic Layout Demo".
> *Architecture*
> From the design of view the goals are:
> * +Layout Public interface & DMN implementation+
> ** The goal for this API is to provide the layout declaration data for an input Graph (DMN, BPMN, etc) instance. It will NOT mutate the graph structure and/or data at all. This way it will provide methods for calculating the candidate locations for the graph elements. even could be the case the elements must be resized as well, and it returns on some result data object that specifies the necessary updates to be done on the elements. So the resulting layout data will be consumed by another component that will use the _command API_ in order to perform the necessary updates (location, size) for the graph' elements.
> ** Build a well defined layout API (shared) on some _api_ module
> ** Build the requested layout implementation specific for DMN inside some DMN shared module (considering the implementation is shared between client and server)
> ** Any other common or base classes can be placed inside the _commons_ module
> * +Designer integration+
> ** Once having the layout API and implementations, next step is to consume this API in order to obtain the layout data and use it to mutate the graph structure. So we need some kind of component for this, for example we can name it as _LayoutExecutor_.
> ** Create some default layout executor which will consume the layout API and use the command API to perform the updates on the model (graph) via "commands", this way we can undo/redo all the operations on the designer
> ** [Optional] This designer integration can be done as generic, and so reuse it for other domains like BPMN, or just specific for DMN
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3061) [DMN Designer] Automatic Layout Feature
by Roger Martínez (Jira)
[ https://issues.jboss.org/browse/DROOLS-3061?page=com.atlassian.jira.plugi... ]
Roger Martínez commented on DROOLS-3061:
----------------------------------------
Hey [~dadossan] [~jomarko] [~manstis]
Sharing the minutes from a call with [~dadossan]: Please feel free to add your feedback/comments as well, for now that's the way we're trying to follow... thanks in advance!
*Iteration #1*
* Goals
** Build the layout API and the specific DMN implementation
** Perform the automatic layout once opening DMN a diagram, if it does not contains layout info - this operation CANNOT be undone/redone and it only affects the DMN editors
** If automatic layout performed, show a notification to the user "The diagram has no layout information. It has been automatically layout, please save changes in order to keep this layout."
This iteration is actually on status [PR sent|https://github.com/kiegroup/kie-wb-common/pull/2174].
*Iteration #2*
* Goals
** Add a toolbar button to perform the automatic layout operation
** Allow to undo/redo the button's action
** Show the notification to the user as in _Iteration #1_
No progress on the second iteration yet.
*Future iterations*
In future releases we can consider:
* Using the layout capabilities in other editors (like BPMN, CM)
* Adding more layout implementations (vertical, horizontal, grid)
* Support layout for just a set of elements in the graph (eg: all children for a given parent, selected elements) - could make sense to consider using incremental layout executions to avoid performance and memory issues
> [DMN Designer] Automatic Layout Feature
> ---------------------------------------
>
> Key: DROOLS-3061
> URL: https://issues.jboss.org/browse/DROOLS-3061
> Project: Drools
> Issue Type: Epic
> Components: DMN Editor
> Reporter: Jozef Marko
> Assignee: Daniel José dos Santos
> Priority: Major
> Labels: drools-tools
>
> DMN Designer should *autolayout* new imported DMN models. The *autolayout* should position DRG diagram nodes into horizontal layers to minimize crossing of connectors with respect of *Top-Down* importance. It means if nodes *Layer B* are inputs for nodes in *Layer A* then the *Layer B* will be below *Layer A*. The *autolayout* should also try to minimize scrolling needed to see whole DRG diagram.
> User should also have possibility to invoke *autolayout* feature any time during designing the diagram. In this case the action should be undoable with the *Undo* toolbar button.
> The approach used to achieve this is the Sugiyama Method, which is done in 4 steps. Each step have its own set of algorithms. For each step, we selected one of the available algorithms to implement, based on our current needs and time to develop:
> *Step 1 - Cycle breaking:* We break cycles in diagram by reversing some edges (they are de-reversed in the end). This step are required because we need ending points in step 2 while sweeping through graph;
> *Step 2 - Layering:* We sweep through graph (diagram) and put each node (vertex) in a layer, based on it's distance from others node. For edges that crosses multiple layers, we create virtual vertices connecting those. They are removed at the end.
> This approach usually puts the start nodes at the top and the deepest nodes at the end. In the current implementation we're using Longest Path algorithm. A better approach can be developed in future using Network Simplex;
> *Step 3 - Node Ordering:* We order each node (vertex) inside its layers in order to reduce crossing, using median. Another approach that can be used is barycenter.
> *Step 4 - Node Positioning:* We de-reverse nodes reversed in step 1 and remove virtual nodes reconnecting the concrete nodes. Then we calculate the position of each node. This step can be divided in two steps: one for horizontal position and other for vertical for better positioning. Currently we're using a simple approach: every block of nodes inside the layers is centered and the distance between layers is the same. So it will produce results like the attachment "Automatic Layout Demo".
> *Architecture*
> From the design of view the goals are:
> * +Layout Public interface & DMN implementation+
> ** The goal for this API is to provide the layout declaration data for an input Graph (DMN, BPMN, etc) instance. It will NOT mutate the graph structure and/or data at all. This way it will provide methods for calculating the candidate locations for the graph elements. even could be the case the elements must be resized as well, and it returns on some result data object that specifies the necessary updates to be done on the elements. So the resulting layout data will be consumed by another component that will use the _command API_ in order to perform the necessary updates (location, size) for the graph' elements.
> ** Build a well defined layout API (shared) on some _api_ module
> ** Build the requested layout implementation specific for DMN inside some DMN shared module (considering the implementation is shared between client and server)
> ** Any other common or base classes can be placed inside the _commons_ module
> * +Designer integration+
> ** Once having the layout API and implementations, next step is to consume this API in order to obtain the layout data and use it to mutate the graph structure. So we need some kind of component for this, for example we can name it as _LayoutExecutor_.
> ** Create some default layout executor which will consume the layout API and use the command API to perform the updates on the model (graph) via "commands", this way we can undo/redo all the operations on the designer
> ** [Optional] This designer integration can be done as generic, and so reuse it for other domains like BPMN, or just specific for DMN
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3061) [DMN Designer] Automatic Layout Feature
by Roger Martínez (Jira)
[ https://issues.jboss.org/browse/DROOLS-3061?page=com.atlassian.jira.plugi... ]
Roger Martínez edited comment on DROOLS-3061 at 10/17/18 7:25 PM:
------------------------------------------------------------------
Hey [~dadossan] [~jomarko] [~manstis]
Sharing the minutes from a call with [~dadossan]: Please feel free to add your feedback/comments as well, for now that's the way we're trying to move forward... thanks in advance!
*Iteration #1*
* Goals
** Build the layout API and the specific DMN implementation
** Perform the automatic layout once opening DMN a diagram, if it does not contains layout info - this operation CANNOT be undone/redone and it only affects the DMN editors
** If automatic layout performed, show a notification to the user "The diagram has no layout information. It has been automatically layout, please save changes in order to keep this layout."
This iteration is actually on status [PR sent|https://github.com/kiegroup/kie-wb-common/pull/2174].
*Iteration #2*
* Goals
** Add a toolbar button to perform the automatic layout operation
** Allow to undo/redo the button's action
** Show the notification to the user as in _Iteration #1_
No progress on the second iteration yet.
*Future iterations*
In future releases we can consider:
* Using the layout capabilities in other editors (like BPMN, CM)
* Adding more layout implementations (vertical, horizontal, grid)
* Support layout for just a set of elements in the graph (eg: all children for a given parent, selected elements) - could make sense to consider using incremental layout executions to avoid performance and memory issues
was (Author: roger600):
Hey [~dadossan] [~jomarko] [~manstis]
Sharing the minutes from a call with [~dadossan]: Please feel free to add your feedback/comments as well, for now that's the way we're trying to follow... thanks in advance!
*Iteration #1*
* Goals
** Build the layout API and the specific DMN implementation
** Perform the automatic layout once opening DMN a diagram, if it does not contains layout info - this operation CANNOT be undone/redone and it only affects the DMN editors
** If automatic layout performed, show a notification to the user "The diagram has no layout information. It has been automatically layout, please save changes in order to keep this layout."
This iteration is actually on status [PR sent|https://github.com/kiegroup/kie-wb-common/pull/2174].
*Iteration #2*
* Goals
** Add a toolbar button to perform the automatic layout operation
** Allow to undo/redo the button's action
** Show the notification to the user as in _Iteration #1_
No progress on the second iteration yet.
*Future iterations*
In future releases we can consider:
* Using the layout capabilities in other editors (like BPMN, CM)
* Adding more layout implementations (vertical, horizontal, grid)
* Support layout for just a set of elements in the graph (eg: all children for a given parent, selected elements) - could make sense to consider using incremental layout executions to avoid performance and memory issues
> [DMN Designer] Automatic Layout Feature
> ---------------------------------------
>
> Key: DROOLS-3061
> URL: https://issues.jboss.org/browse/DROOLS-3061
> Project: Drools
> Issue Type: Epic
> Components: DMN Editor
> Reporter: Jozef Marko
> Assignee: Daniel José dos Santos
> Priority: Major
> Labels: drools-tools
>
> DMN Designer should *autolayout* new imported DMN models. The *autolayout* should position DRG diagram nodes into horizontal layers to minimize crossing of connectors with respect of *Top-Down* importance. It means if nodes *Layer B* are inputs for nodes in *Layer A* then the *Layer B* will be below *Layer A*. The *autolayout* should also try to minimize scrolling needed to see whole DRG diagram.
> User should also have possibility to invoke *autolayout* feature any time during designing the diagram. In this case the action should be undoable with the *Undo* toolbar button.
> The approach used to achieve this is the Sugiyama Method, which is done in 4 steps. Each step have its own set of algorithms. For each step, we selected one of the available algorithms to implement, based on our current needs and time to develop:
> *Step 1 - Cycle breaking:* We break cycles in diagram by reversing some edges (they are de-reversed in the end). This step are required because we need ending points in step 2 while sweeping through graph;
> *Step 2 - Layering:* We sweep through graph (diagram) and put each node (vertex) in a layer, based on it's distance from others node. For edges that crosses multiple layers, we create virtual vertices connecting those. They are removed at the end.
> This approach usually puts the start nodes at the top and the deepest nodes at the end. In the current implementation we're using Longest Path algorithm. A better approach can be developed in future using Network Simplex;
> *Step 3 - Node Ordering:* We order each node (vertex) inside its layers in order to reduce crossing, using median. Another approach that can be used is barycenter.
> *Step 4 - Node Positioning:* We de-reverse nodes reversed in step 1 and remove virtual nodes reconnecting the concrete nodes. Then we calculate the position of each node. This step can be divided in two steps: one for horizontal position and other for vertical for better positioning. Currently we're using a simple approach: every block of nodes inside the layers is centered and the distance between layers is the same. So it will produce results like the attachment "Automatic Layout Demo".
> *Architecture*
> From the design of view the goals are:
> * +Layout Public interface & DMN implementation+
> ** The goal for this API is to provide the layout declaration data for an input Graph (DMN, BPMN, etc) instance. It will NOT mutate the graph structure and/or data at all. This way it will provide methods for calculating the candidate locations for the graph elements. even could be the case the elements must be resized as well, and it returns on some result data object that specifies the necessary updates to be done on the elements. So the resulting layout data will be consumed by another component that will use the _command API_ in order to perform the necessary updates (location, size) for the graph' elements.
> ** Build a well defined layout API (shared) on some _api_ module
> ** Build the requested layout implementation specific for DMN inside some DMN shared module (considering the implementation is shared between client and server)
> ** Any other common or base classes can be placed inside the _commons_ module
> * +Designer integration+
> ** Once having the layout API and implementations, next step is to consume this API in order to obtain the layout data and use it to mutate the graph structure. So we need some kind of component for this, for example we can name it as _LayoutExecutor_.
> ** Create some default layout executor which will consume the layout API and use the command API to perform the updates on the model (graph) via "commands", this way we can undo/redo all the operations on the designer
> ** [Optional] This designer integration can be done as generic, and so reuse it for other domains like BPMN, or just specific for DMN
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3000) Enhance data type restrictions UX and Data Type list/dialog.
by Liz Clayton (Jira)
[ https://issues.jboss.org/browse/DROOLS-3000?page=com.atlassian.jira.plugi... ]
Liz Clayton updated DROOLS-3000:
--------------------------------
Story Points: 5 (was: 3)
> Enhance data type restrictions UX and Data Type list/dialog.
> -------------------------------------------------------------
>
> Key: DROOLS-3000
> URL: https://issues.jboss.org/browse/DROOLS-3000
> Project: Drools
> Issue Type: Story
> Components: DMN Editor
> Reporter: Liz Clayton
> Assignee: Liz Clayton
> Priority: Major
> Labels: UX, UXTeam, drools-tools
> Attachments: DataType selection ('Properties Panel' and 'in-grid').png, Screen Shot 2018-08-10 at 10.23.36 AM.png, Screen Shot 2018-08-24 at 8.38.37 AM.png, Screen Shot 2018-09-28 at 2.44.59 PM.png, date-time.png, date.png, enumration-widget.png, pop-overc.png, pop-overcSpecs.png, read-mode.png, select.png, time.png
>
>
> *Background*
> Persona: Business analyst or Rules practitioner
> Use Cases:
> * From the DMN canvas view - as a user I want to define data type restrictions (one-off instances) from a decision table .
> * From the Data Types dialog - as a user I want the ability to define constraints for the following types: https://docs.google.com/spreadsheets/d/1HLYwi5JrCEU6IxWRge7RCKANLiHCL0d2E...
> Functional considerations/ pre conditions:
> * Consider interaction in light of Property panel and consistency.
> * Underscore the notion of one-off constraints.
> Verification conditions:
> * Scrum team and PO review.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3156) Explore using a full screen view instead of a dialog.
by Liz Clayton (Jira)
[ https://issues.jboss.org/browse/DROOLS-3156?page=com.atlassian.jira.plugi... ]
Liz Clayton updated DROOLS-3156:
--------------------------------
Summary: Explore using a full screen view instead of a dialog. (was: Explore using a Tab for full screen view, instead of using a dialog. )
> Explore using a full screen view instead of a dialog.
> ------------------------------------------------------
>
> Key: DROOLS-3156
> URL: https://issues.jboss.org/browse/DROOLS-3156
> Project: Drools
> Issue Type: Sub-task
> Reporter: Liz Clayton
> Assignee: Liz Clayton
> Priority: Major
>
> * Porting the list in the dialog view to a full screen would better support editing Advanced options such as Data type restrictions.
> * A lot of other editors have a "Data Object" tab (to import classes from other packages); so DMN having a "Data Types" tab would offer some degree of consistency.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months
[JBoss JIRA] (DROOLS-3156) Explore using a Tab for full screen view, instead of using a dialog.
by Liz Clayton (Jira)
Liz Clayton created DROOLS-3156:
-----------------------------------
Summary: Explore using a Tab for full screen view, instead of using a dialog.
Key: DROOLS-3156
URL: https://issues.jboss.org/browse/DROOLS-3156
Project: Drools
Issue Type: Sub-task
Reporter: Liz Clayton
Assignee: Liz Clayton
* Porting the list in the dialog view to a full screen would better support editing Advanced options such as Data type restrictions.
* A lot of other editors have a "Data Object" tab (to import classes from other packages); so DMN having a "Data Types" tab would offer some degree of consistency.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 9 months