-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
139 lines (137 loc) · 6.52 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE html>
<html>
<head>
<title>Institutional Repository Data Management</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://caltechlibrary.github.io/css/site.css">
</head>
<body>
<header>
<a href="http://library.caltech.edu" title="link to Caltech Library Homepage"><img src="https://caltechlibrary.github.io/assets/liblogo.gif" alt="Caltech Library logo"></a>
</header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="index.html">README</a></li>
<li><a href="LICENSE">LICENSE</a></li>
<li><a href="INSTALL.html">INSTALL</a></li>
<li><a href="user_manual.html">User Manual</a></li>
<li><a href="search.html">Search Docs</a></li>
<li><a href="about.html">About</a></li>
<li><a href="https://github.com/caltechlibrary/irdmtools">GitHub</a></li>
</ul>
</nav>
<section>
<p><a href="https://www.repostatus.org/#wip"><img
src="https://www.repostatus.org/badges/latest/wip.svg"
alt="Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public." /></a></p>
<h1 id="institutional-repository-data-management-tools">Institutional
Repository Data Management Tools</h1>
<p>This is a proof of concept set tools for working with Invenio RDM and
migrating content from EPrints to RDM. It consists of a small set of Go
based command line programs along with Python scripts and a wrapping
irdm Python module. The Go based tooling is designed to work directory
with a copy of you repositories’ database (e.g. Postgres for RDM or
MySQL for EPrints).</p>
<p>The proof of concept is being developed around RDM’s web services
(e.g. REST API and OAI-PMH), PostgreSQL database and external metadata
services (e.g. CrossRef, DataCite).</p>
<p>Caltech Library is using irdmtools to migrate content from our legacy
EPrints 3.3 repositories (heavily customized) to RDM. Post migration the
core Go tools will remain useful for curation at the collection level
(e.g. <a href="rdmutil.1.html">rdmutil</a>)</p>
<h2 id="featured-tools">Featured Tools</h2>
<h3 id="rdmutil"><code>rdmutil</code></h3>
<p>This tool is for interacting with an Invenio RDM repository via RDM’s
REST and OAI-PMH API. It covers most the JSON API documented at <a
href="https://inveniordm.docs.cern.ch/"
class="uri">https://inveniordm.docs.cern.ch/</a>. This includes listing,
submitting and managing records and draft records.</p>
<p><code>rdmutil</code> configuration is read either from the
environment or a JSON formatted configuration file. See the <a
href="rdmutil.1.html">man page</a> for details.</p>
<h3 id="ep3util"><code>ep3util</code></h3>
<p>This tool is used for migrating data out of EPrints. It can be used
on a copy of your EPrints MySQL database. It parallels
<code>rdmutil</code> and is an evolution of our tooling developed in <a
href="https://github.com/caltechlibrary/eprinttools">eprinttools</a>.
See the <a href="ep3util.1.html">man page</a> for details.</p>
<h3 id="eprint2rdm"><code>eprint2rdm</code></h3>
<p>This tool is migrating content from an EPrints repository via the
EPrint REST API. It will retrieve an EPrint XML representation of the
EPrint record and transform it into a JSON encoded simplified record
nearly compatible with Invenio RDM. See the <a
href="eprint2rdm.1.html">man page</a> for details.</p>
<h3 id="doi2rdm"><code>doi2rdm</code></h3>
<p>This tool will query the CrossRef or DataCite API and convert a works
record into a JSON structure compatible with an RDM record (e.g. to be
inserted via an RDM API call). See the <a href="doi2rdm.1.html">man
page</a> for details</p>
<h3 id="ep3ds2citations"><code>ep3ds2citations</code></h3>
<p>This tools take an EPrint record in a dataset collection and returns
an abbreviated record inspired by <a
href="https://en.wikipedia.org/wiki/CiteProc">citeproc</a>. It also
supports harvesting selected EPrint records into a dataset collection
using the <code>-harvest</code> and <code>-ids</code> options. We use
this feature to facilate creating <a
href="https://feeds.library.caltech.edu"
class="uri">https://feeds.library.caltech.edu</a>. See the <a
href="ep3ds2citations.1.html">man page</a> for details.</p>
<h3 id="rdmds2citations"><code>rdmds2citations</code></h3>
<p>This tools take an RDM record in a dataset collection and returns an
abbreviated record inspired by <a
href="https://en.wikipedia.org/wiki/CiteProc">citeproc</a>. It also
supports harvesting selected RDM records into a dataset collection using
the <code>-harvest</code> and <code>-ids</code> options. We use this
feature to facilate creating <a href="https://feeds.library.caltech.edu"
class="uri">https://feeds.library.caltech.edu</a>. See the <a
href="rdmds2citations.1.html">man page</a> for details.</p>
<h2 id="requirements">Requirements</h2>
<ul>
<li>An Invenio RDM deployment</li>
<li>To building the Go based software and documentation
<ul>
<li>git</li>
<li>Go >= 1.22.1</li>
<li>Make (e.g. GNU Make)</li>
<li>Pandoc >= 3</li>
</ul></li>
<li>For harvesting content
<ul>
<li><a href="https://github.com/caltechlibrary/dataset/">dataset</a>
>= 2</li>
</ul></li>
<li>To migrate content from EPrints 3.3 to RDM
<ul>
<li>Python 3 and packages listed in [requirements.txt]</li>
</ul></li>
</ul>
<h2 id="quick-install">Quick install</h2>
<p>If you’re running on Linux, macOS or Raspberry Pi OS you may be able
to installed precompiled irdmtools Go based tools with the following
curl command –</p>
<pre><code>curl https://caltechlibrary.github.io/irdmtools/installer.sh | sh</code></pre>
<h2 id="installation-from-source">Installation from source</h2>
<p>This codebase is speculative. It is likely to change and as issues
are identified. To install you need to download the source code and
compile it. Here’s the steps I take to install irdmtools.</p>
<pre><code>git clone [email protected]:caltechlibrary/irdmtools
cd irdmtools
make
make test
make install
python -m pip install -r requirements.txt</code></pre>
<h2 id="configuration">Configuration</h2>
<p>The Go based tools rely on a properly configured environment (i.e.
environment variables set in your POSIX shell). Specific requirements
are listed in the man pages for each of the Go based command line
programs.</p>
</section>
<footer>
<span>© 2023 <a href="https://www.library.caltech.edu/copyright">Caltech Library</a></span>
<address>1200 E California Blvd, Mail Code 1-32, Pasadena, CA 91125-3200</address>
<span><a href="mailto:[email protected]">Email Us</a></span>
<span>Phone: <a href="tel:+1-626-395-3405">(626)395-3405</a></span>
</footer>
</body>
</html>