Uploaded image for project: 'Kogito'
  1. Kogito
  2. KOGITO-3627

New DMN Boxed Expression editor

XMLWordPrintable

    • New DMN Boxed Expression editor
    • False
    • False
    • In Progress
    • 7% To Do, 0% In Progress, 93% Done
    • Undefined
    • ---
    • ---
    • 2020 Week 43-45 (from Okt 19), 2020 Week 46-48 (from Nov 9), 2020 Week 49-51 (from Nov 30), 2020 Week 52-03 (from Dec 21), 2021 Week 04-06 (from Jan 25), 2021 Week 07-09 (from Feb 15), 2021 Week 10-12 (from Mar 8), 2021 Week 13-15 (from Mar 29), 2021 Week 16-18 (from Apr 19), 2021 Week 19-21 (from May 10), 2021 Week 22-24 (from May 31), 2021 Week 25-27 (from Jun 21), 2021 Week 28-30 (from Jul 12), 2021 Week 31-33 (from Aug 2), 2021 Week 34-36 (from Aug 23), 2021 Week 37-39 (from Sep 13), 2021 Week 40-42 (from Oct 4), 2021 Week 43-45 (from Oct 25), 2021 Week 46-48 (from Nov 15), 2021 Week 49-51 (from Dec 6th), 2022 Week 02-04 (from Jan 10)

      Technical analysis and task splitting are available there: https://docs.google.com/document/d/1D3Sr_dnpfH-UI1khB8CA1CvZhV-Pp9kv1OJIgeapz3w/edit

       

      The DMN boxed expression editor is one of the main components in the DMN editor. It handles a variety of decision logic types, and it has many layers of complexity.

      The current implementation of the boxed expression editor works fine. However, it's a Canvas based component. Even working nicely, it leads to limitations like: I) the HiDPI intermittent issue (DROOLS-5295); II) performance concerns associated with the number of rows (BAPL-1653); III) and the main limitation of not having cells with highlighted FEEL expressions.

      To address these issues, this BAPL comprehends the re-write of the DMN boxed expression component by following the new architectural standards followed by Kogito-based projects.

      The new boxed expression editor component must cover all features already covered by the current implementation:

      • Support for Literal Expressions definition
      • Support for Contexts definition
      • Support for Decision Table definition
      • Support for Relation definition
      • Support for Function definition
      • Support for Invocation definition
      • Support for List definition
      • Keyboard navigation
      • Context menu support for applicable actions
      • Input/Output columns generation based on the type of the input nodes/the type decision node

      Additionally, it must support:

      • Code highlight and code completion on all FEEL based cells
      • Copy/Paste integration with other spreadsheets
      • Support to merged cells

      The new DMN boxed expression component must work as a standalone "stateless" React/TS component. It must communicate to the rest of the editor by a thin JsInterop-based interface to provide boxed expressions definitions for BKMs and Decision Nodes.

      Acceptance criteria:

      • As a user, I want to be able to define Literal Expressions by using the new boxed expression editor
      • As a user, I want to be able to define Contexts by using the new boxed expression editor
      • As a user, I want to be able to define Decision Table by using the new boxed expression editor
      • As a user, I want to be able to define Relation by using the new boxed expression editor
      • As a user, I want to be able to define Function by using the new boxed expression editor
      • As a user, I want to be able to define Invocation by using the new boxed expression editor
      • As a user, I want to be able to define List by using the new boxed expression editor
      • As a user, I want to be able to navigate and edit cells by using the keyboard with shortcuts similar to the "old" boxed expression editor
      • As a user, I want to be able to use the context menu to insert/delete columns
      • As a user, I want to be able to use the context menu to insert/delete rows
      • As a user, I want to be able to use the context menu to duplicate rows
      • As a user, I want to be able to rely on fixed headers and columns (to keep the numbered column and the header row always visible)
      • As a user, I want to be able to have Input/Output columns generation based on the type of the input nodes/the type decision node
      • As a user, I want to be able to see cells with highlighted expressions
      • As a user, I want to be able copy cells from Google Spreadsheets and paste on the boxed expressions grid
      • As a user, I want to be able copy cells from boxed expressions grid and paste on Google Spreadsheets
      • As a user, I want to be able to see cells with the same value merged (like the GDT editor does)

              vpellegr Valentino Pellegrino (Inactive)
              vpellegr Valentino Pellegrino (Inactive)
              Dominik Hanak Dominik Hanak
              Dominik Hanak Dominik Hanak
              Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: