Hi Vincent,
Thanks for your feedback, see below.
On Mon, May 20, 2013 at 7:28 PM, Vincent Massol <vincent(a)massol.net> wrote:
Hi Marius,
On May 20, 2013, at 5:19 PM, Marius Dumitru Florea <mariusdumitru.florea(a)xwiki.com>
wrote:
I'm going to perform the following rename.
XWiki.SolrSearchAdmin -> Solr.Administration
Main.SolrSearch -> Solr.WebHome
and I'm going to add Solr.Translations .
Let me know if you think this is a bad move,
I don't think it's especially bad but we need to have an overall consistent
solution for all search implementations.
We have 3 impls:
* database: Main.DatabaseSearch
* lucene: Main.LuceneSearch, XWiki.LuceneSearchAdmin, XWiki.SuggestLuceneService
* solr: Main.SolrSearch, XWiki.SolrSearchAdmin
I don't view them as "implementations" (at least not in a formal way)
because there's no search API that they have to implement (i.e.
there's no formal contract). There is only a search extension point
that currently asks just (1) the name of a document that serves as the
UI entry point and (2) the name of a document that serves as the
administration entry point. But you can put anything you want in those
two documents. The UI and the search API / query language used by two
search applications can be completely different.
We have several choices I think:
1) Move all pages in the XWiki space
No way. We should group documents by domain not put them all in the same space..
2) Move each search impl in a space named after the impl:
Possibility A:
** DatabaseSearch
** SolrSearch
** LuceneSearch
Possibility B:
** XWiki.DatabaseSearch
** Solr.Search
** Lucene.Search
I think "Search" is redundant in the space name so I prefer (B) for
this matter. Regarding the UI entry point, I find it natural for it to
be the space home page. For me Solr is an XWiki application that can
be used standalone (Solr.WebHome) but that can also be configured as
the default search through the search extension point.
3) Move all search impls into a Search space:
* Search.Solr*
* Search.Database*
* Search.Lucene*
* Search.Search (current Main.Search page)
Putting all the documents used to create the UI of each search
application (because the UI is not always a single document) in the
same space creates a mess. And the fact that you need to prefix each
document name with the search engine name to reduce this mess proves
this is not a good solution. I agree that nested spaces would have
been handy in this case but we don't have them so I don't like 3)
My preferences goes to either 2B) or 3) with a small preference for 3).
The advantage of 3) is that we can we can have everything related to search in the Search
space which makes them easy to find. Option 2) will mean scattered search pages in 4
spaces: one for the search app, and 2 or 3 others for the implementations. Ideally we
would have sub spaces of Search but in the meantime IMO it's fine to have 3).
I definitely don't like 1) and 3). I'm for 2B) but putting the UI
entry point for Lucene and Sorl in the space home page. I don't think
we need to learn a new "SpaceName.Search" naming convention when the
space home page is the first thing you'd check to see what that space
does.
Another way of viewing this is that there's only 1
search app (with multiple SPI implementations) and thus it's logical that this app
puts its pages into a single space (called Search).
There is no search SPI so for me they are separate XWiki applications.
The only thing they have in common is the search extension point.
Thanks,
Marius
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs