Skip to content

Conversation

sardell
Copy link
Contributor

@sardell sardell commented Apr 7, 2025

Summary

NIFI-14319

Description

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

Testing

Build and start the old registry project with maven using the existing instructions. Next, run npm ci at nifi-frontend/src/main/frontend and start the app by running npx nx run nifi-registry:serve. Visit http://localhost:4204/nifi-registry/ to see the new explorer page. 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.

NOTE: buckets cannot be created through the new UI yet, so in order to test the functionality of the new explorer view you must first create a bucket through the old UI.

Screenshot 2025-04-07 at 4 55 29 PM

Screenshot 2025-04-07 at 4 57 31 PM

Considerations

Styling - The old logo was created with a much darker background color in mind. It may be time for a refreshed logo, but for now I simply added the old one to the header along with a heading containing the application's name.

Tracking

Please complete the following tracking steps prior to pull request creation.

Issue Tracking

Pull Request Tracking

  • Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
  • Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

  • Pull Request based on current revision of the main branch
  • Pull Request refers to a feature branch with one commit containing changes

Verification

Please indicate the verification steps performed prior to pull request creation.

Build

  • Build completed using mvn clean install -P contrib-check
    • JDK 21

Licensing

  • New dependencies are compatible with the Apache License 2.0 according to the License Policy
  • New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

  • Documentation formatting appears as expected in rendered files

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

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

Thanks for this work on NiFi Registry @sardell!

The standard ci-workflow builds are failing, does this build locally for you, or is this still a work in progress that should be marked as draft?

@sardell
Copy link
Contributor Author

sardell commented Apr 8, 2025

@exceptionfactory Thanks for raising the failing CI to my attention. It looks like the failure was due to the favicon missing from the old registry ui directory. I accidentally deleted it when copying over images to the new project. I noticed the missing file while working on this PR and added the file back, but it seems that file was accidentally added to the .gitignore (I think intention of that .gitignore line was to ignore the generated favicon, not all instances of that file). I believe this is why I could successfully build locally and also see the CI failures you pointed out.

Fingers crossed the CI passes this time. I'll keep an eye on it.

UPDATE: Looks like the CI build is now failing on a build step that runs fine locally. Will need to investigate a little further.

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

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

Thanks for the update @sardell, although the build completes on macOS, it is failing on Linux and Windows.

On Linux, there appears to be something platform-dependent:

[INFO] ::group::❌ > nx run shared:build:production
[INFO] 
[INFO] Building Angular Package
[INFO] 
[INFO] ------------------------------------------------------------------------------
[INFO] Building entry point '@nifi/shared'
[INFO] ------------------------------------------------------------------------------
[INFO] - Compiling with Angular sources in Ivy full compilation mode.
[INFO] ✖ Compiling with Angular sources in Ivy full compilation mode.
[INFO] 
[INFO]  NX   The package "@esbuild/linux-x64" could not be found, and is needed by esbuild.

@sardell sardell requested a review from exceptionfactory April 9, 2025 19:51
@mcgilman mcgilman added the ui Pull requests for work relating to the user interface label Apr 24, 2025
@sardell sardell force-pushed the NIFI-14319 branch 2 times, most recently from bd6fd83 to 74df539 Compare April 28, 2025 23:42
Copy link
Contributor

@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.

looks good for the 1st glance, I post my first comments, will continue the review soon

Copy link
Contributor

@scottyaslan scottyaslan left a comment

Choose a reason for hiding this comment

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

@sardell thanks for the PR! I have left several comments on things that need to be addressed. Apologies that there are so many comments as I know this is a big undertaking and your effort here is appreciated. I am sure I will have more comments after you make the requested changes.

Also, I didn't have a great place to leave the following comments so placing them here:

Please run prettier and lint:fix. There are several strange formatting issues.

Please delete nifi-registry/public directory and the favicon.ico.

@sardell
Copy link
Contributor Author

sardell commented May 27, 2025

@scottyaslan @elcsiga Thank you both for taking the time to review this PR! I've addressed all your comments. When you have a chance, could you please take another look?

@scottyaslan I've updated the Jira tickets for the Registry UI work to be tasks organized under an epic per your suggestion. I've also started breaking down the work into much smaller chunks (see the ticket for the buckets view and its subtasks for an example). I'll continue this work for the users and groups view.

@sardell
Copy link
Contributor Author

sardell commented Jun 11, 2025

@scottyaslan @elcsiga Could you please re-review when you have time?

@scottyaslan
Copy link
Contributor

Reviewing...

Copy link
Contributor

@scottyaslan scottyaslan left a comment

Choose a reason for hiding this comment

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

Hey @sardell! I have reviewed this PR and it is looking good. There are still several things to get dialed in but all in all this is headed in the right direction. Please let me know if you have any questions or comments or if you need any clarity on my latest set of comments.

@scottyaslan
Copy link
Contributor

@sardell also please run npx nx run prettier:fix.

@scottyaslan
Copy link
Contributor

@sardell I hope to get back to reviewing this next week. Sorry for the delay!

Copy link
Contributor

@scottyaslan scottyaslan left a comment

Choose a reason for hiding this comment

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

@sardell sorry for the delay in getting back to this. Thanks for the updates! I think we are close. Please rebase and I left just a few more comments. Mostly, I would like to see the route be renamed back to 'explorer' and get rid of the queryParams.

@sardell
Copy link
Contributor Author

sardell commented Sep 12, 2025

@scottyaslan Your latest round of feedback has been addressed. Please take another look whenever you have time. Thanks!

@sardell sardell force-pushed the NIFI-14319 branch 2 times, most recently from 751d1a1 to e1fe7ce Compare September 18, 2025 18:00
@sardell sardell force-pushed the NIFI-14319 branch 2 times, most recently from 20abbf2 to aab923e Compare September 22, 2025 17:43
* 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
Copy link
Contributor

@scottyaslan scottyaslan left a comment

Choose a reason for hiding this comment

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

Thanks @sardell this is a great start!

@scottyaslan scottyaslan merged commit 1c995f4 into apache:main Sep 23, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ui Pull requests for work relating to the user interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants