About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
indexing:dspace

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
indexing:dspace [2017/04/21 11:54] demiankatzindexing:dspace [2023/08/16 19:52] (current) demiankatz
Line 1: Line 1:
-====== How to index DSpace with VuFind ======+====== How to index DSpace with VuFind® ======
  
-These are the instructions used by the Naval Postgraduate School in Monterey, California to index DSpace records in VuFind.+===== 1. Make sure OAI-PMH is turned on and properly indexed in DSpace =====
  
-:!: ** These instructions were written for VuFind 2.x or newer; See [[legacy:indexing:dspace|this page]] for VuFind 1.x **+To retrieve records from DSpace, you will need to use the [[indexing:oai-pmh|OAI-PMH]] protocol.
  
-===== 1. Turn on OAI-PMH in DSpace =====+In newer versions of DSpace, OAI-PMH should be enabled by default; however, in DSpace 3.x and earlier, some [[indexing:dspace:enable_oai|additional configuration]] was needed.
  
-OAI must be enabled on the DSpace repository first: +You can check whether the service is enabled by visiting <nowiki>{DSpace Base URL}/oai</nowiki> in your web browser. If the service is turned on, you should see something similar to this:
-  - Modify the DSpace server config in **nginx.conf** on the DSpace server:<code>Location /oai/ { +
-    Proxy_set_header X-Forwarded-Host $host; +
-    Proxy_set_header X-Forwarded-Server $host; +
-    Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +
-    +
-    Proxy_pass http://yourdspacehostname:8080/oai/+
-    Proxy_redirect http://yourdspacehostname:8080/oai/  http://yourdspacehostname/oai;+
  
-    Proxy_buffering off; +{{ :indexing:dspace-oai.jpg?600 |Default Context. This is the default context of the DSpace OAI-PMH data provider. Identify. List Sets. List Metadata Formats. List Identifiers. List Records. }}
-    Proxy_store off;+
  
-    Proxy_connect_timeout 120; +Before harvesting data from DSpace to VuFind®, you should check that DSpace's OAI (Open Archives Initiative) Solr indexing is working correctlyFor thisin the above screen click the List Records button, and you should see something similar to:
-    Proxy_send_timeout 120; +
-    Proxy_read_timeout 120; +
-+
-</code> Comparable configuration in Apache makes use of [[http://httpd.apache.org/docs/2.2/mod/mod_proxy.html|mod_proxy]]. Note that the proxy configuration is only necessary if you are unable to open port 8080 to your VuFind instanceIf you are not limited by such restrictionsfeel free to use your full DSpace hostname appended with ":8080" and skip the above proxy configuration. +
-  - Modify the **server.xml** for the appropriate DSpace Tomcat instance in the **HOST** block:<code><Context path="/oai" docBase="/path_to_dspace/webapps/oai" debug="0" +
-    Reloadable="true" cachingAllowed="false" +
-    allowLinking="true" /></code> +
-  - Modify the **dspace.conf** config file for the appropriate DSpace instance:<code>... +
-harvest.includerestricted.oai = true +
-harvester.autoStart = true +
-...</code>+
  
-===== 2. Import records into VuFind using OAI-PMH harvest =====+{{ :indexing:dspace-records.jpg?600 | List of Records. Results fetched: 1. Identifier oai:localhost:123456789/3. Last Modified 2020-09-12 08:49:34. Sets. Metadata. }} 
 + 
 +In the above image, if you click Metadata, it should provide you with an oai_dc-formatted metadata response. 
 + 
 +==== Fixing Missing Indexing ==== 
 + 
 +If metadata does not display correctly through the server (for example, if you receive an "Error No matches for the query" message), this is probably a sign that DSpace's OAI Solr index has not been updated correctly. DSpace's Solr does not index metadata automatically when it is imported through a manual submission process or batch imported using SIP or AIP. To overcome this limitation, the Data Provider Repository (DPR) administrator must run a process from the command line to correctly update the index. First, switch to the "bin" subdirectory of your DSpace installation, then run: 
 + 
 +<code bash> 
 +./dspace oai import -o -c 
 +</code> 
 + 
 +The meaning of parameters –o and –c is as follows: 
 + 
 +  * -o Optimize index after indexing 
 +  * -c Clears the Solr index before indexing (it will import all items again) 
 + 
 +===== 2. Import records into VuFind® using OAI-PMH harvest ===== 
 + 
 +These steps use VuFind®'s [[indexing:oai-pmh|OAI-PMH harvest tool]] and [[indexing:xml|XML indexing tool]]. You can follow the links to learn more about the tools.
  
   - Modify **$VUFIND_LOCAL_DIR/harvest/oai.ini**<code>[DSpace]   - Modify **$VUFIND_LOCAL_DIR/harvest/oai.ini**<code>[DSpace]
Line 44: Line 44:
 injectId="identifier" injectId="identifier"
 dateGranularity=auto dateGranularity=auto
-harvestedIdLog=harvest.log</code>+harvestedIdLog=harvest.log 
 +combineRecords=true</code>
   - Run these commands:<code>cd $VUFIND_HOME/harvest   - Run these commands:<code>cd $VUFIND_HOME/harvest
 php harvest_oai.php php harvest_oai.php
 ./batch-import-xsl.sh DSpace dspace.properties</code> ./batch-import-xsl.sh DSpace dspace.properties</code>
  
 +==== Troubleshooting ====
 +
 +If you receive an error message during harvesting, you may need to rebuild the OAI indexes on your DSpace server. Log into that system and run these commands:
 +
 +<code>
 +<path to dspace directory>/bin/dspace oai clean-cache
 +<path to dspace directory>/bin/dspace oai import -c
 +</code>
 +
 +After that processing completes, retry the harvest process on the VuFind® server as described above.
 +
 +===== 3. Customize Import Rules (optional) =====
 +
 +If you wish to customize the way your records are ingested, see the [[indexing:xml|indexing XML]] page for details. The instructions above use the example [[https://github.com/vufind-org/vufind/blob/dev/import/dspace.properties|dspace.properties]] and [[https://github.com/vufind-org/vufind/blob/dev/import/xsl/dspace.xsl|dspace.xsl]] files that ship with VuFind®. You can copy these into appropriate subdirectories of your [[configuration:local_settings_directory|$VUFIND_LOCAL_DIR directory]] and modify them as needed to change the way data is indexed.
 +
 +:!: If you change import rules, note that you will need to remove your $VUFIND_LOCAL_DIR/harvest/DSpace directory, re-harvest the records, and repeat the indexing process in step 2 above.
 +
 +===== 4. Customize Record Display (optional) =====
 +
 +By default, VuFind® does not include any DSpace-specific display logic; records indexed from DSpace are displayed using the standard "SolrDefault" record driver and templates. However, the default import setup marks DSpace records with a record_format value of "dspace" which means that you can create a custom record driver named SolrDspace in order to create custom DSpace-only display options. See [[development:howtos:displaying_a_custom_field|displaying a custom field]] for some examples of record display customization.
 ---- struct data ---- ---- struct data ----
 +properties.Page Owner : 
 ---- ----
  
indexing/dspace.1492775696.txt.gz · Last modified: 2017/04/21 11:54 by demiankatz