Skip to content

NIFI-14319: Init new NiFi Registry UI project with flow explorer view#1

Open
sardell wants to merge 448 commits intomainfrom
NIFI-14319
Open

NIFI-14319: Init new NiFi Registry UI project with flow explorer view#1
sardell wants to merge 448 commits intomainfrom
NIFI-14319

Conversation

@sardell
Copy link
Owner

@sardell sardell commented Mar 18, 2025

Description

This PR establishes the initial project setup for NiFi Registry and includes the new explorer view.

Testing

Build and start the old registry project with maven using the existing instructions. Next, install the new project's npm dependencies and start the app using npx nx run nifi-registry:serve. Compare the old explorer view with the new one, ensuring feature parity between the two views. Run unit tests with npx nx run nifi-registry:test.

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced
    in the commit message?

  • Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

  • Has your PR been rebased against the latest commit within the target branch (typically master)?

  • Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

  • Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
  • Have you written or updated unit tests to verify your changes?
  • Have you verified that the full build is successful on JDK 8?
  • Have you verified that the full build is successful on JDK 11?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
  • If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
  • If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

  • Have you ensured that format looks appropriate for the output in which it is rendered?

Note:

Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Copy link

@elcsiga elcsiga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some early feedbacks only, I will continue the review soon.

import { BucketsEffects } from './state/buckets/buckets.effects';

const entry = localStorage.getItem('disable-animations');
let disableAnimations: string = entry !== null ? JSON.parse(entry).item : '';
Copy link

@elcsiga elcsiga Mar 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can break the whole app if localstorage has an invalid json content, or it has no 'item'. I'd put it into a try-catch béock.


// honor OS settings if user has not explicitly disabled animations for the application
if (disableAnimations !== 'true' && disableAnimations !== 'false') {
disableAnimations = window.matchMedia('(prefers-reduced-motion: reduce)').matches.toString();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
disableAnimations = window.matchMedia('(prefers-reduced-motion: reduce)').matches.toString();
disableAnimations = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches.toString();

selector: 'explorer',
templateUrl: './explorer.component.html',
styleUrl: './explorer.component.scss',
standalone: false
Copy link

@elcsiga elcsiga Mar 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could see standalone components elsewhere. Is a separate module needed here?

});

this.dataSource.filterPredicate = (data: Droplets, filter: string) => {
const { filterTerm, filterColumn, filterBucket } = JSON.parse(filter);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is filter always a well formatted json? is not, a try-catch is needed here

@sardell sardell force-pushed the NIFI-14319 branch 6 times, most recently from 13a332d to 17f4c38 Compare April 9, 2025 17:45
@sardell sardell force-pushed the NIFI-14319 branch 2 times, most recently from bd6fd83 to 74df539 Compare April 28, 2025 23:42
pvillard31 and others added 7 commits July 14, 2025 10:21
…ss (apache#10091)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
…ache#10088)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Updated Offset Tracker to calculate Total Record Size based on Kafka Consumer Record key and value length

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10093.
Signed-off-by: Mike Moser <mosermw@apache.org>
This closes apache#9868
- Short circuit getting rule violations when there are none and when we're getting violations for the root process group by ID or alias.
- Short circuit flow analysis if there are no rule violations configured.
- Changes to getRuleViolationStream algorithm which significantly improve performance.

This closes apache#10079.

Signed-off-by: Tamas Palfy <tpalfy@apache.org>
exceptionfactory and others added 10 commits July 18, 2025 17:22
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10104.
apache#10100)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10111.
- Added Resource Type resolution for Registry Client and Flow Analysis Rule components nested under the Controller

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10110.
Co-authored-by: Kamilkime <kamilkime@pm.me>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
…Flow Definition (apache#10109)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
…ed by ConsumeMQTT

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10108.
….Final and others (apache#10113)

- reactor from 3.7.7 to 3.7.8 - https://github.com/reactor/reactor-core/releases/tag/v3.7.8
- kusto from 7.0.0 to 7.0.1 - https://github.com/Azure/azure-kusto-java/releases/tag/v7.0.1
- maven-artifact from 3.9.10 to 3.9.11 - https://maven.apache.org/docs/3.9.11/release-notes.html
- Google Cloud SDK from 26.63.0 to 26.64.0 - https://github.com/googleapis/java-cloud-bom/releases/tag/v26.64.0
- Neo4J from 5.28.8 to 5.28.9 - https://github.com/neo4j/neo4j-java-driver/releases/tag/5.28.9
- Spring Redis from 3.5.1 to 3.5.2 - https://github.com/spring-projects/spring-data-redis/releases/tag/3.5.2
- HikariCP from 6.3.0 to 6.3.1 - https://github.com/brettwooldridge/HikariCP/releases/tag/HikariCP-6.3.1
- Spring LDAP from 3.3.1 to 3.3.2 - https://github.com/spring-projects/spring-ldap/releases/tag/3.3.2
- FlywayDB from 11.10.2 to 11.10.3 - https://github.com/flyway/flyway/releases/tag/flyway-11.10.3
- AWS SDK v1 from 1.12.787 to 1.12.788 - https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md#112788-2025-07-11
- AWS SDK v2 from 2.31.78 to 2.32.4 - https://github.com/aws/aws-sdk-java-v2/blob/master/CHANGELOG.md#2324-2025-07-18
- Apache Commons IO from 2.19.0 to 2.20.0 - https://commons.apache.org/proper/commons-io/changes.html#a2.20.0
- Jackson from 2.19.1 to 2.19.2 - https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.19.2
- Netty from 4.2.2.Final to 4.2.3.Final - https://netty.io/news/2025/07/15/4-2-3.html
- Spring from 6.2.8 to 6.2.9 - https://github.com/spring-projects/spring-framework/releases/tag/v6.2.9
- Nimbus Jose JWT from 10.3.1 to 10.4 - https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt
- Snappy Java from 1.1.10.7 to 1.1.10.8 - https://github.com/xerial/snappy-java/releases/tag/v1.1.10.8

Signed-off-by: David Handermann <exceptionfactory@apache.org>
…ils with getIfNull (apache#10116)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
sardell and others added 28 commits September 22, 2025 15:35
* check if window.matchMedia has value before calling method
* add empty states to explorer table
* destroy direct store subscriptions
* add filtered count to droplet table filter
* fix error service
* fix multiple namings
* template cleanup
* configuration changes to align better with NiFi
* style fixes
* use px units instead of calc for logo container
* use unique contexts for dialog errors
* update explorer page title
* margin and sizing class updates
* run prettier to fix formatting issues
* remove rej file
* remove unused deps
* add standalone to components missing that configuration
* hadle legacy routes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.