Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DSpace Discovery is an Maintained Addon for DSpace XMLUI that replaces the default Search and Browse behavior with Apache Solr.

Proposal For Inclusion into DSpace 1.7.0

Recent work on porting DSpace to an Asyncronous build process prooved too large a task to be completed in DSpace 1.7 with all the other significant changes, with this in mind. It is proposed that a version of Discovery be delivered within the DSpace 1.7.0 codebase and initially maintained there for the 1.7.x development path. 

This proposal includes the following features:

  • Discovery will be compiled/installed into DSpace 1.7.0 XMLUI but left disabled by default
  • The Appropriate Solr Search Core will be available and prepared to be started
  • All dependencies for turning on Discovery will be available without recompilation by doing the following steps:
  • Solr will be upgraded to the latest 1.4.1 release
  • Documentation will be included which outlines exactly how to turn on Discovery and run it

Instructions for enabling Discovery in DSpace 1.7.0

  1. Enable the Discovery Aspects in the XMLUI by changing the following settings in xmlui.xconf
    Code Block
    XML
    XML
    
    <xmlui>
        <aspects>
            <aspect name="Artifact Browser" path="resource://aspects/ArtifactBrowser/" />
            <aspect name="Administration" path="resource://aspects/Administrative/" />
            <aspect name="E-Person" path="resource://aspects/EPerson/" />
            <aspect name="Submission and Workflow" path="resource://aspects/Submission/" />
    	<aspect name="Statistics" path="resource://aspects/Statistics/" />
    
            <!--
                To enable Discovery, uncomment this Aspect that will enable it
                within your existing XMLUI
                <aspect name="Discovery" path="resource://aspects/Discovery/" />
            -->
    
            <!--
                This aspect tests the various possible DRI features,
                it helps a theme developer create themes
            -->
            <!-- <aspect name="XML Tests" path="resource://aspects/XMLTest/"/> -->
        </aspects>
    
  2. Enable the Discovery Indexing Consumer that will update Discovery Indexes on changes to content in XMLUI, JSPUI, SWORD, and LNI.
  3. Code Block
    
    #### Event System Configuration ####
    
    # default synchronous dispatcher (same behavior as traditional DSpace)
    event.dispatcher.default.class = org.dspace.event.BasicDispatcher
    event.dispatcher.default.consumers = search, browse, eperson, harvester
    
    # comment out above and uncomment below to enable discovery indexing
    # event.dispatcher.default.consumers = search, browse, discovery, eperson, harvester
    
  4. Reindex you DSpace instance into Discovery by executing the commandline reindex using the discovery IndexClient class
    Code Block
    
    ./dspace dsrun org.dspace.discovery.IndexClient
    

Design Premis for Discovery

The Design premis behind Discovery is to keep as much the implementation of Search and Browse independent of DSpace as possible. The basis for this is to twofold. (a) to reduce cost in maintaining any customized code and (b) to repurpose third party solutions wherever possible (a.k.a. standing on shoulder of giants).  So, the basic tenants are:

  1. Keep as much of the customization and configuration in Solr as possible.
  2. Keep it as generic as possible.
  3. Keep it as simple as possible
  4. In cases where configuration is outside Solr, Provide pluggability to replace functionality easily at end user deployment.
  5. Align Search/Browse capabilities with Solr capabilities, not other way around.  This means, possibly abandon certain strategies for navigating via Browse if it proves these do not fit well with solr.

...