+1 to David Smiley

On Sat, Apr 11, 2020, 8:12 AM Marcus Eagan <marcusea...@gmail.com> wrote:

> I don't see admin UI as non-core. I think that an application UI for
> end-users of an application consumes Solr non-core. I have to resign from
> arguing, though.
>
> I don't consider myself a UI expert. I can do the work.
>
>
> On Fri, Apr 10, 2020 at 11:42 AM Ishan Chattopadhyaya <
> ichattopadhy...@gmail.com> wrote:
>
>> David, you capture my thoughts well.
>>
>> Having a UI as a package gives users more choice and gives our users more
>> flexibility.
>> 1. Users would be able to use a latter version of the UI with an older
>> version of Solr, or vice versa.
>> 2. Users should be able to install multiple types of UI, from different
>> publishers, at once.
>> 3. Contributors should be able to contribute to the UI more easily, since
>> collaboration can be less bureaucratic. Experts like Marcus won't need to
>> depend on preoccupied committers like us.
>> 4. A UI (not the default one) can use libraries that aren't even Apache
>> 2.0 compatible.
>> 5. We can setup and use UI test frameworks for test automation (selenium
>> etc), that would be challenging to setup and maintain with ASF Jenkins.
>>
>> List goes on..
>>
>> Whether the package is a first party or third party can be a separate
>> discussion. There should be an extremely easy and well defined way (support
>> in the script itself) to start Solr with the packaged UI enabled.
>>
>> In any case, I don't think it is conducive to let UI code be part of the
>> Solr's core codebase, where it currently is. The reason is, we can't fix
>> bugs if we break something. We don't have automated testing either to know
>> whether or not we broke anything.
>>
>> Every healthy project has a rich plugin ecosystem, and such non core
>> improvements should be delivered via packages.
>>
>> On Fri, 10 Apr, 2020, 8:33 pm Marcus Eagan, <marcusea...@gmail.com>
>> wrote:
>>
>>> I agree with you. 😃
>>>
>>> On Fri, Apr 10, 2020 at 06:22 David Smiley <david.w.smi...@gmail.com>
>>> wrote:
>>>
>>>> I disagree that "package management frameworks are for loading
>>>> non-essential features or features not enabled by default".
>>>>
>>>> I don't think the proposal of the UI being a "package" (in the new
>>>> package system) implies that the UI (or _any_ package) is not a
>>>> highly valuable package that is so highly valuable that we want it
>>>> installed by default.  Noble and I were brainstorming on some ideas where
>>>> even much of Solr's internal instances of plugin interfaces (e.g. query
>>>> parsers, etc.) might even be a new "core" package or some-such.  The value
>>>> in putting much of Solr in a package, 1st party, is separation of concerns.
>>>> and better classpath management.
>>>>
>>>> I think it's "essential" that a UI ship with Solr by default --
>>>> meaning, without the user having to take any additional steps whatsoever.
>>>> As Jan said it's been this way a long time.
>>>>
>>>> ~ David Smiley
>>>> Apache Lucene/Solr Search Developer
>>>> http://www.linkedin.com/in/davidwsmiley
>>>>
>>>>
>>>> On Fri, Apr 10, 2020 at 1:35 AM Marcus Eagan <marcusea...@gmail.com>
>>>> wrote:
>>>>
>>>>> I think package management frameworks are for loading non-essential
>>>>> features or features not enabled by default. On essentialness,  experts
>>>>> should not decide what is essential based on how they use a system. They
>>>>> should consider the community of users. Regarding UI, it is and should be
>>>>> enabled by default. Only a few use cases prefer it to be disabled and some
>>>>> of those are because of its current state. They would like to use it in an
>>>>> updated form.
>>>>>
>>>>> What is the technical rationale that outweighs the needs and behaviors
>>>>> of our users to strip the user interface out of Solr?
>>>>>
>>>>> Thank you Noble and everyone else,
>>>>> Marcus
>>>>>
>>>>>
>>>>> On Thu, Apr 9, 2020 at 19:06 Noble Paul <noble.p...@gmail.com> wrote:
>>>>>
>>>>>> My 2 cents (again)
>>>>>>
>>>>>> if packages are disabled by default , how will UI work?
>>>>>>
>>>>>> We can make an exception for this one and enable only this by default
>>>>>>
>>>>>> Do we test the UI and certify it?
>>>>>>
>>>>>> The UI package can be shipped along with Solr distro ,like the million
>>>>>> other jars that we ship with Solr today and every version of Solr can
>>>>>> be certified for a certain version of the UI package. We should have
>>>>>> sanity tests to ensure that the given version of UI works well with
>>>>>> Solr. "My commit has broken the UI and it's not my problem" should not
>>>>>> be a valid excuse. The UI sanity tests should pass as a part of the
>>>>>> tests.
>>>>>>
>>>>>> Is the UI important?
>>>>>>
>>>>>> Yes, the admin UI is the face of Solr for may users. People always
>>>>>> assumed it existed & they depend on it.
>>>>>>
>>>>>> The current admin UI has fallen behind. If the new UI effort delivers
>>>>>> on the promise, this is a great opportunity to get rid of that old
>>>>>> baggage & make Solr codebase even slimmer
>>>>>>
>>>>>> On Fri, Apr 10, 2020 at 6:06 AM Jan Høydahl <jan....@cominvent.com>
>>>>>> wrote:
>>>>>> >
>>>>>> > Solr has always had an admin UI and if anyone wants to propose it
>>>>>> should not, please start another thread or vote about that, and do not
>>>>>> divert this thread which is about how to improve and future proof the 
>>>>>> Admin
>>>>>> UI.
>>>>>> >
>>>>>> > I believe the Admin UI should be strengthened and enhanced, not
>>>>>> removed. It can perfectly well be an official and even default on part of
>>>>>> every release, perfectly in sync. Whether it is in core as today or a
>>>>>> package or a stand-alone process or a new webapp, are then really what we
>>>>>> discuss here.
>>>>>> >
>>>>>> > Perhaps after people have voiced their opinions in this thread, a
>>>>>> SIP can be crafted with a concrete plan. We can then have a vote on the 
>>>>>> SIP.
>>>>>> >
>>>>>> > Jan Høydahl
>>>>>> >
>>>>>> > > 9. apr. 2020 kl. 20:06 skrev Cassandra Targett <
>>>>>> casstarg...@gmail.com>:
>>>>>> > >
>>>>>> > > ďťż
>>>>>> > > Thanks for your message, Gus. You touched on things I was
>>>>>> thinking this morning as I caught up to the thread, and had started to
>>>>>> draft a message about.
>>>>>> > >
>>>>>> > > I feel like there is an assumption underlying some of our
>>>>>> discussion about packages that says a feature or whatever has to either
>>>>>> part of our core codebase or 100% maintained by someone “outside” the
>>>>>> community (by which I mean someone who is not a committer and/or operates
>>>>>> completely independently from the rest of the project activities).
>>>>>> > >
>>>>>> > > But it’s important to remember there’s nothing inherent in the
>>>>>> package concept that says a package can't be wholly
>>>>>> maintained/distributed/supported by the Lucene PMC and our community of
>>>>>> committers and contributors. It’s not uncommon for software to have a 
>>>>>> base
>>>>>> package of the core software and also plugins that most users would
>>>>>> consider “essential”, maintained by the same people making the core, but
>>>>>> which are added after the base install. There would be details to work 
>>>>>> out
>>>>>> in terms of how we manage that, but none of those are technically
>>>>>> impossible. I don’t think we only have a binary choice (3rd party package
>>>>>> or part of Solr core).
>>>>>> > >
>>>>>> > > In fact, I’d go so far as to say I suspect the only way packages
>>>>>> are going to see any real traction is if we take the lead in creating and
>>>>>> maintaining a few to show the way forward for everyone else who may be
>>>>>> interested in doing the same. The package concept introduces an idea of a
>>>>>> Solr ecosystem that has not really existed to date and like all new
>>>>>> ecosystems (communities), it needs some degree of nurturing to grow or it
>>>>>> will not take off.
>>>>>> > >
>>>>>> > > To bring it back around to the UI, though, I agree we need to
>>>>>> decide: is a UI important? I would argue that it is. I regularly talk to
>>>>>> users whose Solr knowledge and experience are quite advanced yet who 
>>>>>> still
>>>>>> rely entirely on the UI to carry out basic tasks. It’s just easier - less
>>>>>> to remember, don’t need to look up a command, etc. Persistent problems 
>>>>>> with
>>>>>> performance of the UI in large clusters and gaping holes in functionality
>>>>>> are deeply frustrating to those users.
>>>>>> > >
>>>>>> > > Because it is important to our users, even if any new UI ends up
>>>>>> living outside our community, it will need our explicit approval in some
>>>>>> form or we’re going to hear complaints until the end of time that Solr
>>>>>> doesn’t have a UI (or worse, we “took away” the UI). Without our ongoing
>>>>>> endorsement and blessing it will just be another toy maintained by
>>>>>> “somebody” (no offense, Marcus) until he is forced to abandon it due to
>>>>>> lack of user interest and/or lack of personal time to do all the heavy
>>>>>> lifting by himself.
>>>>>> > >
>>>>>> > > Cassandra
>>>>>> > >> On Apr 9, 2020, 11:32 AM -0500, Erick Erickson <
>>>>>> erickerick...@gmail.com>, wrote:
>>>>>> > >> Gus:
>>>>>> > >>
>>>>>> > >> Very thoughtful post. I think you raise an _extremely_ important
>>>>>> point about “how critical is the UI?” And by extension other packages. If
>>>>>> they’re critical to Solr, the question of how to keep them in sync 
>>>>>> becomes
>>>>>> paramount.
>>>>>> > >>
>>>>>> > >> I agree that the admin UI is important, if we have a mechanism
>>>>>> to insure it’s kept in sync with the release that would be near the to of
>>>>>> my list.
>>>>>> > >>
>>>>>> > >> Best,
>>>>>> > >> Erick
>>>>>> > >>
>>>>>> > >>> On Apr 9, 2020, at 12:06 PM, Gus Heck <gus.h...@gmail.com>
>>>>>> wrote:
>>>>>> > >>>
>>>>>> > >>> In my view this brings us up against a bit of an existential
>>>>>> question. How do we ensure quality of packages that are key to Solr? I'm
>>>>>> sure that there are folks who don't find the UI very useful, but it's
>>>>>> important to others. The rationale that "elastic keeps their's separate"
>>>>>> has to be tempered by the actual real differences between Elastic and 
>>>>>> Solr.
>>>>>> Elastic has a corporate sponsor, a coordinated road map, and explicitly
>>>>>> ensures that all the bits that are maintained separately work together 
>>>>>> (so
>>>>>> that they don't have excessive support costs or bad first experiences 
>>>>>> that
>>>>>> impact their bottom line etc.).
>>>>>> > >>>
>>>>>> > >>> Solr is in a different place however, and we need to carefully
>>>>>> examine the question of whether something that works for Elastic works 
>>>>>> for
>>>>>> us. Lucidworks and several other large companies do spend a lot of money 
>>>>>> on
>>>>>> developers that contribute to Solr, but there is no organization around
>>>>>> multiple components that MUST work together. Another example of this is
>>>>>> Solr and Lucene, and our defense against a lack of coordination of
>>>>>> components in that case has been to unify them into a single release
>>>>>> package.
>>>>>> > >>>
>>>>>> > >>> So IMHO we need to answer 2 questions:
>>>>>> > >>> 1.) Do we consider the UI important. If I'm alone or in a
>>>>>> minority in feeling it's important, then so be it and it doesn't really
>>>>>> matter what we do. (maybe a vote?)
>>>>>> > >>> 2.) If we make it "a package" how do we ensure that important
>>>>>> packages such as the UI are never broken by a new release.
>>>>>> > >>>
>>>>>> > >>> IMHO I don't thing we should tolerate a situation where things
>>>>>> we consider important are broken frequently.
>>>>>> > >>>
>>>>>> > >>> For my part obviously my answer to 1 is "yes" :). As for 2, one
>>>>>> thing that comes to mind is what the Ant project did (may still do?) with
>>>>>> (and my memory from 15 years ago is foggy here, so forgive me if 
>>>>>> something
>>>>>> I say is not quite perfect) the GUMP build server that ran ant builds 
>>>>>> for a
>>>>>> bunch of different projects that depended on ant to ensure early 
>>>>>> detections
>>>>>> of changes that would break existing projects. If we have a good UI test
>>>>>> suite and commit to that being part of the release build package that 
>>>>>> might
>>>>>> be a solution. I honestly don't actually care where it lives, but I do
>>>>>> think it hurts us if it becomes broken and unusable, or hard to install.
>>>>>> > >>>
>>>>>> > >>> My worry is that "Solr developers are not UI developers" is
>>>>>> really code-words for "I want to be able to break it and let others clean
>>>>>> up the mess, because I'm not a UI developer". I have this worry with
>>>>>> respect to all "packages", but I may be missing info from discussions 
>>>>>> about
>>>>>> the package system, which initiated during a very busy period for me so
>>>>>> background links that I should have read are welcome if I've got 
>>>>>> something
>>>>>> wrong here :) I went looking for a SIP but didn't see it... I have found 
>>>>>> a
>>>>>> google doc linked from SOLR-13661
>>>>>> > >>>
>>>>>> > >>> Finally to a detail about one of the above suggestions the
>>>>>> option to automatically download and install the UI could be good, but 
>>>>>> that
>>>>>> then requires that packages be available from somewhere that never goes
>>>>>> away like maven central, or that Apache commits to hosting a repository
>>>>>> server indefinitely, but again that's surely been discussed WRT packages
>>>>>> already... Using Github in such a way is subject to being broken
>>>>>> arbitrarily when Github decides to restrict things for cost reasons (ask
>>>>>> Bower about that one WRT rate limiting...) or the "repository" has to be
>>>>>> something local and therefore must be included part of the 
>>>>>> distribution...
>>>>>> at which point it's still a thing we distribute and since we're
>>>>>> distributing it and we probably don't mean to distribute broken stuff we
>>>>>> still need UI developers...
>>>>>> > >>>
>>>>>> > >>> Also, I thought the package loading stuff was supposed to be
>>>>>> disabled by default for security, that seems to conflict with or at least
>>>>>> complicate the notion of easily installing as a package.
>>>>>> > >>>
>>>>>> > >>> So "package" is a good for modularizing code, or for 3rd party
>>>>>> (possibly paid) plugins (I have a client that might find that interesting
>>>>>> in the future) but we have to ensure that it doesn't lead to a lack of
>>>>>> maintenance for things that are critical.
>>>>>> > >>>
>>>>>> > >>> Incidentally though I've said I favor Angular CLI,
>>>>>> (significantly because I've got some start on learning it) it also occurs
>>>>>> to me that perhaps anything "modern" is a difficulty because those things
>>>>>> all have a learning curve, and maximizing accessibility and ease of
>>>>>> modifications for folks not steeped in UI development might be our 
>>>>>> priority
>>>>>> (different from the priorities a commercial site would have). The flip 
>>>>>> side
>>>>>> argument is that with a popular framework, it would be easier for UI
>>>>>> focused folks to contribute... but will they? and does that leave us
>>>>>> perennially rewriting the UI in whatever is popular? (maybe that's ok?) I
>>>>>> think in all our decisions here we need to be very careful to distinguish
>>>>>> how our needs may differ in unusual ways from the needs of commercial web
>>>>>> development.
>>>>>> > >>>
>>>>>> > >>> -Gus
>>>>>> > >>>
>>>>>> > >>> On Thu, Apr 9, 2020 at 8:14 AM Erick Erickson <
>>>>>> erickerick...@gmail.com> wrote:
>>>>>> > >>> Marcus:
>>>>>> > >>>
>>>>>> > >>> re-reading the thread, it looks to me like the consensus from
>>>>>> Noble and Ishan and Jan is that as long as the new, nifty UI is a 
>>>>>> separate
>>>>>> package, go ahead and knock yourself out ;). The objection is to making 
>>>>>> it
>>>>>> part of the Solr code base… We’ll all be thrilled with if we can rip the
>>>>>> current admin UI out ;)
>>>>>> > >>>
>>>>>> > >>> That said, I suspect it’ll be one of the tighter packages. It’d
>>>>>> be super-cool if we could run the UI tests on Jenkins say once a day just
>>>>>> to keep it up to date.
>>>>>> > >>>
>>>>>> > >>> The admin UI has always been somewhat awkwardly bolted on the
>>>>>> side of Solr, it’d be great to have it have a more elegant architecture.
>>>>>> > >>>
>>>>>> > >>> The other exciting thing would be that clients could then use
>>>>>> the package code as something they can incorporate/fork/whatever.
>>>>>> Practically every client I’ve worked with at large installations has 
>>>>>> rolled
>>>>>> their own dashboard. If they could use a package as a starting point, 
>>>>>> it’d
>>>>>> be welcome.
>>>>>> > >>>
>>>>>> > >>> Best,
>>>>>> > >>> Erick
>>>>>> > >>>
>>>>>> > >>>> On Apr 9, 2020, at 3:07 AM, Marcus Eagan <
>>>>>> marcusea...@gmail.com> wrote:
>>>>>> > >>>>
>>>>>> > >>>> Hey Noble,
>>>>>> > >>>>
>>>>>> > >>>> -1 is a definitive, so I want to clarify that you are saying
>>>>>> you do not wish to remove the EOL front end and replace it with another 
>>>>>> one
>>>>>> in the longer term?
>>>>>> > >>>>
>>>>>> > >>>> I hear you! As a product manager in my day job, my primary
>>>>>> goal is to find features to cut! I spend a lot of time thinking about
>>>>>> non-essential vs used heavily vs causes more problems than it's worth. I
>>>>>> can tell you from watching the many people in the field at Lucidworks,
>>>>>> there are a lot of people who know quite a bit about Solr, but rely on 
>>>>>> the
>>>>>> Admin UI heavily because they feel comfortable there. Those people in
>>>>>> effect help us stay employed despite never contributing or being capable 
>>>>>> of
>>>>>> contributing to Solr. So hear me out. I've got a proposal:
>>>>>> > >>>>
>>>>>> > >>>> To start, I can work on this app as an optional package for
>>>>>> your awesome new package manager. It will be the second one I've worked 
>>>>>> on
>>>>>> in my evenings and weekends btw. The first was a package validator that I
>>>>>> hope to eventually open source, but its complexity and lack of popularity
>>>>>> because it is security ;( will likely make it the second one I open
>>>>>> source/finish. I'm also collaborating with a couple members of the
>>>>>> Lucidworks security team on that one, but I have built the basics already
>>>>>> for them to build upon.
>>>>>> > >>>>
>>>>>> > >>>> Back to the new UI discussion and my update that I promised.
>>>>>> > >>>>
>>>>>> > >>>> My update was going to be that after evaluating the projects
>>>>>> Jan posted, the most recent project that Jan listed created a pretty good
>>>>>> base to build on. After lots of auditing of the packages and a bit of
>>>>>> refactoring because the UI world moves fast, I was able to get it to
>>>>>> transpile and run again (as I'm sure it previously did) and from (2290
>>>>>> vulns):
>>>>>> > >>>> <image.png>
>>>>>> > >>>> no npm fix doesn't magically fix, I wish it did
>>>>>> > >>>>
>>>>>> > >>>> to (2 low sev, non-productions vulns):
>>>>>> > >>>> <image.png>
>>>>>> > >>>>
>>>>>> > >>>> These two issues will not affect production and really only
>>>>>> the unit tests. Besides, I plan to remove them before we get to a stage
>>>>>> even that matters. I've also started investigating the level of effort 
>>>>>> for
>>>>>> me to get it to feature parity with the current app. The preliminary 
>>>>>> answer
>>>>>> is not very much compared to other work I've done in shorter time — 
>>>>>> working
>>>>>> with a jerk for a boss (years ago, don't worry Hatcher). I'm building a
>>>>>> couple of the missing features as we speak. From the beginning, it will
>>>>>> have infinitely more test coverage and will be a lot more approachable to
>>>>>> contemporary UI developers. It will also make the Solr experience for new
>>>>>> developers simpler. The major design changes that I have been thinking
>>>>>> about would be to the cloud view and the query view. Both of those are
>>>>>> important, the first to more experienced users, and the second to less
>>>>>> advanced users though occasionally an advanced debugger or demo presenter
>>>>>> in my experience.
>>>>>> > >>>>
>>>>>> > >>>> In the end Noble, this is about making Solr more approachable
>>>>>> to new users not experts like you. The growth of Solr adoption only
>>>>>> benefits you, so I would ask you to revisit your -1 at some point in the
>>>>>> near future when you see the progress and breadth of improvement. We have
>>>>>> had customers complain about the Admin UI and the community has even
>>>>>> complained about it. I think this is the right thing to do. If you still
>>>>>> consider effectively upgrading the current Admin UI as feature creep, I 
>>>>>> can
>>>>>> revisit the package manager compromise or move the efforts elsewhere. I
>>>>>> respect your position. A search service is nothing without a strong and
>>>>>> diverse set of skills and capabilities behind it and making it accessible
>>>>>> to everyone who needs it.
>>>>>> > >>>>
>>>>>> > >>>> For those who care, here's my 4 Node cluster of tech products
>>>>>> running locally.
>>>>>> > >>>>
>>>>>> > >>>> <image.png>
>>>>>> > >>>>
>>>>>> > >>>> The shoulders of the homie that put that scaffold together are
>>>>>> broad! Props to him. I will volunteer to put together extensive docs for 
>>>>>> JS
>>>>>> devs who want to contribute and make it better once we get it to a place
>>>>>> where it replaces and improves upon the current option. I'll even sponsor
>>>>>> some prizes for college kids or people recently out of work to get 
>>>>>> cranking
>>>>>> on this bad boy.
>>>>>> > >>>>
>>>>>> > >>>> Thank you Noble and everyone else,
>>>>>> > >>>>
>>>>>> > >>>> Marcus
>>>>>> > >>>>
>>>>>> > >>>> On Wed, Apr 8, 2020 at 11:20 PM Noble Paul <
>>>>>> noble.p...@gmail.com> wrote:
>>>>>> > >>>> Solr developers are not UI experts. We are a search service
>>>>>> and such a service should have nice clean APIs + documentation. Is a UI
>>>>>> useful ? yes. The last thing we want today is another complex component 
>>>>>> in
>>>>>> Solr codebase that nobody understands or cannot maintain.
>>>>>> > >>>>
>>>>>> > >>>> So, Solr UI can be hosted outside our codebase and we can have
>>>>>> an option to install UI from that remote repo
>>>>>> > >>>>
>>>>>> > >>>> something like "bin/solr install-gui"
>>>>>> > >>>>
>>>>>> > >>>> I'm -1 on anymore feature creep.
>>>>>> > >>>>
>>>>>> > >>>> --Noble
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>> On Thu, Apr 9, 2020 at 12:22 PM Marcus Eagan <
>>>>>> marcusea...@gmail.com> wrote:
>>>>>> > >>>> Thanks again Gus.
>>>>>> > >>>>
>>>>>> > >>>> Lots of people indeed misuse REST so we could go on and on
>>>>>> about whether requests are stateless or not in another thread. Let's 
>>>>>> spare
>>>>>> the group.
>>>>>> > >>>>
>>>>>> > >>>> I think most everyone on this channel would be in agreement
>>>>>> with you on separate app. I'll be opening a new ticket and a PR that will
>>>>>> document a few things to make it easy for UI devs who know little to no
>>>>>> Java how to get started.
>>>>>> > >>>>
>>>>>> > >>>> Ishan, there's some significant UI expertise in the team.
>>>>>> Erickson finds his way to open every cookie jar. Erik Hatcher wrote the
>>>>>> first version of Blacklight. I've seen Pugh do lots of work on Quepid's 
>>>>>> UI.
>>>>>> Jan and Kevin have done a lot of work, and so have many others. The list
>>>>>> goes on, and *likes to work on UI* is a different discussion.
>>>>>> > >>>>
>>>>>> > >>>> Beyond committers because I'm not a committer, I have UI
>>>>>> expertise that I can polish off and improve for the sake of my interest 
>>>>>> and
>>>>>> commitment to the community and I like to do it. I've also led UI teams. 
>>>>>> I
>>>>>> can help to steward the effort overall and keep things up to date up to 
>>>>>> the
>>>>>> point where I need to ask one of the committers to help me get changes
>>>>>> merged. I'll probably even hire a developer to work on it once we are to
>>>>>> that point. ;-)
>>>>>> > >>>>
>>>>>> > >>>> Expertise is not something that should block us but motivate
>>>>>> us to expand this community and/or our own skillsets long term.
>>>>>> > >>>>
>>>>>> > >>>> Thank you both and everyone else,
>>>>>> > >>>>
>>>>>> > >>>> Marcus
>>>>>> > >>>>
>>>>>> > >>>> On Wed, Apr 8, 2020, 10:21 AM Gus Heck <gus.h...@gmail.com>
>>>>>> wrote:
>>>>>> > >>>> While running it in an external node does ensure separability,
>>>>>> I don't think it does a good job of addressing my other point of not
>>>>>> needing to manage a 3rd server. It's still a server if it's started by
>>>>>> java, and one still has to ensure it exists, and it will be extra hard to
>>>>>> figure out how to configure it if started by Solr.
>>>>>> > >>>>
>>>>>> > >>>> I'm strongly in favor of us having a UI from my perspective as
>>>>>> a consultant it makes discovery of things like their startup parameters 
>>>>>> and
>>>>>> directories and such very easy (just go to front page of the admin 
>>>>>> screen),
>>>>>> and it's so much easier to get a customer with security concerns and 
>>>>>> strict
>>>>>> controls on who can access what (think banks, military, etc) to share a 
>>>>>> web
>>>>>> session where they drive the UI than to get direct access to machines.
>>>>>> It'll be a lot slower and much lower service to be making people wait 
>>>>>> while
>>>>>> I craft curl statements to paste into the web session (and then fix the
>>>>>> inevitable typos, or detect when they missed the last char of what I
>>>>>> pasted, etc...).
>>>>>> > >>>>
>>>>>> > >>>> I definitely against Solr spawning some other server (node or
>>>>>> otherwise) on it's own and thereby requiring additional system
>>>>>> dependencies, or creating a second process that needs to be configured 
>>>>>> and
>>>>>> properly secured. To me that's even worse than requiring the UI to run
>>>>>> outside of Solr. We have a perfectly good web container already, and
>>>>>> furthermore there's a much greater likelihood that maintainers will be
>>>>>> facile with java/j2ee than anything else (IMHO). It's great if the
>>>>>> framework we choose uses little or no JSP/Servlet and is modernized with 
>>>>>> a
>>>>>> 100% javascript, templated etc. front end, but the back end should be
>>>>>> java/jetty because we've got lots of java folks.
>>>>>> > >>>>
>>>>>> > >>>> If the back end matters deeply then you're not really
>>>>>> programming to MVC/REST style...
>>>>>> > >>>>
>>>>>> > >>>> So there's another $0.02 :) and if you're not careful I'll
>>>>>> give you an entire nickle's worth of ways people misuse/misunderstand the
>>>>>> term REST :)
>>>>>> > >>>>
>>>>>> > >>>> -Gus
>>>>>> > >>>>
>>>>>> > >>>> On Tue, Apr 7, 2020 at 9:06 PM Marcus Eagan <
>>>>>> marcusea...@gmail.com> wrote:
>>>>>> > >>>> Gus,
>>>>>> > >>>>
>>>>>> > >>>> Your $.02 are worth a lot more than $.02 USD, so thank you.
>>>>>> > >>>>
>>>>>> > >>>> By separate app, I think I mean to endorse managed by a
>>>>>> Node.js process started by NPM. I don’t think that conflicts with what 
>>>>>> you
>>>>>> have proposed. The NPM command should be issued by Java || or Bash but I
>>>>>> don’t think it would add significant overhead. Also, seems like on CI and
>>>>>> or precommit hooks front end could be sizzled in parallel without adding
>>>>>> much overhead.
>>>>>> > >>>>
>>>>>> > >>>> As for the front end framework, the most important things to
>>>>>> consider in my view are simplicity and maintainability. We need to do a
>>>>>> thorough analysis on the ecosystem and issues like the size of a React
>>>>>> project vs Angular project vs Vue project, but React and Vue certainly 
>>>>>> have
>>>>>> the velocity and the hearts if the front end community more than Angular.
>>>>>> React is MIT license now and for the foreseeable
>>>>>> > >>>> future thanks to the power and reach of its developers.
>>>>>> > >>>>
>>>>>> > >>>> <gus.h...@gmail.com> wrote:
>>>>>> > >>>> +1 for Angular CLI / Typescript since I've fiddled with this
>>>>>> in a minor way recently, Also MIT license is super friendly.
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>> As a disenfranchised volunteer to the project, I also assume
>>>>>> voters on specific choices like frameworks will be helping build in some
>>>>>> respect at some point now or in the future. Is that a fair or misguided
>>>>>> assumption?
>>>>>> > >>>>
>>>>>> > >>>> Marcus
>>>>>> > >>>>
>>>>>> > >>>> On Tue, Apr 7, 2020 at 17:15 Gus Heck <gus.h...@gmail.com>
>>>>>> wrote:
>>>>>> > >>>> +1 for Angular CLI / Typescript since I've fiddled with this
>>>>>> in a minor way recently, Also MIT license is super friendly.
>>>>>> > >>>>
>>>>>> > >>>> Separate App - hmm... that's got some attraction, but also
>>>>>> gives my stomach some churning when I think about solr now requiring
>>>>>> management of 3 different servers (solr, something to serve UI and
>>>>>> zookeeper). Adding more infrastructure gives me pause with respect to all
>>>>>> the smaller installations. I've had several small self funded startup
>>>>>> clients and a few clients with existing initial installs that they are
>>>>>> outgrowing in places where procuring new machines and new software is a
>>>>>> 6-12 mo endeavor and both types seem to squirm when I make suggestions 
>>>>>> such
>>>>>> as running zookeeper separately, (let alone 3 of them). I think separate
>>>>>> looks good for medium to large folks or very large companies that 
>>>>>> **already
>>>>>> have** a solr expert on hand, but hurts the small clients and the
>>>>>> departments in large orgs that got started with insufficient
>>>>>> advice/expertise, so maybe
>>>>>> > >>>>
>>>>>> > >>>> - The UI should be installed by default
>>>>>> > >>>> - it should be easy to remove it, or start with it disabled
>>>>>> > >>>> - it should be self contained and separately downloadable.
>>>>>> > >>>>
>>>>>> > >>>> My recent fiddling included figuring out how to make angular
>>>>>> CLI play nice in a J2ee war file structure seen here:
>>>>>> https://github.com/nsoft/ns-login
>>>>>> > >>>>
>>>>>> > >>>> By play nice I mean,
>>>>>> > >>>> - build creates a war file that "just works" when installed
>>>>>> > >>>> - Angluar CLI commands work
>>>>>> > >>>> - Angular serve command works (for auto-reloading ui changes,
>>>>>> running on port 4200; note the use of proxy to allow it to talk to an
>>>>>> already running web container)
>>>>>> > >>>>
>>>>>> > >>>> My $0.02,
>>>>>> > >>>>
>>>>>> > >>>> -Gus
>>>>>> > >>>>
>>>>>> > >>>> On Mon, Apr 6, 2020 at 11:03 AM JĂśrn Franke <
>>>>>> jornfra...@gmail.com> wrote:
>>>>>> > >>>> I think standalone would be very useful.
>>>>>> > >>>> I propose Angular with Typescript - it fits to a more data
>>>>>> centric approach with data types etc.
>>>>>> > >>>> Maybe even two types of UIs - Admin UI and a simple Search UI.
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>>> Am 06.04.2020 um 16:53 schrieb Jan Høydahl <
>>>>>> jan....@cominvent.com>:
>>>>>> > >>>>>
>>>>>> > >>>>> ďťżThanks for kickstarting this and bringing some fresh blood
>>>>>> and enthusiasm :)
>>>>>> > >>>>>
>>>>>> > >>>>> Looks like others have had similar wish for a standalone Solr
>>>>>> Admin App, here’s a quick GitHub search for inspiration:
>>>>>> > >>>>>
>>>>>> > >>>>> https://github.com/savantly-net/solr-admin (Angular, nice
>>>>>> screenshots, 1y old)
>>>>>> > >>>>> https://github.com/kezhenxu94/yasa (vuejs, impressive
>>>>>> screenshots, 2y old)
>>>>>> > >>>>> https://github.com/thereactleague/galaxy (React, no
>>>>>> screenshots, 4y old)
>>>>>> > >>>>>
>>>>>> > >>>>> They all seem abandoned but perhaps a new official effort
>>>>>> could bring their developers in as contributors again?
>>>>>> > >>>>>
>>>>>> > >>>>>> the people who work on the Admin UI do not need to be
>>>>>> expected to know the Java workflow, necessarily. This reality widens the
>>>>>> net for who can contribute.
>>>>>> > >>>>>
>>>>>> > >>>>> Agree. Frontend devs have been a shortage in this project,
>>>>>> and if we can make it easier to attract UI committers who feel at home 
>>>>>> and
>>>>>> productive with the UI code, that would be a win. On the other hand, if 
>>>>>> we
>>>>>> expect that the UI will be maintained by regular Java committers, then
>>>>>> anything that makes it easier for them/us to contribute is also a win, 
>>>>>> like
>>>>>> perhaps strongly-typed.
>>>>>> > >>>>>
>>>>>> > >>>>> Again, thanks Marcus for reviving this topic. Let us all try
>>>>>> not to be overly ambitious here or shoot the initiative down with
>>>>>> bikeshedding. It is far more important to fuel the energy and momentum 
>>>>>> and
>>>>>> get something built than to remain stuck :)
>>>>>> > >>>>>
>>>>>> > >>>>> Jan
>>>>>> > >>>>>
>>>>>> > >>>>>
>>>>>> > >>>>>> 6. apr. 2020 kl. 13:47 skrev Marcus Eagan <
>>>>>> m...@marcuseagan.com>:
>>>>>> > >>>>>>
>>>>>> > >>>>>> Coming back to these existential questions from my phone:
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>> Jan Høydahl
>>>>>> > >>>>>> Added 1 hour ago
>>>>>> > >>>>>> There are many opinions around admin UI. So I think the best
>>>>>> place to start would be a new mail-thread in dev@ to discuss the way
>>>>>> forward. Before we start a major re-work, we should probably ask 
>>>>>> ourselves
>>>>>> a few existential questions:
>>>>>> > >>>>>> • Should we turn Amin UI into a standalone app instead of
>>>>>> embedded in Solr?
>>>>>> > >>>>>>
>>>>>> > >>>>>> I think it should be a standalone app. There are many
>>>>>> advantages gained from a separation of such concerns. Some of the ones
>>>>>> include, the people who work on the Admin UI do not need to be expected 
>>>>>> to
>>>>>> know the Java workflow, necessarily. This reality widens the net for who
>>>>>> can contribute.
>>>>>> > >>>>>>
>>>>>> > >>>>>> Testing becomes a lot easier because JS developers are
>>>>>> accustomed to building tests for static assets and self-contained node
>>>>>> apps. They generally know less about testing a bit of JS within a massive
>>>>>> Java project. The test could also run independently for changes that only
>>>>>> affect the front end. Adding test coverage without adding time to tests
>>>>>> sounds awesome.
>>>>>> > >>>>>>
>>>>>> > >>>>>> There are quite a few tickets over the years that have
>>>>>> seemed to suggest that people want more fine-grained control over the 
>>>>>> Solr
>>>>>> admin UI overall. Two recent tickets discussed topics like running a Solr
>>>>>> Admin app on only one node and disabling it al together for whatever
>>>>>> reason. See: https://issues.apache.org/jira/browse/SOLR-14014.
>>>>>> > >>>>>>
>>>>>> > >>>>>> • What UI framework? Guess anything is better than current
>>>>>> EOL, but will largely depend on who is willing to do the job!
>>>>>> > >>>>>> I’m happy to take this on (and willing to follow through on
>>>>>> completing in my nights and weekends), but I am mostly framework 
>>>>>> agnostic.
>>>>>> My stronge preference would be React, provided the license is kosher. 
>>>>>> There
>>>>>> was one blip of “practically unusable for most orgs” a couple years back,
>>>>>> but Facebook made it right really soon after. However, I’m flexible.
>>>>>> Angular (not JS) and Vue are also great. I would recommend we consider
>>>>>> Typescript also because of the size of project and number of 
>>>>>> strongly-typed
>>>>>> devs on this mailing list. My only reservation with TypeScript, though it
>>>>>> may not apply in this case, is that the supersets of JS have changed a 
>>>>>> lot
>>>>>> more than the frameworks. While CoffeeScript was an unnecessary layer of
>>>>>> abstraction from my limited perspective, TypeScript might make JS more
>>>>>> embraceable to a list of Java hackers.
>>>>>> > >>>>>>
>>>>>> > >>>>>> • Current UI has no test coverage, can we do better with the
>>>>>> new UI?
>>>>>> > >>>>>>
>>>>>> > >>>>>> It’s imperative.React, Angular, and Vue each make it easy to
>>>>>> include tests.
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> https://issues.apache.org/jira/browse/SOLR-12276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17076204#comment-17076204
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>>
>>>>>> > >>>>>
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>> --
>>>>>> > >>>> http://www.needhamsoftware.com (work)
>>>>>> > >>>> http://www.the111shift.com (play)
>>>>>> > >>>> --
>>>>>> > >>>> Marcus Eagan
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>> --
>>>>>> > >>>> http://www.needhamsoftware.com (work)
>>>>>> > >>>> http://www.the111shift.com (play)
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>> --
>>>>>> > >>>> -----------------------------------------------------
>>>>>> > >>>> Noble Paul
>>>>>> > >>>>
>>>>>> > >>>>
>>>>>> > >>>> --
>>>>>> > >>>> Marcus Eagan
>>>>>> > >>>>
>>>>>> > >>>
>>>>>> > >>>
>>>>>> > >>>
>>>>>> ---------------------------------------------------------------------
>>>>>> > >>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>>>> > >>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>>> > >>>
>>>>>> > >>>
>>>>>> > >>>
>>>>>> > >>> --
>>>>>> > >>> http://www.needhamsoftware.com (work)
>>>>>> > >>> http://www.the111shift.com (play)
>>>>>> > >>
>>>>>> > >>
>>>>>> > >>
>>>>>> ---------------------------------------------------------------------
>>>>>> > >> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>>>> > >> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>>> > >>
>>>>>> >
>>>>>> >
>>>>>> ---------------------------------------------------------------------
>>>>>> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>>>> > For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>>> >
>>>>>>
>>>>>>
>>>>>> --
>>>>>> -----------------------------------------------------
>>>>>> Noble Paul
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>>>
>>>>>> --
>>>>> Marcus Eagan
>>>>>
>>>>> --
>>> Marcus Eagan
>>>
>>>
>
> --
> Marcus Eagan
>
>

Reply via email to