Matthias,
This stuff looks great! Certainly +1 on you continuing these efforts.
Regarding your choice of MooTools: have you considered using jQuery
instead? The reason I ask is that we now have a jQuery-based schema
browser in Solr's trunk and thus it is already there and usable
within the Solr codebase. Many of my super savvy JavaScript/AJAX
savvy pals have mentioned they prefer jQuery over MooTools,
prototype, etc. I'm a bit out of my league here though, so certainly
defer to others expertise in this area.
Perhaps already on your roadmap, I'd love to see Solr integration
with SIMILE's Timeline, Exhibit, and their other viz stuff. I put
some basic support for both Timeline and Exhibit into Flare.
Erik
On Apr 1, 2008, at 9:31 AM, Matthias Epheser wrote:
Hello community
I am a student from Vienna currently writing his master thesis
about "Fast and userfriendly information retrieval in large
indices" (working title), that focuses on techniques like faceted
browsing and field collapsing.
The funtionalities and internals of Solr cover a large part of my
theoretical work and I also want to point out that ease of
integration into existing projects and a good self declaring user
interface are important things to consider when creating a faceting
browsing solution.
As a showcase for these things I am creating a reusable Javascript
Widget Library that directly queries solr using asynchronuous calls
to create a very fast, dynamic and easy to use data browser.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I now want to introduce my (planned) work to the community and
propose the implementation, elaboration and documentation of this
library as a Google Summer of Code 2008 project. I already
participated in gsoc and I think it's a very good way for students
to start contributing to an open soure project.
I started creating a small prototype a few weeks ago, you can test
it here: http://lovo.test.dev.indoqa.com/mepheser/moobrowser/
It covers a fictional media library created by a testdata generator.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It uses a prototype of my MooTools(http://mootools.net) based
javascript library. Mootools are chosen because of the good
inheritance mechanism, thus you can create a very "clean" widget
system using baseclasses. As mentioned before, everything is
created under the paradigm "keep it simple"
Looking at the html sourcecode, you just have to create empty divs
that act as "targets" and then create an instance of Moobrowser
using the solr url:
mooBrowser = new MooBrowser('url-of-solr');
Now you can add various widgets to this browser. Each widget
consists of its javascript class and a xslt stylesheet that is used
to create the appropriate response from solr. See http://
lovo.test.dev.indoqa.com/mepheser/moobrowser/moobrowser.js for the
js source code. Currently these widgets are supported in an alpha
version:
- MooBrowserPageableResultWidget that creates the "result view"
including paging buttons
- MooBrowserSingleFieldFacetWidget for simple facet fiels. These
fields can be dependend on other fields, see "by medium" -> "image"
as an example
- MooBrowserTreeFacetWidget: this is used to display hierarchical
facets (see "by category" -> "sports" -> "tennis" -> ..
The data is stored in layers like category_0, category_1 in the index.
- new MooBrowserSearchFacetWidge for full text searching
All rendering is done using css, every "target" div is self-
updating and delivers its fitting html after the user changes his
selection.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Of cource I would formulate an "official" proposal containing
tasks, timeline, etc. AFAIK, the timeline is extended till next moday.
WDYT?
Best regard,
Matthias