Warning: This page has not been updated in over over a year and may be outdated or deprecated.
legacy:indexing:dspace
Differences
This shows you the differences between two versions of the page.
legacy:indexing:dspace [2017/04/21 11:47] – created demiankatz | legacy:indexing:dspace [2018/12/19 17:21] (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 | + | // This outdated page has been deleted |
- | + | ||
- | :!: ** These instructions were written | + | |
- | + | ||
- | ===== Steps ===== | + | |
- | + | ||
- | OAI must be enabled on the DSpace repository first: | + | |
- | - Modify the DSpace server config in **nginx.conf** on the DSpace server:< | + | |
- | 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:// | + | |
- | Proxy_redirect http:// | + | |
- | + | ||
- | Proxy_buffering off; | + | |
- | Proxy_store off; | + | |
- | + | ||
- | Proxy_connect_timeout 120; | + | |
- | Proxy_send_timeout 120; | + | |
- | Proxy_read_timeout 120; | + | |
- | } | + | |
- | </ | + | |
- | - Modify the **server.xml** | + | |
- | Reloadable=" | + | |
- | allowLinking=" | + | |
- | - Modify the **dspace.conf** config file for the appropriate DSpace instance:< | + | |
- | harvest.includerestricted.oai = true | + | |
- | harvester.autoStart = true | + | |
- | ...</ | + | |
- | + | ||
- | Then you may proceed to import the OAI feed into VuFind: | + | |
- | - Modify **$VUFIND_HOME/ | + | |
- | - Modify **$VUFIND_HOME/ | + | |
- | - Modify **$VUFIND_HOME/ | + | |
- | - Modify **$VUFIND_HOME/ | + | |
- | - cd $VUFIND_HOME/ | + | |
- | - php harvest_oai.php | + | |
- | - sh batch-import-xsl.sh ./DSpace ../ | + | |
- | - ../ | + | |
- | + | ||
- | ===== Required Files ===== | + | |
- | + | ||
- | ==== oai.ini ==== | + | |
- | < | + | |
- | [DSpace] | + | |
- | url=http:// | + | |
- | metadataPrefix=oai_dc | + | |
- | idSearch[]="/ | + | |
- | idReplace[]=" | + | |
- | idSearch[]="/ | + | |
- | idReplace[]=" | + | |
- | injectDate=" | + | |
- | injectId=" | + | |
- | dateGranularity=auto | + | |
- | harvestedIdLog=harvest.log | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== dspace.properties ==== | + | |
- | < | + | |
- | [General] | + | |
- | xslt = dspace.xsl | + | |
- | custom_class[] = VuFind | + | |
- | + | ||
- | [Parameters] | + | |
- | institution = " | + | |
- | collection = " | + | |
- | </ | + | |
- | + | ||
- | ==== dspace.xsl ==== | + | |
- | < | + | |
- | <!-- available fields are defined in solr/ | + | |
- | < | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <!-- ID --> | + | |
- | <!-- Important: This relies on an < | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!-- RECORDTYPE --> | + | |
- | <field name=" | + | |
- | + | ||
- | <!-- FULLRECORD --> | + | |
- | <!-- disabled for now; records are so large that they cause memory problems! | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | --> | + | |
- | + | ||
- | <!-- ALLFIELDS --> | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!-- INSTITUTION --> | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!-- COLLECTION --> | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!-- LANGUAGE --> | + | |
- | <xsl:if test="// | + | |
- | < | + | |
- | <xsl:if test=" | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- FORMAT --> | + | |
- | <!-- populating the format field with dc.type instead, see TYPE below. | + | |
- | if you like, you can uncomment this to add a hard-coded format | + | |
- | in addition to the dynamic ones extracted from the record. | + | |
- | <field name="format"> | + | |
- | --> | + | |
- | + | ||
- | <!-- SUBJECT --> | + | |
- | <xsl:if test="// | + | |
- | < | + | |
- | <xsl:if test=" | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- DESCRIPTION --> | + | |
- | <xsl:if test="// | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- ADVISOR / CONTRIBUTOR --> | + | |
- | <xsl:if test="// | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- TYPE --> | + | |
- | <xsl:if test="// | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- AUTHOR --> | + | |
- | <xsl:if test="// | + | |
- | < | + | |
- | <xsl:if test=" | + | |
- | <!-- author is not a multi-valued field, so we'll put | + | |
- | first value there and subsequent values in author2. | + | |
- | | + | |
- | <xsl:if test=" | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | <xsl:if test=" | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- TITLE --> | + | |
- | <xsl:if test="// | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- PUBLISHER --> | + | |
- | <xsl:if test="// | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- PUBLISHDATE --> | + | |
- | <xsl:if test="// | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | <field name=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- URL --> | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== DspaceRecord.php ==== | + | |
- | < | + | |
- | <?php | + | |
- | require_once ' | + | |
- | class DspaceRecord extends IndexRecord { | + | |
- | | + | |
- | global $interface; | + | |
- | $template = parent :: getSearchResult (); | + | |
- | $interface -> assign (' | + | |
- | $interface -> assign (' | + | |
- | $interface -> assign (' | + | |
- | $interface -> assign (' | + | |
- | return $template; | + | |
- | } | + | |
- | } | + | |
- | ?> | + | |
- | </code> | + | |
- | + | ||
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
legacy/indexing/dspace.1492775227.txt.gz · Last modified: 2017/04/21 11:47 by demiankatz