Cassandra, Jan, et al.,

Looks like I cannot create a SIP. There is a Jira already, but perhaps I
will create a new Jira that answers these two very questions:

My wish for the SIP is to be very clear on exactly how the UI is proposed
shipped and whether any manual steps are needed to enable/install. Also try
to clarify whether you propose a big-bang replace or whether the old and
new UI will need to co-exists.

@ Yeikel - The UI will not introduce changes to the APIs. I think we ought
to consider as a community modifying some APIs is a learning I have
garnered from this work.  The UI will be maintained, for sure.

Thanks, Marcus

On Tue, Apr 14, 2020 at 7:35 AM yeikel valdes <em...@yeikel.com> wrote:

> And whether they can coexist at all. From the previous emails it seemed
> to me this change will introduce changes to the existing APIS and I that
> means that compatibility will be broken. I am also not sure if it we will
> maintain the existing UI after that.
>
>
> ---- On Tue, 14 Apr 2020 09:51:23 -0400 * jan....@cominvent.com
> <jan....@cominvent.com> * wrote ----
>
> Yes, please go through SIP before inviting us to review the actual PR.
> And once you re-work the SIP page based on feedback and converge towards
> consensus, I’d recommend starting a formal VOTE thread for the SIP, as
> outlined in the SIP page. That way people can have a chance to speak up on
> the overall design so that does not become a topic once again in the PR.
>
> My wish for the SIP is to be very clear on exactly how the UI is proposed
> shipped and whether any manual steps are needed to enable/install. Also try
> to clarify whether you propose a big-bang replace or whether the old and
> new UI will need to co-exists.
>
> Jan
>
> 14. apr. 2020 kl. 15:29 skrev Cassandra Targett <casstarg...@gmail.com>:
>
> Marcus,
>
> A couple thoughts…
>
> First, sorry you’re having problems with Confluence. I suspect the issue
> is permissions. There are only two groups allowed to add pages to the SOLR
> space, “lucene” and “lucene-pmc”. I believe these correspond to ASF LDAP
> groups, which would mean they include committers and PMC members only. We
> can grant you individual permission to add/edit pages, however; we’ve done
> this for a handful of others. I could do this for you, just ping me
> off-thread so I can confirm your username.
>
> I don’t know what happened to the pages you tried to create. You can try
> to see if they are hidden somehow, maybe in your profile’s “Recently worked
> on” section (
> https://cwiki.apache.org/confluence/dashboard.action#recently-worked).
> When you’re on that page, the menu on the left also shows a “Saved for
> later” page that maybe has them.
>
> At any rate, I wouldn’t suggest putting all the design
> decisions/discussion into a PR. That’s what we traditionally used Jira for.
> We decided to use SIPs to make navigating design discussions in Jira easier
> - decisions would get lost in comments - and to forestall someone doing
> possibly wasted work until they have some degree of community agreement for
> what they hope to do. If you put it in a PR, by its very nature those
> decisions would already be made and that could lead to significant amounts
> of rework.
>
> The SIP process is to write up the SIP and then file a Jira issue, and you
> can’t file a PR without a Jira, so you’ll need a Jira issue for this work
> anyway. If you really can’t write a SIP, then the fallback is Jira, not a
> PR.
>
> Re: the API issues - those should also go into Jira. I can’t see your list
> so far since it requires permission, but I’ll just say I would not
> recommend dropping your whole doc into a single Jira. They’ll need to be
> broken out into separate ones (and it’s pretty likely issues already exist
> for at least some of the things). I know that sounds like a PITA, but we
> don’t track issues in personal Google docs, we use Jira. And if some of the
> items are possibly controversial, then individual items for each one will
> allow us to work through the controversies and not stall progress on things
> that are not problematic (if anyone is so inclined to work on those).
>
> Hopefully you don’t mind the unsolicited advice on this, just trying to
> help you understand some of our ways of doing things.
>
> Cassandra
> On Apr 14, 2020, 3:18 AM -0500, Marcus Eagan <marcusea...@gmail.com>,
> wrote:
>
> Mike and Gus,
>
> I tried to share my SIP after writing it, and then it disappeared. I also
> tried to write some and save it, but then it disappeared. I also tried to
> write it outside the wiki and paste it again.
>
> I'm not sure what's going on, but I will try again tomorrow I suppose. If
> I fail again, my SIP will probably come in the form of a Pull Request, with
> videos, screenshots, a lit of todos, and helpful documentation so that
> people can get started easily.
>
> From this project, I have also uncovered what I would consider some
> serious issues with the Solr API and some other issues that I dig through
> Jira for before I bother the community. I will do my best to document them
> all and open tickets. Some times I rage quit, walk away, come back and
> forget. I will try to fix some of them, but some of them that I have looked
> into look like worm cans. It might be good if a few people here are
> prepared to explore fixing the API in a few areas, but I'm not sure about
> the best way to go about doing that with angering lots of people. *Seeking
> advice on how to approach the API challenges.* I don't just want to start
> complaining about things, nor do I want to take on everything. A small
> group from a variety of different organizations to discuss some of these
> challenges might be most helpful. On the flip side, I suspect things will
> improve in other areas as a result.
>
> You can view progress here:
> https://drive.google.com/file/d/1NgO34DRp1llMp3EwJQcKBn2LM4r5PD39/view?usp=sharing
>
> I've mostly managed to get all the requests sorted, and rendering of the
> data (mostly). i didn't get much time today as I was very busy at work. And
> tomorrow I get my quarantine checkup and will probably be sleepy early. But
> by the end of next weekend, I should have finished everything but the query
> editor and all the other associated collections screens which I will bucket
> under collections. That current dropdown menu is less intuitive than
> optimal but I understand.
>
> Soliciting feedback now because once I open the PR I am hoping we have
> agreed on as many things as possible. If no one suggest query view designs,
> I will mock some up and share them. Again, I repeat, not a designer. But I
> did take couple classes, and have built products from start to finish
> mostly on an island so I will be able to manage. Looking for feedback that
> the community might be getting from its clients. Obviously, I cannot
> accommodate all the requests, but if something is recurring, I want to
> support the users to support the adoption of this new UI.
>
> As if I needed to say it, and many of you probably suspected this was
> coming: Erick this is a lot of work. Holy shit. And not just because I'm a
> product manager. It would be challenging for anyone. This project, like all
> project, has some skeletons. From my perspective, that's gfreat because
> there are lots of things to improve. Also, the project is still pretty
> amazing.
>
> Thanks again for your help everyone,
>
> Marcus
>
>
> On Mon, Apr 13, 2020 at 9:55 AM Marcus Eagan <marcusea...@gmail.com>
> wrote:
>
> Gus,
>
> SIP sounds good. I will share.
>
> Marcus
>
>
>
> On Mon, Apr 13, 2020 at 09:13 Gus Heck <gus.h...@gmail.com> wrote:
>
> Maybe start collecting Design and Design choices in a SIP? This discussion
> has been good and there seems to be consensus that we want a new UI, we
> want it to be a package and we want the package to be available by default
> and well tested. "Package" seems to imply that it can be added or removed
> or replaced or an alternative UI installed along side of it. If we got all
> of those things done this would be amazingly awesome :)
>
> Another thing that would be valuable is a good doc that explains  "how to
> edit and maintain the UI", written for an audience that is experienced in
> SW dev but not UI development (probably including some basics around
> framework chosen). This could be in a README or in the "dev docs" that has
> been mentioned elsewhere.
>
> The SIP would be a great place to elaborate on technology choices & supply
> a link to things like the video :)
>
> On Mon, Apr 13, 2020 at 10:35 AM Mike Drob <md...@apache.org> wrote:
>
> Hi Marcus,
>
> The mailing list strips attachments for some folks, can you upload the
> video somewhere else and link to it for us poor unfortunate souls? Thanks
> for your work! Excited to see the progress as it happens.
>
> Mike
>
> On Mon, Apr 13, 2020 at 5:30 AM Marcus Eagan <marcusea...@gmail.com>
> wrote:
>
> In general, I asked for some degree of trouble when I volunteered for this
> work. Don't beat me too hard. My primary goal is to achieve three things:
>
> 1) Improve security when using Solr Admin UI by removing EOL, unsupported
> code.
> 2) Make it easier or more welcoming for new developers to try the project
> and even become contributors in all areas of the project because the UI
> looks and functions as slightly more contemporary.
> 3) Give back more substantially to a community from which I have received
> so much with a testable and perrty UI.
>
> I've added another (4) which is contribute to help make the package
> manager a first-class citizen in the minds of many Solr users around the
> world via the UI package. I will need some help from someone in this list
> on deploying this UI with a jar in Gradle if we want to offer an
> alternative option to install the UI in Solr 9. I've attached where I'm at.
> It's a nights and weekends project, but I will always be available for
> bug fixes or discussions, unless i'm in a meeting or reading a book 😇
>
> I won't solicit a ton of feedback prior to the the first PR, which I will
> leave open for a few weeks or even a couple months while I put some
> lipstick on it and improve performance of the application
>
> *<<<<<<< Over the weekend read lots of documentation, wrote a bunch of
> code when it wasn't holidays, built the services, and stumbled through the
> logic of rendering all these data points so you can watch the attached
> video if you want to check it out.  >>>>>>>>*
>
> . There's definitely some areas where I didn't do the TypeScript thing
> because I'm still trying to grok it a bit.The two areas of the that I am
> looking to somewhat overhaul in potentially controversial ways are the 
> *queries
> page* and actual flow of the collections experience, which at the moment
> are sort of linked, yet disconnected at the same time. The Collections page
> tab today is really an Alias page. It won't have its own tab in the new
> application is the plan, unless someone can give me a good reason. Almost
> everything else will stay the same.
>
> For that reason, I'd like to solicit feedback if anyone has any examples
> or ideas they'd like to share, I would greatly appreciate it. I'm somewhat
> far along with the Admin UI as of now. Short weekend because of holiday
> activities and general quarantine craziness, but I'm maybe 25-35% of the
> way to completion, depending on how much care I devote to the query
> screen.
>
> Even though there are some big problems with Angular — some major ones — I
> think this was the right way to go for many reasons. I'm about a quarter as
> fast in Angular as I am in React, but this is the right decision for the
> long haul. I can elaborate if anyone really cares. Most importantly, this
> app will be a lot easier to maintain.
>
> But now I have a handle on TypeScript. Many optimizations and improvements
> coming to Solr as a result. TypeScript can be pretty opinionated about APIs
> for someone thinking that they are back in the wild wild west.
>
> Sending big air hugs,
> Marcus
>
> On Fri, Apr 10, 2020 at 16:20 Noble Paul <noble.p...@gmail.com> wrote:
>
> +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
>
>
> ---------------------------------------------------------------------
> 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)
>
> --
> Marcus Eagan
>
>
>
> --
> Marcus Eagan
>
>
>
>

-- 
Marcus Eagan

Reply via email to