Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
baseurl: /rerum
markdown: kramdown
highlighter: rouge
plugins:
- jekyll-relative-links
relative_links:
enabled: true
collections: true
include:
- CONTRIBUTING.md
- readme.md
75 changes: 75 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<!DOCTYPE html>
<html class="body" lang="en">
<head>
<meta charset="utf-8">
<title>{% if page.title %}{{ page.title }} - {% endif %}RERUM</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway:400,300,600" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://cdn.rawgit.com/dhg/Skeleton/master/css/skeleton.css">
<link rel="stylesheet" href="{{ '/app/lib/loading-bar.css' | relative_url }}" media="screen">
<link rel="stylesheet" href="{{ '/app/lib/hotkeys.min.css' | relative_url }}" media="screen">
<link rel="stylesheet" href="{{ '/assets/fonts.css' | relative_url }}" media="screen">
<link rel="stylesheet" href="{{ '/app/app.css' | relative_url }}" media="screen">
<link rel="stylesheet" href="{{ '/app/tools/parse-rect/parse-rect.css' | relative_url }}" media="screen">
<link rel="stylesheet" href="{{ '/app/tools/crop-page/crop-page.css' | relative_url }}" media="screen">
<link rel="shortcut icon" href="{{ '/favicon.ico' | relative_url }}" type="image/x-icon">
<link rel="apple-touch-icon" sizes="57x57" href="{{ '/apple-icon-57x57.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="60x60" href="{{ '/apple-icon-60x60.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="72x72" href="{{ '/apple-icon-72x72.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="76x76" href="{{ '/apple-icon-76x76.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="114x114" href="{{ '/apple-icon-114x114.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="120x120" href="{{ '/apple-icon-120x120.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="144x144" href="{{ '/apple-icon-144x144.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="152x152" href="{{ '/apple-icon-152x152.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/apple-icon-180x180.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="192x192" href="{{ '/android-icon-192x192.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/favicon-32x32.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="96x96" href="{{ '/favicon-96x96.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/favicon-16x16.png' | relative_url }}">
<link rel="manifest" href="{{ '/manifest.json' | relative_url }}">
</head>
<body>
<header>
<div class="row">
<a class="two columns" href="{{ '/' | relative_url }}">
<img src="{{ '/logo.png' | relative_url }}" alt="logo" class="u-full-width" />
</a>
<small class="rerum_shimmer">reconditorium eximium rerum universalium mutabiliumque</small>
<h1 class="ten columns ">
<span>rerum</span>
</h1>
</div>
</header>

{{ content }}

<div style="height:20rem;width:100%;"></div>
<footer>
<os-statement>
This site is open source. <a target="_blank" href="https://github.com/CenterForDigitalHumanities/rerum">Improve this page</a>
</os-statement>
<div class="row">
<a href="{{ '/' | relative_url }}" class="button column">
Home
<i class="fa fa-home"></i>
</a>
<a href="{{ '/annotation' | relative_url }}" class="button column">
The Annotation Story
<i class="fa fa-comment-o"></i>
</a>
<a href="{{ '/about' | relative_url }}" class="button column">
Research Computing Group
<i class="fa fa-map-marker"></i>
</a>
<a href="{{ '/api' | relative_url }}" class="button column">
Use Rerum API
<i class="fa fa-wrench"></i>
</a>
<a href="{{ '/future' | relative_url }}" class="button column">
The Future
<i class="fa fa-cubes"></i>
</a>
</div>
</footer>
</body>
</html>
55 changes: 55 additions & 0 deletions about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
layout: default
title: About
permalink: /about/
---

<div class="container">
<p>RERUM was born in the <a href="https://www.slu.edu/arts-and-sciences/ong-center/index.php">
Walter J. Ong, <small>S.J.</small> Center for Digital Humanities</a> at Saint Louis
University and is funded and maintained by the <a href="https://www.slu.edu/research/faculty-resources/research-computing.php">Research Computing Group</a>.
Parts of this site are designed for developers and programmers while
others may be easy to share with researchers and investigators
who need a good place to put some data and insist on openness.</p>
<p>Our goal is to raise the quality of and participation in open academic
data by lowering the effort and cost of initializing a solution for
data storage and management while making interoperability, standards
compliance, and attribution automatic.</p>
<p>There is no express warranty or license on either the data or these
services, but on our word, this site will not die and the locations will
not change without notification to participants. Each tool will allow
you to walk away with all your data, exactly as stored.</p>
<img src="{{ '/assets/sluresearch_logo_spark_bluegray_horizontal_2017v00.png' | relative_url }}" alt="logo" class="columns">
<h4>Contact</h4>
<div class="row">
<p class="columns">
<a href="mailto:[email protected]">[email protected]</a>,
or follow our projects
<a href="https://github.com/CenterForDigitalHumanities">
<i class="fa fa-github"></i>
online</a>.
</p>
</div>

<p>
We make an effort to stay interesting on <a href="https://centerfordigitalhumanities.github.io/blog/">our blog</a>
and invite you to make comments or ask questions there. It is not always about
Rerum, but the topics reliably orbit the digital humanities, research software
and architecture, open data, and our work.
</p>
<div class="row">
<p class="one-half columns">
We're happy to Skype, Chat, Meet, Fuze, GoToMeeting, Messenger, Zoom,
Duo, Slack, Jitsi, Imo, Twiddla or whatever flavor you prefer. Visit us in person:
</p>
<address class="one-half columns">
Research Computing Group<br>
DuBourg Hall Room 443<br>
221 N Grand Blvd,<br>
St. Louis, MO 63103 USA<br>
</address>
</div>
<p>
or catch us <a href="http://iiif.io/event/">at the next conference</a>.
</p>
</div>
54 changes: 54 additions & 0 deletions annotation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
layout: default
title: The Annotation Story
permalink: /annotation/
---

<div class="container">
<h3>
The Story of Annotation
</h3>
<p>
<img alt="Web Annotation" class="u-pull-right" style="max-width:30vw;"
src="https://centerfordigitalhumanities.github.io/rerum-consortium/media/rerumannotationimage.png" />
The Open Annotation Collaboration broke important ground on
08 February 2013, specifying an interoperable framework
for creating associations between related resources, annotations,
using a methodology that conforms to the Architecture of the World
Wide Web.<sup>
<a href="https://www.w3.org/TR/annotation-model/"
target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link"></i></a>
</sup>
The next year, SharedCanvas (now within IIIF), demonstrated
how simply <abbr title="Open Annotation Collaboration">OAC</abbr> (now
<a href="https://www.w3.org/TR/annotation-vocab/" target="_blank">Web Annotation</a>)
could be extended to point to complex objects.
</p>
<p>
Pointing (instead of directly encoding) annotations and
<abbr title="comments, edits, links...">annotation-like objects</abbr>
provides benefits for scholarship by separating the resource from
the annotation, allowing for more granular and irregular resources,
and creating a clearer history of the academic conversation.
By separating the resource (text, image, etc.) from the
annotation, the original digitized resource remains pristine and
can be located anywhere in the world. Selectors remove the need
for every reference to be to a complete resource while also
allowing a scholar to make a very specific annotation on a
smaller range of the original resource, whether or not it
has native segmentation within it. Finally, every annotation
can be individually attributed to the asserting scholar and
software, which encourages walking back through the
revisions in support of ambiguity, non-destructive reuse, and
controversy.
</p>
<p>
There has been a frenzy in recent years to <a rel="noopener noreferrer" target="_blank" href="https://web.hypothes.is/blog/annotating-ocred-pdfs/">annotate everything</a>—a
call to apply Web Annotations to websites, pdfs, and digital images.
The <a rel="noopener noreferrer" target="_blank" href="https://iiif.io">International Image Interoperability Framework</a>
has magnified the possibilities of annotation by including them as
a part of the abstract containers they define as surrogates for real
and complex objects. Though Rerum supports all types of annotations,
it is these IIIF applications that are our primary motivator.
</p>
</div>
181 changes: 181 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
---
layout: default
title: API Documentation
permalink: /api/
---

<div class="container">
<style>
#objects p {
display: inline-grid;
}
</style>
<p>
To limit the possibility of abuse without putting too many obstacles up,
writing to the annotation store is restricted to servers (no CORS) who have
<a href="https://store.rerum.io">registered themselves</a>. The full plans for RERUM can be found
<a href="{{ '/future' | relative_url }}">elsewhere on the site</a>.
</p>
<p>
The current public RERUM service is hosted on
a virtual server at Saint Louis University and is maintained by the Research Computing Group.
It is written in NodeJS and connects to a cloud hosted MongoDB, with all requests currently over
HTTP.
</p>
<p>
All read requests (GET) are open by default. To write to RERUM, Follow
these simple steps:
</p>
<div id="objects">
<h1>RERUM Objects</h1>
<p>
The following object types are
currently encouraged in RERUM, though anything can be accepted:
</p>
<h5>Annotations:</h5>
<p>
Annotation<code>http://www.w3.org/ns/oa#Annotation</code>
</p>
<h5>Manifests:</h5>
<p>
Manifest<code>http://iiif.io/api/presentation/3#Manifest</code>
</p>
<h5>Canvases:</h5>
<p>
Canvas<code>http://iiif.io/api/presentation/3#Canvas</code>
</p>
<h5>List Objects:</h5>
<p>
Annotation&nbsp;Collection<code>http://www.w3.org/ns/activitystreams#AnnotationCollection</code>
</p>
<p>
Annotation&nbsp;Page<code>http://www.w3.org/ns/activitystreams#AnnotationPage</code>
</p>
<p>
Range<code>https://iiif.io/api/presentation/3#Range</code>
</p>
<p>
Aggregation<code>http://www.openarchives.org/ore/1.0/datamodel#Aggregation</code>
</p>
<h5>Plaintext Resources:</h5>
<p>
Content&nbsp;Literals<code>http://www.w3.org/2011/content#chars</code>
</p>
<h5>Agents:</h5>
<p>
Agent<code>http://xmlns.com/foaf/spec/#term_Agent</code>
</p>
<p>
Person<code>http://xmlns.com/foaf/spec/#term_Person</code>
</p>
<p>
Group<code>http://xmlns.com/foaf/spec/#term_Group</code>
</p>
<p>
Organization<code>http://xmlns.com/foaf/spec/#term_Organization</code>
</p>
<p>
Project<code>http://xmlns.com/foaf/spec/#term_Project</code>
</p>
</div>
<h1 id="api">API</h1>
<section>
<h2>Version 1</h2> store.rerum.io/v1
<a href="https://store.rerum.io/v1/API.html">link</a>
<p>All the following interactions will take place between
the server running RERUM and the application server. Direct connection from client script
to the RERUM server is not allowed. Please note that all
examples are pointing at the development version of the RERUM API, not the
production version. Only point to the production version once you have
tested with the development version.</p>

<p>If you would like to see an example of a web application leveraging the RERUM API visit the
testbed at https://tinydev.rerum.io or the <a
href="https://github.com/CenterForDigitalHumanities/TinyNode">GitHub codebase for TinyThings</a>.</p>

<p>To have simple CRUD ability from client script without using a back end proxy, you can
use our public test endpoints. Note: Your data will be public and could be removed at any time. This is for
testing only
and will not be attributed to you in any way.</p>
<ul>
<li>https://tinydev.rerum.io/app/create Uses the rules established by RERUM <a href="#create">create</a></li>
<li>https://tinydev.rerum.io/app/update Uses the rules established by RERUM PUT <a href="#update">update</a>
</li>
<li>https://tinydev.rerum.io/app/delete Uses the rules established by RERUM <a href="#delete">delete</a></li>
<li>https://tinydev.rerum.io/app/query Uses the rules established by RERUM <a href="#custom-query">Custom
Query</a></li>
</ul>

<h2 id="get">GET<a class="anchorjs-link " href="#get" aria-label="Anchor" data-anchorjs-icon=""
style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h2>

<h3 id="single-object-by-id">Single object by id<a class="anchorjs-link " href="#single-object-by-id"
aria-label="Anchor" data-anchorjs-icon=""
style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3>

<table>
<thead>
<tr>
<th scope="col">Patterns</th>
<th scope="col">Payloads</th>
<th scope="col">Responses</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="language-plaintext highlighter-rouge">/id/_id</code></td>
<td><code class="language-plaintext highlighter-rouge">empty</code></td>
<td>200 <code class="language-plaintext highlighter-rouge">{JSON}</code></td>
</tr>
</tbody>
</table>

<ul>
<li><strong><code class="language-plaintext highlighter-rouge">_id</code></strong>—the id of the object in
RERUM.</li>
<li><strong>Response: <code class="language-plaintext highlighter-rouge">{JSON}</code></strong>—The object
at <code class="language-plaintext highlighter-rouge">_id</code></li>
</ul>

<p>Example: https://devstore.rerum.io/v1/id/11111</p>

<h3 id="history-tree-before-this-version">History tree before this version<a class="anchorjs-link "
href="#history-tree-before-this-version" aria-label="Anchor" data-anchorjs-icon=""
style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3>

<table>
<thead>
<tr>
<th scope="col">Patterns</th>
<th scope="col">Payloads</th>
<th scope="col">Responses</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="language-plaintext highlighter-rouge">/history/_id</code></td>
<td><code class="language-plaintext highlighter-rouge">empty</code></td>
<td>200 <code class="language-plaintext highlighter-rouge">[{JSON}]</code></td>
</tr>
</tbody>
</table>

<ul>
<li><strong><code class="language-plaintext highlighter-rouge">_id</code></strong>—the id of the object in
RERUM.</li>
<li><strong>Response: <code class="language-plaintext highlighter-rouge">[{JSON}]</code></strong>—an array
of the resolved objects of all parent history objects</li>
</ul>

<p>As objects in RERUM are altered, the previous state is retained in
a history tree. Requests return ancestors of this object on it's
branch. The objects in the array are listed in inorder traversal but
ignoring other branches.</p>

<p>Example: https://devstore.rerum.io/v1/history/11111</p>

<!-- Continue with rest of API documentation... truncated for brevity -->
<!-- The full API documentation would continue here -->

</section>
</div>
Loading