* NIFI-13575 Improved Jetty Server handling of Web App Exceptions
- Enabled throwUnavailableOnStartupException for configured Web Apps
* NIFI-13575 Checked Context Path to determine startup exception handling
- Configured Controller annotation wiring for Resource classes
- Configured Service annotation wiring for Auditor classes
- Configured Repository annotation wiring for DAO classes
- Added ParameterValueMapper for handling serialization of Parameter Values for Flow Configuration
- Added Parameter Group retrieval method for Flow Synchronizer
- Removed GET /access for Access Status
- Removed GET /access/config for Login Configuration
- Removed GET /access/token/expiration for Access Token Expiration
- Changed conditional from evaluating HTTPS port to evaluating store path and password properties
This closes#9083
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Return copied set of Extensions from ExtensionManager to avoid concurrent modification
This closes#9089
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Ensure on startup that Content Repo archive directories are created, if configured to do so, rather than creating them on demand. If IOException thrown when archiving file, delete it instead. Cleaned up some code duplication between remove(ResourceClaim) and archive(ResourceClaim) methods
This closes#9079
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Add NarPersistenceProvider to framework API with standard implementation
- Add NarManager to orchestrate interactions with the persistence provider and framework
- Add REST API for upload, download, list, and delete of custom NARs
- Add CLI commands for call these REST APIs
- Implement an upload request replicator for replicating a file upload across the cluster
- Update ExtensionManager, NarLoader, and JettyServer to support unloading a NAR
- Add ability to replace a NAR in place by unloading components, loading new NAR, and reloading components
- Add system tests for uploading a NAR and verifying other APIs
- Add NAR digest to NarNode and summary DTO, fix bug in digest utils
- Sync NARs from cluster coordinator when joining the cluster
This closes#9017
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Remove nifi-socket-utils and moved remaining classes to referencing framework components
This closes#9059
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded AWS SDK 1 from 1.12.755 to 1.12.756
- Upgraded AWS SDK 2 from 2.26.14 to 2.26.15
- Upgraded Azure SDK BOM from 1.2.24 to 1.2.25
- Upgraded Elasticsearch Client from 8.14.1 to 8.14.2
- Upgraded GitHub Client from 1.322 to 1.323
- Upgraded mysql-connector-j from 8.4.0 to 9.0.0
- Upgraded Azure Kusto from 5.0.5 to 5.1.0
- Upgraded Datafaker from 2.2.2 to 2.3.0
- Upgraded nimbus-jose-jwt from 9.37.3 to 9.40
- Upgraded oauth2-oidc-sdk from 11.10.1 to 11.13
This closes#9051
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded sshd from 2.12.1 to 2.13.1
- Upgraded reactor-netty-http from 1.1.19 to 1.1.20
- Upgraded guava from 33.2.0-jre to 33.2.1-jre
- Upgraded maven-artifact from 3.9.7 to 3.9.8
- Upgraded spring-integrations from 6.3.0 to 6.3.1
- Upgraded jjwt from 0.12.5 to 0.12.6
- Upgraded unboundid from 7.0.0 to 7.0.1
- Upgraded json-schema-validator from 1.4.0 to 1.4.2
- Upgraded Spring Boot from 3.3.0 to 3.3.1
- Upgraded jline from 3.26.1 to 3.26.2
- Upgraded com.amazonaws from 1.12.742 to 1.12.748
- Upgraded AWS SDK from 2.26.1 from 2.26.8
- Upgraded Spring from 6.1.9 to 6.1.10
- Upgraded Spring Security from 6.3.0 to 6.3.1
This closes#9001
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Replaced PS512 algorithm based on RSASSA-PSS with EdDSA algorithm using Ed25519
- Added Ed25519 Signer and Verifier implementations based on Java Signature processing
This closes#8986
This closes#8978
- Removed nifi-property-protection-api and implementation modules
- Removed nifi-toolkit-encrypt-config and minifi-toolkit-encrypt-config modules
- Removed extra bootstrap.conf configuration files for property protection implementations
Signed-off-by: Joseph Witt <joewitt@apache.org>
- The merged value of maxNonHeapBytes should be -1 when at least one node has that value
This closes#8983
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded com.amazonaws from 1.12.733 to 1.12.742
- Upgraded software.amazon.awssdk from 2.25.63 to 2.26.1
- Upgraded com.box SDK from 4.9.1 to 4.10.0
- Upgraded commons-net from 3.11.0 to 3.11.1
- Upgraded io.dropwizard.metrics from 4.2.25 to 4.2.26
- Upgraded Netty from 4.1.110.Final to 4.1.111.Final
- Upgraded Commons Configuration2 from 2.10.1 to 2.11.0
- Upgraded Lucene from 9.10.0 to 9.11.0
- Upgraded org.checkerframework from 3.43.0 to 3.44.0
- Upgraded org.eclipse.jdt ecj from 3.37.0 to 3.38.0
- Upgraded Jetty from 12.0.9 to 12.0.10
- Upgraded Elasticsearch Client from 8.13.4 to 8.14.1
- Upgraded Spring Framework from 6.1.8 to 6.1.9
- Upgraded com.slack.api from 1.39.3 to 1.40.0
- Upgraded io.projectreactor from 3.6.6 to 3.6.7
- Upgraded JGit from 6.9.0.202403050737-r to 6.10.0.202406032230-r
- Upgraded Flyway from 10.13.0 to 10.15.0
- Upgraded Spring Integration from 6.2.5 to 6.3.0
This closes#8966
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-13373:
- Adding support for banner text.
* NIFI-13373:
- Prettier.
* NIFI-13373:
- Removing unused property.
* NIFI-13373:
- Defining reponse payload when loading banner text.
- Removing banner text from login, logout, and error pages.
* NIFI-13373:
- Only loading the banner text when necessary.
This closes#8947
- Moving NiFi front end source into a top level maven module. This prepares for the introduction of other UIs that NiFi offers (like Custom UIs, Data Viewers, etc) to be colocated and share common components, styles, and dependencies.
- The nifi-web-frontend module which produces the war that is included in the server nar now no longer contains any source. It simply depends on the new nifi-frontend artifact that bundles all built UIs and unpacks its contents into the resulting war.
- Renaming nifi-web-frontend to nifi-ui. Now nifi-frontend at the top level will hold all frontend apps. In this commit the nifi app in nifi-frontend is bundled into a war called nifi-ui.
This closes#8936
- Allowing tooltip mouse listeners to be destroyed when necessary.
- Ensuring connection source/destination run status and validation errors are updated when deleted.
This closes#8931
* NIFI-13313:
- Use nifi-web-frontend as the default UI hosted at /nifi no longer deploying nifi-web-ui.
* NIFI-13313:
- Adding logout complete page.
- Updating backend to redirect to new logout complete page.
* NIFI-13313:
- Remove nifi-web-ui module.
* NIFI-13313:
- Updating LICENSE and NOTICE files for dependencies that are no longer included.
* NIFI-13313:
- Updating README.
- Updating proxy config to mirror actual context path.
* NIFI-13313:
- Establishing rewrite rules for redirecting logout complete.
- Setting the default handler for when a request isn't handled to redirect the user to /nifi.
* NIFI-13313:
- Removing nifi-web-error module.
* NIFI-13313:
- Restoring /nifi/logout-complete path.
* NIFI-13313:
- Adding an error handler for the ui which handles redirects to a 404 page.
This closes#8906
* [NIFI-13349] align angular material and tailwind typography
* override default tailwind fontSize configurations to match up with angular material typography configuration
* cleanup duplicate style
* add text-3xl tailwind configuration
* update primary-node-only to use text-sm
* replace .refresh-container with text-sm
* add comments for $subtitle-2 material typography config
* adjust $subtitle-2 font size and line height
This closes#8918
- Allowing parameters to be edited in New Parameter Context dialog.
- Ensuring the proper tab is selected in the Parameter Context dialog based on the current usage.
This closes#8912
* [NIFI-13325] update dark mode theme density to match light mode
* remove density from nifi themes as only colors are used from this theme
This closes#8904
* [NIFI-13234] update unautorized canvas component colors
* restore web font loader to ensure positions of canvas text is calculate correctly
This closes#8902
* [NIFI-13269] - Order parameter reference list alphabetically
* ran prettier:format to address minor code style issue
* update nfpr and nfel to sort combo entries the same as the combo entries in the property table (case insensitive)
This closes#8885
* NIFI-13285:
- If there is no transform to restore for the current viewport, executing a zoom fit.
* NIFI-13285:
- Adjusting the canvas position styles and zoom fit calculations.
This closes#8874
* NIFI-12967:
- Adding support for navigating back to the users previous location in certain circumstances like going to a Controller Service, managing access policies, going to parameters, viewing documentation, opening advanced UIs, and viewing data provenance.
- Cleaning unnecessary instances of postUpdateNavigation.
* NIFI-12967:
- Updating the implementation to leverage router events and router state to simplify needed changes.
* NIFI-12967:
- Conditionally resetting or popping back navigation history because on routing context.
* NIFI-12967:
- Adding support for navigating back from queue listing and provenance.
* NIFI-12967:
- Conditionally applying the back navigation following a component update.
* NIFI-12967:
- Adding back from CS service listing.
* NIFI-12967:
- Adding back from Go To CS.
- Restoring some space in the context menu.
* NIFI-12967:
- Prevent duplicate entries in the back navigation stack.
* NIFI-12967:
- Not executing pop through navigation extras because it can result in multiple pops if the user uses their back/forward browser buttons. Instead, always popping until we encounter a back navigation that is still within a route boundary.
- Manually closing dialogs with proper result in Navigation lifecycle to ensure back/forward browser button works correctly. This change also handles any scenario when a user routes away from a dialog via a link or go to action so we were able to remove the dialog close action form those places.
* [NIFI-13245] address component name overflow in provenance details dialog
* address content tab column spacing
* use padding appropriately to ensure no overflow text
* restore vertical spacing
This closes#8845
* [NIFI-13207] page headers and refresh containers are consistently positioned between pages
* pad error banner
* display hint below form fields to follow material spec, updating padding/spacing accordingly
* revert access policies template
* remove unused MatHint
* access policy status as hint and center align hints
* use margin bottom on error banner and more spacing improvements
* update hint spacing in a few more use cases
* remove extra padding from bottom of nifi cluster table filter component
* collapse hint height when no text to display
* update padding for input form field placeholder padding
* use margins instead of padding
* final touches
This closes#8804
* [NIFI-13257] codemirror light and dark mode theme
* update non matching parameter or EL function a red color to signify it is not matching
This closes#8855
* NIFI-12968:
- Remove usage of Access-Token-Expiration
- No longer attempt SPNEGO auth
- Leverage authentication configuration to drive log in/out URIs
- Remove Login/Logout servlet filters
- Remove usage of access configuration and access status
- Fixing broken unit tests
* NIFI-12968:
- Only rendering the user identity when the user is not anonymous.
- Fixing an issue where the fallback route would render when redirecting the user to an external SSO log in.
- Using the login supported flag to render the log in link.
* NIFI-12968:
- Addressing review feedback.
This closes#8843
* NIFI-13232 Added Authentication Configuration REST API method
* NIFI-13236 Moved logoutSupported from Configuration to Current User
* NIFI-13232 Added externalLoginRequired field
This closes#8834
* [NIFI-13233] - Fix for overflow issues on change version dialog
* adjust sizing/spacing between columns per feedback
* remove unnecessary overflow-hidden classes
This closes#8837
Use the PG id from the entity because component may be null if current user does not have READ permissions
This closes#8831
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* [NIFI-13197] - Clicking outside of a dialog no longer closes the dialog. Also, escape will only close the dialog if the underlying form is not dirty.
* add license header
* allow ESC to close even if the for is dirty
This closes#8811
* NIFI-13211:
- Decoupling the content viewer from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.
* NIFI-13211:
- Decoupling nifi documentation from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.
* NIFI-13211:
- Decoupling nifi image viewer from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.
* NIFI-13211:
- Decoupling nifi standard content viewer from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.
* NIFI-13211:
- Decoupling nifi jolt transform json from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.
* NIFI-13211:
- Decoupling nifi update attribute from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.
* NIFI-13211:
- Updating rat config.
* NIFI-13211:
- Bumping dependency check timeout.
* NIFI-13211:
- Since this page is included through the context viewer, the dependency imports must directly reference through its context path.
* NIFI-13211:
- Since this page is included through the context viewer, the dependency imports must directly reference through its context path.
This closes#8828
Replaced commons-lang3 CharSequenceTranslator, AggregateTranslator, LookupTranslator and UnicodeUnpairedSurrogateRemover with commons-text replacements.
This closes#8824
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Removed the entire integration-tests-ci profile and reference in GitHub workflow.
Removed all tests which require specific local env configs/cloud credentials/ or simply do not work and thus have been blocked from the build for a long time.
Set Disabled annotation on a couple key tests which are by design manual and must be retained.
The move to testcontainers has been a dramatic improvement in test reliability/behaviors and should be a model for all such tests going forward.
This closes#8818
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* [NIFI-13153] use ellipsis for long component names in dialogs
* use basis-1/2
* overflow-hidden
* remove basis-1/2 and use w-1/2 with padding
This closes#8802
* [NIFI-13177] ensure consistent rendering of component type, name, and icon
* ensure font-size consistency with .refresh-container and .mat-mdc-paginator
* attempt at unifying how component context is displayed (#6)
* use drop icon by default
* final touches
---------
Co-authored-by: Rob Fellows <rob.fellows@gmail.com>
This closes#8786
- Upgraded Maven plugins
- Upgraded SpotBugs from 4.7.3.5 to 4.8.5.0
- Upgraded asciidoctor-maven-plugin from 2.2.4 to 3.0.0
- Upgraded license-maven-plugin from 2.2.0 to 2.4.0
- Upgraded download-maven-plugin from 1.7.1 to 1.9.0
- Upgraded maven-clean-plugin from 3.3.1 to 3.3.2
- Upgraded frontend-maven-plugin from 1.14.2 to 1.15.0
- Upgraded hisrc-higherjaxb40-maven-plugin from 2.1.1 to 2.2.0
- Upgraded jacoco-maven-plugin from 0.8.11 to 0.8.12
- Upgraded swagger-maven-plugin-jakarta from 2.2.20 to 2.2.21
- Upgraded swagger-codegen-maven-plugin from 3.0.52 to 3.0.55
This closes#8797
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-13175:
- Updating dialog layout and sizes to prevent a double scroll bar on smaller screen sizes. Now the dialog content is set to 50vh and content scrolls as needed.
* NIFI-13175:
- Removing some unneeded padding.
* NIFI-13175:
- Fixing double scroll bar issues in non tabbed dialogs.
* NIFI-13175:
- Fixing double scroll bar issues in more non tabbed dialogs.
* NIFI-13175:
- Renaming dialog content style in status history to avoid conflicting with new general style.
This closes#8779
* [NIFI-13061] replace actions with menu
* Manage Access Policies for all menus
* short Go To menu option text
* align text formatting for menus
* View Clustered Details
* View User Policies menu now uses Manage Access Policies
* hide menu when action clicked
* Manage User Policies
This closes#8766
* [NIFI-13183] add drop shadow to connections to increase visibility on top of colored labels in both light and dark mode
* review feedback
This closes#8778
* [NIFI-13162] horizontal and vertical canvas component alignment
* review feedback
* rename to updatePositionRequestId
* use enum
* use the appropriate generic type and separate components and connections updates
* use enum
This closes#8762
* [NIFI-13165] hide resize handle is status history when insufficient history
* hide last updated/refresh button when insufficient history
* Update nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history.component.html
Co-authored-by: Rob Fellows <rob.fellows@gmail.com>
---------
Co-authored-by: Rob Fellows <rob.fellows@gmail.com>
This closes#8768
* removed aliasing of 'this' from canvas.component.ts
* removed aliasing of 'this' from canvas-utils.ts
* reuse common actions between operation and context menu
This closes#8770
- Handling newer revisions in flow reducer to ensure that the appropriate version of the component is saved in case responses are received out of order.
This closes#8771
- Upgraded Apache Mina 2.1.8 to 2.2.3
- Upgraded unboundid-ldapsdk from 6.0.11 to 7.0.0
- Upgraded okhttp-digest from 2.7 to 3.1.0
- Upgraded reactor-netty-http from 1.0.44 to 1.1.18
- Upgraded jetbrains-annotations 13.0 to 24.1.0
- Upgraded reactor-core from 3.4.37 to 3.6.5
- Upgraded reactor-test from 3.5.16 to 3.6.5
This closes#8775
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Moving from jsdom to happy dom for test environment execution.
- Removing test for the Documentation component that was failing because it was attempting to load an iframe with the nifi documentation that wasn't available.
This closes#8760
- Methods for getBranches, getDefaultBranch, and createBranch in flow registry client
- Add branch as a field to all relevant objects
- Add optional branch argument to REST API for retrieving buckets
- Add new REST API for retrieving branches for a given registry client
- Enforce NiFi Registry can only receive default branch
This closes#8726
Signed-off-by: David Handermann <exceptionfactory@apache.org>
This closes#8757
- Added frontend.skipTests property to nifi-web-frontend Maven configuration with default value of false
- Configured lint and unit-test execution goals to depend on frontend.skipTests
- Added paths-filter GitHub Actions step for conditional enabling of frontend tests
Signed-off-by: Joseph Witt <joewitt@apache.org>
* [NIFI-13142] configure typography
* remove Roboto Slab
* adjust letter spacing
* one font
* material theme
* update purple theme font to Comic Sans
* material theme
* align primary node indicator
This closes#8745
* [NIFI-12903] style updates for drag/drop UX
* restore nf-editor styles
* remove padding from new canvas items
* remove unused disabled
* no value set UX
* restore initial disabled state
This closes#8729