You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 47 Next »

Draft

Page in draft form

Summary

Introduction

This page presents the procedure for migrating data from DSpace to VIVO. It answers the use case of a VIVO instance in read-only mode used to present the metadata contained in DSpace

Goals

  • The scenario to be realized by this procedure consists in developing the necessary steps in order to migrate the metadata of two DSpace instances (the DSpace-6 Demo instance and the DSpace-7 Demo instance) to a local VIVO instance
  • At the end of this procedure, the experimenter should have a fully operational VIVO instance containing the metadata harvested from DSpace-6-Demo DSpace-7-Demo, both of which are available from the web.
  • The experimenter will also have in his possession, the necessary information to harvest in VIVO the metadata of a DSpace instance that he will have chosen and that it is possible to harvest from an OAI-PMH endpoint



Useful addresses


TitleURLDescription
DSpace-6 Demo Home PageThis entry page links to other links concerning the DSpace-6 demo
DSpace-6 Demo UIhttps://demo.dspace.org/xmlui/This page is the DSpace-6 api allowing to manipulate metadata
DSpace-6 OAI Apihttps://demo.dspace.org/oai/requestOAI API used to harvest data
DSpace-7 Demo Home Pagehttps://demo7.dspace.org/homeThis entry page links to other links concerning the DSpace-7 demo
VIVO Project GitHub Home Pagehttps://github.com/vivo-projectSource code location needed to install VIVO
DSpace-VIVO Integration Project (DV-IP)https://github.com/vivo-community/DSpace-VIVOSource code location for the migration of DSpace metadata to VIVO
DSpace-VIVO ETL Examplehttps://github.com/vivo-community/DSpace-VIVO/tree/main/test/org.vivoweb.dspacevivo.etlexampleSource code location for extract-transform-load (ETL) metadata processing from DSpace to VIVO  

Useful variable and constant names

TitleVar NameVar ValueDescription
Project root directoryDVIP_HOME_PRJ~/dspace-vivo-prjThe value content is a suggestion
Git root directoryGIT_REPO$DVIP_HOME_PRJ/00-GITDirectory containing extracted GIT projects
Default VIVO login (username - password)admin@vivo.orgVivo1234.To be used to log-in as a VIVO administrator
local server URLs SOLRhttp://localhost:8983/solr/#/

VIVOhttp://localhost:8080/vivo-dspace/

Software requirements

  • jdk 11
  • maven 3.6.3
  • Linux Ubuntu
  • No solr or tomcat instance should be running on the computer
  • Linux bash



Setting up

Setting up the necessary resources for running VIVO

Step name and descriptionCommands
Setting up project
mkdir -p ~/dspace-vivo-prj/00-GIT 
Retrieve the DV-IP source code
 git clone https://github.com/vivo-community/DSpace-VIVO
Install Solr + Tomcat
./DSpace-VIVO/releng/org.vivoweb.dspacevivo.installer/00-INIT/install-tomcat-solr-app.sh
Installing/compiling VIVO
./DSpace-VIVO/releng/org.vivoweb.dspacevivo.installer/01-VIVO/vivo-git-clone.sh 
./DSpace-VIVO/bundles/org.vivoweb.dspacevivo/script/vivo-compile-and-deploy-for-tomcat.sh

Run - Start/Stop VIVO


Starting VIVO
source ./DSpace-VIVO/bundles/org.vivoweb.dspacevivo/script/00-env.sh 
solr-start.sh
tomcat-start.sh
To show VIVO in a Web Browser
browse-vivo.sh
For stopping VIVO
tomcat-stop.sh
solr-stop.sh

Setting up the necessary resources for running Dspace

TODO

Installing the migration utilities

Step name and descriptionCommands
Install Apache Jena and its other associated tools
./DSpace-VIVO/releng/org.vivoweb.dspacevivo.installer/99-OTHER_TOOLS/jena-git-clone-and-deploy.sh
Compiling/Installing  DSpace-VIVO-EXEMPLE and its code libraries
./DSpace-VIVO/test/org.vivoweb.dspacevivo.etlexample/script/mvn_install_example.sh

Confirm the installation

The purpose of this step is to validate the correct installation of the components necessary for the scenario to proceed. Here is a series of command that can be executed along with their execution result allowing you to compare them with the result of your own installation

Step name and descriptionCommands
Validate that the OS contains all the necessary commands to run the dspace2vivo scripts
Excute 'ls' command from $GIT_REPO
DSpace-VIVO/releng/org.vivoweb.dspacevivo.installer/99-OTHER_TOOLS/validate-syscmd-config.sh 
adduser ok!
ant ok!
as ok!
at ok!
awk ok!
basename ok!
bash ok!
cat ok!
chmod ok!
chown ok!
chroot ok!
clear ok!
convert ok!
cp ok!
curl ok!
cut ok!
...
Validate that all necessary GIT projects are cloned and properly deployed
Excute 'ls' command from $GIT_REPO
ls -l
total 24
drwxrwxr-x  6 heon heon 4096 mai 20 14:04 data-format-translator
drwxrwxr-x  7 heon heon 4096 mai 20 11:02 DSpace-VIVO
drwxrwxr-x  9 heon heon 4096 mai 20 11:08 Vitro
drwxrwxr-x 11 heon heon 4096 mai 20 11:08 Vitro-languages
drwxrwxr-x 10 heon heon 4096 mai 20 11:08 VIVO
drwxrwxr-x 11 heon heon 4096 mai 20 11:08 VIVO-languages
Execute 'ls' from $GIT_REPO in deploy directory
ls -dl ./DSpace-VIVO/deploy/*/
drwxrwxr-x 9 heon heon 4096 mai 20 11:07 ./DSpace-VIVO/deploy/app-solr/
drwxrwxr-x 9 heon heon 4096 mai 20 11:07 ./DSpace-VIVO/deploy/app-tomcat/
drwxrwxr-x 2 heon heon 4096 mai 20 14:05 ./DSpace-VIVO/deploy/lib/
drwxrwxr-x 7 heon heon 4096 mai 20 14:04 ./DSpace-VIVO/deploy/translator/
drwxrwxr-x 9 heon heon 4096 mai 20 11:13 ./DSpace-VIVO/deploy/vivo-home/
Test the utilities to make sure they are working
Setting up environment variables in your session (From $GIT_REPO)
$ source DSpace-VIVO/bundles/org.vivoweb.dspacevivo/script/00-env.sh
Validate Solr
$ solr-start.sh 
Waiting up to 180 seconds to see Solr running on port 8983 [|]  
Started Solr server on port 8983 (pid=1741315). Happy searching!

$ solr-status.sh 
Found 1 Solr nodes: 
Solr process 56366 running on port 8983
{
  "solr_home":"xxxxxxx/00-GIT/DSpace-VIVO/deploy/app-solr/server/solr",
  "version":"8.11.1 0b002b11819df70783e83ef36b42ed1223c14b50 - janhoy - 2021-12-14 13:50:55",
  "startTime":"2022-05-19T15:15:10.534Z",
  "uptime":"0 days, 17 hours, 25 minutes, 10 seconds",
  "memory":"151 MB (%29.5) of 512 MB"}
Validate Tomcat
$ tomcat-start.sh
Using CATALINA_BASE:   xxxxxxx/00-GIT/DSpace-VIVO/deploy/app-tomcat
Using CATALINA_HOME:   xxxxxxx/00-GIT/DSpace-VIVO/deploy/app-tomcat
Using CATALINA_TMPDIR: xxxxxxx/00-GIT/DSpace-VIVO/deploy/app-tomcat/temp
Using JRE_HOME:        /opt/jdk-11.0.9
Using CLASSPATH:       xxxxxxx/00-GIT/DSpace-VIVO/deploy/app-tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
Test Apache-Jena
$ sparql -version 2>/dev/null
Jena:       VERSION: 3.17.0
Jena:       BUILD_DATE: 2020-11-25T19:40:23+0000

Visual confirmation in your web browser

Visual of SolrVisual for VIVO-DSpace
URL = http://localhost:8983/solr/#/URL = http://localhost:8080/vivo-dspace/


Migrate data from DSpace6-Demo and DSpace-7-Demo into VIVO with default migration values

  • This scenario performs the DSpace Items reading of the Demo-DSpace 6 (https://demo.dspace.org/jspui/) and DemoDSpace-7 (https://demo7.dspace.org/) demonstration sites.
  • In order to achieve a complete extraction in a respectable time, the data harvesting parameters are pre-programmed to import 5 Items per demonstration site for a total of 10 Items.  You can customize the harvesting settings according to the instructions in this section: Harvester Configuration

Start the migration from DSPace to VIVO

Run migrating proccess
./DSpace-VIVO/test/org.vivoweb.dspacevivo.etlexample/script/mvn_install_example.sh
  • Run ETL-Migration program
Run migrating proccess
./DSpace-VIVO/test/org.vivoweb.dspacevivo.etlexample/script/ETL-migration-DSpace-VIVO.sh

Sample result in VIVO after running the migration scripts

Harvester configuration

Once the migration environment has been configured as indicated in the previous steps, the migration process is executed. To execute this process, we proceed to configure the program with information from the harvest source (dspace).

This configuration is done in the harvest config file.


Config file path to configure Dspace source
./DSpace-VIVO/bundles/org.vivoweb.dspacevivo.transformation/src/main/resources/harvester.conf


In the file you will find an example of the fields that the configuration file should contain. At the moment two ways of harvesting the data are supported:

  • OAI : It uses the OAI-PMH protocol supported by the Dspace repositories for information harvesting. Make sure you have an OAI-PMH endpoint enabled in the Dspace repository.
  • Restv7 : It uses the Dspace APIs to query data. At the moment it is only compatible with versions of Dspace 7.

The following table shows the main fields that are required to configure the information harvesting process from dspace


ParamsDescriptionExample
typeType of API used for data extraction. Enable for now ( OAI, RESTv7 )OAI
endpoint API url direction.  If the OAI type was selected, place the route of the OAI endpoint. On the other hand, if RESTv7 was selected, the rest API address.https://api7.dspace.org/server/oai/request
uriPrefixThe prefix of the link to the repository.  Used to generate valid links to the source repository.https://demo7.dspace.org/
username User of the dspace platform with permissions to use the rest API.   (RESTv7 Only).admin
password: Password of the user (RESTv7 Only).admin

Compile Harvester sources

Go to the following path.

Base directory of harvest components
./DSpace-VIVO/bundles/

Compile the project components

Maven compile command
mvn clean install

Install aditional components

Some migration processes are executed through bash scripts and require the installation of some special commands such as:



  • No labels