Rob Fellows created NIFI-15654:
----------------------------------

             Summary: UI - Connections can completely overlap, causing users to 
be unaware that more than one connection is present
                 Key: NIFI-15654
                 URL: https://issues.apache.org/jira/browse/NIFI-15654
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core UI
            Reporter: Rob Fellows
            Assignee: Rob Fellows


There is existing collision avoidance logic to prevent connections from 
overlapping completely. However, it is only applied through the Drag-to-create 
flow: when a user drags a new connection between two components that already 
have a straight-line connection, it adds offset bend points so they don't 
overlap.
h3. There are some gaps that still allow this undesired behavior to creep in:

Gap 1: Endpoint Drag (Changing Destination)

In when a user drags a connection's endpoint to a new destination, there is 
{*}no collision check{*}. If the new destination already has a straight-line 
connection from the same source, the moved connection simply overlaps it.
h3. Gap 2: Edit Connection Dialog (Changing Destination)

Users can change the destination of a connection. No overlap check is performed.
h3. Gap 3: Programmatic/API-Created Connections

Connections created via REST API (POST /process-groups/\{id}/connections) 
bypass all UI-side collision logic. The NiFi backend allows multiple 
connections between the same source and destination with no bend points.
h3. Gap 4: Removing Bend Points

A user can manually remove bend points from a connection that was initially 
offset for collision avoidance, causing it to become a straight line that 
overlaps another connection.
h3. Gap 5: Paste Operations

Pasted flow snippets can introduce connections that overlap existing ones since 
the paste flow doesn't run collision detection against pre-existing connections.

 

Gaps 1, 2, 4, and even 5 can be addressed in code. However, Gap 3 is 
unavoidable and should not be ignored. In the case where this scenario is 
already in a flow or a connection is added via the API, the users should be 
alerted in some way to this fact. Be it a banner or badge or something to bring 
their attention to the hidden connection issue.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to