Hi

Thanks for the clarification. It matches exactly my expectations - during 
development you
use whatever fancy dev tools includinga  nodejs backend to serve the app, but 
at the end
it is bundled into static artifacts like today's UI.

I can understand how your initial statement was interpreted that we need NodeJS 
in
PRODUCTION:

> "there is not really a path forward with a modern UI that does not require a 
> NodeJS server process"

The whole decision process for new Admin UI has so many parts to it
- framework choice (react, nextjs..)
- deployment choice (standalone app, shippped with solr-core, plugin-package..)
- separate git repo or part of mono-repo
- transition period (two independent apps or unification of e.g. login)

For those reasons I'd prefer an updated SIP-7 document with all the new 
proposals put in, so we can see the full picture including "rejected 
alternatives". I'm not saying this to kill the momentum of a POC or to nit-pick 
on minor details, but I honestly believe it is a necessity. That does not 
prevent some POC / spikingin parallel, to demonstrate things.

I have a question on my own regarding deployment using package manager:
Package manager requires Solr-cloud. Having no Admin UI in standalone is a a 
non-starter.
Since the Admin UI is nothing less than serving static assets, I think shipping 
(pre-bundled) UI with Solr tarball is still the best way forward.

Jan

> 4. mai 2023 kl. 08:22 skrev Marcus Eagan <marcusea...@gmail.com>:
> 
>> Can you summarize for us non-UI folks why a NodeJS server process
> would be required?  (I had to drop early from the last Virtual Meetup,
> so I think I missed this.  And most folks on this list weren't there
> at all.). I'll be the first to admit to a lack of standing when it
> comes to UI stuff, but it still seems surprising to me.  Do all web
> UIs these days require a dedicated process that does additional
> processing beyond "just" serving HTML/JS pages?
> 
> Hi Jason,
> 
> Thanks for your question. To be clear, as I have known front end experts, I
> know I am not a front end expert. I do consider myself more than
> competent, but I have to clarify for the record. As a principle, I do
> whatever needs to get done across the stack, which is a habit I honed when
> I was building a startup that had an embedded component, a server
> component, a web component, a mobile component, and a GPU programming
> (totally different from everything else aforementioned) component. Here is
> my best attempt at answering the question. There may be more to it.
> 
> NodeJS is the front end development runtime of choice for many reasons and
> it is used by virtually all modern frameworks in development. For a
> production deployment, there will not be any need for a node process. The
> Java process will manage the deployment of generated files for now.
> 
> Here are a few of the reasons:
> 
> 1. Access to a build system - access to a build system enables us to have
> more reproducible code and unit tests.
> 2. More flexibility on tool choice - for example if we want to use
> TypeScript, which I do, the NodeJS process handles the transpilation
> process to JavaScript.
> 3. Generate source map - With a NodeJS server process we can generate a
> source map so that even though there was a transformation in the code, we
> can still debug using browser developer tools.
> 4. Hot reloading - Of course, this is a feature that is only needed for
> development.
> 5. Familiarity to experienced front end devs. The people who we will want
> to bring to the project are familiar.
> 6. There is a future where we have some advanced features from NodeJS, but
> that day is obviously not today
> 
> We can use build artifacts from NPM output to deploy the static,
> browser-compatible files only in production but I don't recommend that for
> development.
> 
> I hope that this sheds some light.
> 
> Best,
> Marcus Eagan
> apache Solr Committer / Open Source Hacker
> 
> 
> 
> On Wed, May 3, 2023 at 10:57 AM Jason Gerlowski <gerlowsk...@gmail.com>
> wrote:
> 
>> Hi Marcus,
>> 
>> Can you summarize for us non-UI folks why a NodeJS server process
>> would be required?  (I had to drop early from the last Virtual Meetup,
>> so I think I missed this.  And most folks on this list weren't there
>> at all.). I'll be the first to admit to a lack of standing when it
>> comes to UI stuff, but it still seems surprising to me.  Do all web
>> UIs these days require a dedicated process that does additional
>> processing beyond "just" serving HTML/JS pages?
>> 
>> To your specific question: developing as a plugin/package seems ok to
>> me.  Though I think I'm missing some context on how that relates to
>> the NodeJS server requirement.  Can you elaborate on that a bit?  Is
>> the benefit of the package/plugin approach that it'd allow you to make
>> progress without stepping on the toes of folks who aren't keen on
>> adding a NodeJS server process to solr-core? Or something else?
>> 
>> Best,
>> 
>> Jason
>> 
>> On Tue, May 2, 2023 at 6:09 PM Marcus Eagan <marcusea...@gmail.com> wrote:
>>> 
>>> HI all,
>>> 
>>> I have done a lot of research and there is not really a path forward
>> with a
>>> modern UI that does not require a NodeJS server process. Given the push
>>> back from the last Committer meeting,* I'd like to propose that I move
>>> forward with work on the new Solr UI as a plugin that works with the new
>>> package manager that Noble and co stewarded.* In that case, I think
>> things
>>> can evolve somewhat independently and I can make changes to Solr as they
>>> come up. It will also make it easier for me to onboard others. I will
>>> likely host a Solr Admin UI dev so that people who want to work on or
>>> specialize in front end don't have to deal with the challenges of getting
>>> started with Solr. That has gotten more difficult over the past few years
>>> and it is something that should be addressed, but it is out of scope for
>>> this work.
>>> 
>>> I move fast, but please keep in mind I also have a host of other
>>> commitments and many of them are in the sister project Lucene. However,
>> you
>>> can still expect progress and innovation. If you all find this path to be
>>> amenable, we'll coordinate on this mailing list with Jason Gerlowski for
>> V2
>>> API questions, Ishan and Noble for the package manager which I am
>> somewhat
>>> familiar with, Eric Pugh for lots of stuff, and Jan Hoydahl for auth and
>>> security.
>>> 
>>> Please let me know what you think.
>>> 
>>> best,
>>> 
>>> --
>>> Marcus Eagan
>>> Apache Solr Committer / Open Source Hacker
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
>> For additional commands, e-mail: dev-h...@solr.apache.org
>> 
>> 
> 
> -- 
> Marcus Eagan


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
For additional commands, e-mail: dev-h...@solr.apache.org

Reply via email to