lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <>
Subject Re: How to change Solr UI
Date Fri, 14 Dec 2012 17:15:44 GMT
There's absolutely nothing inherently wrong with using Velocity with lean templating to render
responses from Solr.  It's just a templating technology.  

What you've done in your patch is replace the (IMO, and perhaps I'm the minority here?) clean
Velocity template approach with some JavaScript/Ajax, in a much more obscure way to comprehend
what is going on from UI to response rendering.

But, in your tabbed approach (something I've pondered and built prototypes of over the years),
the HTML could (/should!) be rendered via Velocity templates - easy enough and much cleaner
than JavaScript templating and actually showcases a better best practice as an example anyway,
that being generating HTML on the server rather than on the client necessarily.  I'm of course
pretty opinionated on these topics, perhaps just for old times sake clinging on to what seems
like a clean way to do stuff.  Velocity itself should not get a bad rap here, since it's a
top notch technology in and of itself.

I don't disagree that the admin UI ad-hoc querying ought to have the tabbed approach, so +1
to that.

Maybe I'll get my wish for Xmas this year... loads of quiet computer time to roll up my sleeves
and tackle some of the many TODOs I have on the Velocity response writer, Prism, and so on.
 There's good stuff there, so I'll aim to do lots of polishing to get this stuff more presentable
than ever.


On Dec 7, 2012, at 19:33 , Upayavira wrote:

> I realised yesterday what useful about /browse, and why it is wrong as
> it is.
> The browse interface is a good way for a newcomer to explore some
> aspects of the query response without having to pour through lots of XML
> or JSON. It gives them a visual representation of their query result.
> While that's useful, /browse using Velocity also gives the impression
> that using Velocity for this purpose is a good idea, which it so clearly
> isn't.
> My thought, then, is that we should migrate the functionality of /browse
> over to the admin UI.
> My thoughts are that the query pane should, on the left, have 'simple'
> and 'advanced' tabs. The simple tab gives a more conventional search
> interface, whereas the advanced tab shows whats there currently.
> On the right, along the top you'd have buttons for XML, JSON, etc. One
> other button, HTML, would display the results of your search a bit more
> prettily, more like a conventional search results, or at least as much
> like that as possible when you really don't know much about what data
> you're getting back.
> To put my money where my mouth is, I've uploaded a patch to JIRA[1] with
> a first pass at what I mean.
> Thoughts/comments welcome.
> Upayavira
> [1]
> On Tue, Dec 4, 2012, at 10:41 PM, Upayavira wrote:
>> But there's value in having something packaged within Solr itself, for
>> demo purposes.
>> That would I suspect make it Java (like it or not!) And that would
>> probably not make it very state-of-the art, unless it used jquery, with
>> a very lightweight java portion, which would be possible.
>> Upayavira
>> On Tue, Dec 4, 2012, at 05:42 PM, Erik Hatcher wrote:
>>> And basically that's what i had in mind with Prism here:
>>> <>
>>> Prism's very lightweight, uses Velocity (or not, any Ruby templating
>>> technology available), and is entirely separate from Solr.  Before that
>>> there was Flare:
>>> Prism is the approach I'd (obviously) take these days, and it's getting
>>> some more attention, it looks like, soon.
>>> Blacklight and VuFind are much more richly capable.
>>> So there's options already out there, and surely many others that I don't
>>> even mention.  A new top-level wiki page seems warranted from this
>>> discussion from <> to list off all
>>> the various front-ends available.
>>> 	Erik
>>> On Dec 4, 2012, at 12:11 , Upayavira wrote:
>>>> That's an interesting take. 
>>>> I agree that Solr needs *something* for folks to use. It is unfortunate
>>>> that Solr actually has a functioning HTTP infrastructure, because it
>>>> then makes less sense to build an alternative one up. E.g. How about:
>>>> http://localhost:8983/solr  <- admin UI
>>>> http://localhost:8983/browse <- separate browse webapp
>>>> It would be a separate app that runs as another wepapp, accessing Solr
>>>> via HTTP just as any other app would.
>>>> It could still use Velocity, but would demonstrate that you shouldn't
>>>> integrate your app with Solr. A minimal dependency app for demonstration
>>>> purposes only.
>>>> Upayavira
>>>> On Tue, Dec 4, 2012, at 02:37 PM, Jack Krupansky wrote:
>>>>> Or, maybe integrate /browse with the Solr Admin UI and give it a graphic

>>>>> treatment that screams that it is a development tool and not designed
>>>>> be 
>>>>> a model for an app UI.
>>>>> And, I still think it would be good to include SOME example of a
>>>>> prototype 
>>>>> app UI with Solr, to drive home the point of "here is [an example of]
>>>>> you need to separate UI from Solr."
>>>>> -- Jack Krupansky
>>>>> -----Original Message----- 
>>>>> From: Erik Hatcher
>>>>> Sent: Tuesday, December 04, 2012 9:29 AM
>>>>> To:
>>>>> Subject: Re: How to change Solr UI
>>>>> On Dec 4, 2012, at 08:21 , Jack Krupansky wrote:
>>>>>> "let's also be clear always that Solr is meant to be behind the firewall"
>>>>>> Absolutely, but we are NOT doing that when we provide the Velocity-based

>>>>>> /browse UI.
>>>>>> Erik, your email example sounds reasonable, so if you want to substitute

>>>>>> something like that for the /browse handler, fine. As you point out,
it is 
>>>>>> not Velocity per se, but the /browse UI that results in a lack of
>>>>>> about Solr being meant to be behind the firewall.
>>>>> Point taken about being clear about this.  But I disagree about removing

>>>>> /browse.  It's useful, even if misunderstood/abused by some.  If there
>>>>> are 
>>>>> spots where we need to be clearer about what it is that is being
>>>>> rendered, 
>>>>> how it's rendered, and the pros/cons to it, then let's see about getting
>>>>> it 
>>>>> mentioned more clearly.
>>>>> But do keep in mind that something like this example: having Solr return

>>>>> suggestion lists as plain text suitable for suggest interfaces rather
>>>>> than 
>>>>> having it return JSON or XML and having a middle tier process it when
>>>>> you need is a plain list or some CSV.  It's quite fine and sensible to
>>>>> use 
>>>>> wt=velocity "behind the firewall" too, even /browse as-is.  Same as with
>>>>> the 
>>>>> XSL transformation writing capability.
>>>>> Erik= 

View raw message