Add OpenSearch capabilities to Discovery enabled DSpace instances
-----------------------------------------------------------------

                 Key: DSCR-26
                 URL: https://jira.duraspace.org/browse/DSCR-26
             Project: DSpace Discovery Module
          Issue Type: Improvement
            Reporter: Mark Diggory


The default DSpace OpenSearch is incomplete and a bit buggy.  But rather than 
fix it explicitly, I would prefer if we look to make Discovery become fully 
OpenSearch capable. This means that:

a.) Discovery Creates its won OpenSearch Descriptor File with an accurate 
template URL that can be discovered.
b.) Atom and RSS formated results are possible.
c.) in the even that html is requested, the search is forwarded to the user 
interface.

Likewise, rather than introducing an additional "/open-search" address for 
searches. Instead, an appropriate output format is rendered using Discovery on 
receiving the search request.

To accomplish this I recommend rather than using Cocoon as the controller to 
process the incoming query request, that instead we utilize a new approach we 
are experimenting with in Dryad,  here we have Placed SpringMVC in front of 
Cocoon and utilize it as the Controller in the request.  In this case, rather 
than having Cocoon complete the query to solr,  the controller would complete 
the query instead and pass it to an appropriate view as the model to be 
rendered.

See the following code for more detail:

Configuration of Webapplication to use SpringMVC instead of Default Cocoon 
Servlet.
https://dryad.googlecode.com/svn/trunk/dryad/dspace/modules/xmlui/src/main/webapp/WEB-INF/web.xml

Configuration of Cocoon to handle View Requests
https://dryad.googlecode.com/svn/trunk/dryad/dspace/modules/xmlui/src/main/webapp/WEB-INF/spring-servlet.xml

Cocoon Default Controller that resolves and forwards View requests to Cocoon 
when wanted.
https://dryad.googlecode.com/svn/trunk/dryad/dspace/modules/xmlui/src/main/java/org/dspace/springmvc/CocoonForwardController.java

New Controllers for Discovery woud be written that would complete the discovery 
search query and then forward the query results as a model to the View that 
would be processing the result.

This will be immediately portable to the Freemarker UI project and possibly 
even be backported to the JSPUI project as well, setting the stage for 
Discovery to be available to that prototype.

----

The architecture will be:

1. A SpringMVC Webapplication Project With a controller that support our query 
syntax and selection of an appropriate view technology from either 
ContentNegotiation and/or request Parameters or Pathnames.

2.) Use of the ContentNegotiationViewResolver to resolve the appropriate view 
to generate.

3.) Utilization of SpringMVC's default provided views to generate Atom, RSS, 
JSON formated outputs.

4.) Utilization of a CocoonView that internally forwards to cocoon for 
evaluating and rendering search results.

A prototype should be authored and placed into a new project within 
/modules/dspace-discovery/trunk/dspace-discovery-webmvc

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.duraspace.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel
  • [Dspace-devel] [DuraSpace JIR... Mark Diggory (Created) (DuraSpace JIRA)

Reply via email to