-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.html
More file actions
115 lines (112 loc) · 4.9 KB
/
README.html
File metadata and controls
115 lines (112 loc) · 4.9 KB
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
<!DOCTYPE html>
<html>
<head>
<title>eprinttools - README.html</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/site.css">
<script type="module" src="https://caltechlibrary.github.io/CL-web-components/src/footer-global.js"></script>
</head>
<body>
<header>
<a href="http://library.caltech.edu" title="link to Caltech Library Homepage"><img src="/assets/liblogo.gif" alt="Caltech Library logo"></a>
</header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="README.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/eprinttools">GitHub</a></li>
</ul>
</nav>
<section>
<h1 id="eprinttools">eprinttools</h1>
<p>This is a collection of command line tools and a web service written
in Go for working with EPrints 3.3.x EPrint XML, the EPrint REST API and
directly with the EPrints MySQL repository database(s). It is used by
Caltech Library to render our <a
href="https://feeds.library.caltech.edu"
class="uri">https://feeds.library.caltech.edu</a> website as well as for
migrating content into a new repository system. Some of the command line
tools maybe of more generatl interest while others are specific to
Caltech Library’s needs. Much of the test code presumes access to our
repositories so is specific to our needs.</p>
<h2 id="go-base-code">Go base code</h2>
<p>The programs:</p>
<ul>
<li><a href="eputil.1.html">eputil</a> is a command line utility for
interacting (e.g. harvesting) JSON and XML from EPrints’ REST API
<ul>
<li>minimal configuration (because it does so much less!)</li>
</ul></li>
<li><a href="epfmt.1.html">epfmt</a> is a command line utility to pretty
print EPrints XML and convert to/from JSON including a simplified JSON
inspired by DataCite and Invenion 3</li>
<li><a href="doi2eprintxml.1.html">doi2eprintxml</a> is a command line
program for turning metadata harvested from CrossRef and DataCite into
an EPrint XML document based on one or more supplied DOI</li>
<li><a href="ep3apid.1.html">ep3apid</a> is a Unix style web service for
interacting with an EPrint repository via a localhost proxy. It includes
the ability to get restricted key lists as well as retrieve a simplified
JSON record representing an EPrints record</li>
<li><a href="ep3harvester.1.html">ep3harvester</a> is an EPrints 3.x
metadata harvesting tool working at the MySQL 8 level for EPrints
content. It harvests the contents into a MySQL 8 database, one table per
eprints repository storing the harvested metadata in JSON columns. This
tool can also harvest CSV files with information for people and groups
referenced in the EPrints repositories.</li>
<li><a href="ep3genfeeds.1.html">ep3genfeeds</a> is used to genate the
JSON documents that drive our feeds website.</li>
<li><a href="ep3datasets.1.html">ep3datasets</a> is a tool to generate
<a href="https://github.com/caltechlibrary/dataset">dataset
collections</a> from previously harvested EPrints repositories</li>
</ul>
<h2 id="use-cases">Use cases</h2>
<p>Two primary use cases have driven development of EPrinttools</p>
<ol type="1">
<li>Reusing the metadata and content in our EPrints 3.3.16 repositories
(see <a href="https://feeds.library.caltech.edu">Caltech Library
Feeds</a></li>
<li>Populating our EPrints repository from standardize data sources (see
<a href="https://github.com/caltechlibrary/Acacia">Acacia
Project</a>).</li>
</ol>
<h2 id="related-github-projects">Related GitHub projects</h2>
<ul>
<li><a
href="https://github.com/caltechlibrary/py_dataset">py_dataset</a>, This
Python module provides access to dataset collections which we use as
intermediate storage for JSON documents and related attachments.</li>
<li><a href="https://github.com/caltechlibrary/ames">AMES</a>, The
eprintools command line programs have been made available to Python via
the AMES project. This include support for both read and write to
EPrints repository systems.</li>
</ul>
</section>
<footer-global></footer-global>
<!-- START: PrettyFi from https://github.com/google/code-prettify -->
<script>
/* We want to add the class "prettyprint" to all the pre elements */
var pre_list = document.querySelectorAll("pre");
pre_list.forEach(function(elem) {
elem.classList.add("prettyprint");
elem.classList.add("linenums");/**/
elem.classList.add("json"); /**/
});
</script>
<style>
li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9
{
color: #555;
list-style-type: decimal;
}
</style>
<link rel="stylesheet" type="text/css" href="/css/prettify.css">
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_
prettify.js"></script>
<!-- END: PrettyFi from https://github.com/google/code-prettify -->
</body>
</html>