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

Reply via email to