[ 
https://issues.apache.org/jira/browse/NIFI-15708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18066074#comment-18066074
 ] 

Denis GARET (AmeXio) commented on NIFI-15708:
---------------------------------------------

Hello Aslan, thx for your feedback.

Reading your answer, I agree that the way I described the standard build 
behaviour for OOTB UI & Components was incorrect. 
I fully agree with what you describe as the "nx monorepo" (and I fully agree 
with your statement regarding extra work/complexity introduced by exposing 
@nifi/xxx artefacts as npm packages (this was just a question, and I'm fine 
with a vision saying it is far beyond current needs and state)

Taking this "monorepo" into consideration let me rephrase how i'd like the 
Advanced UI for custom components be built
 * as I'm dealing with on-purpose extensions to the NiFi stack *I'd like to 
avoid rebuilding the entire "default nx monorepo"* just to build some specific 
advanced UI for my custom components
(my scope not being to change NiFi default UI but to leverage the "Advanced UI" 
pattern for custom processors/services)
 * as of now I apply the same pattern (bringing my own monorepo holding 
Advanced UI for the various custom components I plan to build
(trying & avoiding bringing some NiFi standard resources in this custom module 
and clearly separating NiFi standard vs custom stuff)
 * the only "trick" I currently have to apply consists in bringing @nifi/theme 
related stuff into my own nx monorepo

That's why I was wondering whether having nifi-frontend sources properly 
included in the nifi-frontend-<version>-sources.jar would seem a reasonable / 
acceptable change to the NiFi codebase
(from what I understand this would mainly be a matter of configuration around 
the maven-source-plugin plugin)

> [Advanced UI] Ease providing additional Advanced UIs leveraging NiFi Theme 
> logic
> --------------------------------------------------------------------------------
>
>                 Key: NIFI-15708
>                 URL: https://issues.apache.org/jira/browse/NIFI-15708
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core UI
>    Affects Versions: 2.8.0
>            Reporter: Denis GARET (AmeXio)
>            Priority: Major
>
> *As* a developer extending NiFi with extra capabilities
> *I want to* be provided with helpers / integrated mechanisms
> *In order to* ease building Advanced UIs for custom components (keeping 
> overall UX consistency)
> My specific concern is around the way *NiFi theme* is injected into advanced 
> UIs.
>  * The "nifi-frontend" module provides valuable assets to be reused across 
> various "Advanced UIs for custom components" (as it is the case for OOTB 
> Advanced UIs such as UpdateAttribute or JOLTTransformJSON)
>  * In order to keep overall UI/Theme consistent for other advanced UIs I plan 
> to leverage such elements
>  * At the time being I did not find a proper way to achieve this rather than 
> copy/pasting existing "source code files" (subfolder 
> src/main/frontend/libs/shared from module nifi-frontend into my own 
> repository/modules
> Would there be another way to achieve this objective of keeping UX/Theme 
> consistent when developing addintional Advanced UIs for custom components ?
> (I may have missed some documented instructions/hints to setup an alternate 
> strategy)
> Aternatively, would it be possible to consider anticipating smoother 
> extension mechanisms for Advanced UIs such as
>  * (ideal) Exposing the @nifi/shared package/bundle in order to make it 
> reusable in other Advanced UIs (my understanding being that it is currently 
> only available locally when building the nifi-frontend module
>  * (acceptable workaround that would require less effort I guess) Adapt 
> configuation applicable for the maven-source-plugin on module nifi-frontend 
> in order to have the associated publishedjar 
> (nifi-frontend-<version>-sources.jar) contain frontend source files (I guess 
> the default plugin configuration makes it ignore non java files) so that 
> custom developments could reuse it through maven-dependency-plugin
>  



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

Reply via email to