Matt Gilman created NIFI-16394:
----------------------------------

             Summary: Add connector troubleshooting UI and strongly typed 
reusable canvas contracts
                 Key: NIFI-16394
                 URL: https://issues.apache.org/jira/browse/NIFI-16394
             Project: Apache NiFi
          Issue Type: Epic
          Components: Core UI
            Reporter: Matt Gilman
            Assignee: Matt Gilman


h2. Background

Apache NiFi supports a TROUBLESHOOTING connector state, but the frontend does 
not yet provide the complete workflow for entering, using, and ending that 
state.

Troubleshooting mode should provide controlled access to a connector's managed 
process group so operators can diagnose and correct problems without treating 
the connector as normally running. Stronger reusable-canvas contracts are also 
needed to support these editing operations safely.
h2. Goals
 * Allow users to enter and end connector troubleshooting mode.
 * Keep connector listings, details, canvas state, and navigation synchronized 
with state transitions.
 * Expose troubleshooting operations on the managed process group.
 * Restrict advanced routes and operations based on connector state and 
permissions.
 * Replace permissive canvas entity types with canonical NiFi entity contracts.
 * Keep frontend interaction metadata separate from REST write payloads.

h2. Scope

Troubleshooting functionality includes:
 * Enter and end troubleshooting actions.
 * Troubleshooting state presentation and explanatory banners.
 * Polling and navigation behavior that reacts to connector state changes.
 * Route protection for advanced troubleshooting pages.
 * Component run-status operations.
 * Processor advanced UI access.
 * Connector-scoped Controller Service editing.
 * Remote Process Group refresh.
 * Horizontal and vertical alignment.
 * Provenance replay where supported.
 * Permission and connector-state gating.

Canvas typing includes:
 * Canonical TypeScript models for NiFi component entities.
 * Typed connector-canvas state, actions, reducers, effects, and service 
boundaries.
 * Typed reusable-canvas wrappers, selections, render contexts, and gestures.
 * Separate response-entity and write-payload contracts.
 * Narrow connection endpoint serialization matching NiFi REST DTOs.
 * Removal of permissive entity any and unknown types from migrated canvas 
paths.

h2. Out of Scope
 * Changes to backend troubleshooting lifecycle semantics.
 * Migration of the legacy flow-designer implementation onto the reusable 
canvas.
 * Unrelated connector configuration or deployment workflows.

h2. Acceptance Criteria
 * Users can enter and end troubleshooting mode when the corresponding backend 
action is allowed.
 * The UI consistently represents TROUBLESHOOTING and reacts to state 
transitions without a manual reload.
 * Advanced troubleshooting routes reject connectors outside troubleshooting 
mode.
 * Canvas and Controller Service operations require the appropriate connector 
state and permissions.
 * Troubleshooting banners clearly identify the active mode.
 * Canonical canvas entities match the NiFi Java DTO and resource contracts.
 * Connection create and reconnect requests contain only the expected NiFi 
endpoint fields.
 * Migrated production canvas paths do not use permissive entity any types.
 * Unit tests cover lifecycle actions, route guards, permissions, state 
transitions, operations, and API payload boundaries.
 * Frontend lint, type-check, tests, and production build pass.



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

Reply via email to