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)