|
1 |
| -Mirador-Annotations |
2 |
| -Purpose: provide a simple IIIF Annotations server which can be used stand-alone, but is designed with pairing with Mirador in mind. It assumes an outside manifest and canvas server, but can be pointed to by a Mirador endpoint and used to store and retrieve annotations. |
3 |
| -One main thrust of Mirador-Annotations is to support the IIIF Layers=>Lists=>Annotations structure as an alternate way of organizing annotations. For example, a manuscript can be annotated with transcript, translation and commentary annotations and be organized by those functions along with the standard manifest=>canvas=>annotation_list structure. |
| 1 | +# Mirador-Annotations |
| 2 | +## Purpose |
| 3 | +Provide a simple International Image Interoperability Framework (IIIF) Annotations server. Intended to be paired with Mirador, but can be used as a standalone deployment. |
| 4 | + |
| 5 | +## About |
| 6 | +It assumes an outside manifest and canvas server, but can be pointed to by a Mirador endpoint and used to store and retrieve annotations. |
| 7 | + |
| 8 | +One main thrust of Mirador-Annotations is to support the IIIF `Layers=>Lists=>Annotations` structure as an alternate way of organizing annotations. For example, a manuscript can be annotated with transcript, translation, and commentary annotations and be organized by those functions along with the standard `manifest=>canvas=>annotation_list` structure. |
| 9 | + |
4 | 10 | See wiki home page for more background and information.
|
5 | 11 |
|
6 |
| -Getting Started: |
7 |
| -Mirador-Annotations is basically a standard Ruby on Rails application with the usual deployment steps: |
8 |
| -**Installation:** |
9 |
| - - git clone |
10 |
| - - bundle |
11 |
| - - rake db:migrate |
12 |
| -1. Clone the repository |
13 |
| -2. Run bundle install |
14 |
| -3. Rake db:migrate |
15 |
| -4. Set env config variables: |
16 |
| - - IIIF_HOST_URL |
17 |
| - - USE_REDIS |
18 |
| - if USE_REDIS is set to 'Y' then set these: |
19 |
| - - REDIS_URL |
20 |
| - - S3_Bucket |
21 |
| - - S3_Bucket_Folder |
22 |
| - - S3_Key |
23 |
| - - S3_Secret |
24 |
| - |
25 |
| -**Usage:** |
26 |
| - - Mirador-Annotations receives new annotations in IIIF format and will save to whichever relational database |
27 |
| - is configured. It will also return requested annotations in IIIF format. |
28 |
| - - For use with Mirador, the central thought is to allow both standard annotations which are bound to a canvas, |
29 |
| - and "targeting" annotations which are bound to another annotation. |
30 |
| - - layers should be created manually, and when an canvas-bound annotation is entered it will automatically add to a list defined by layer and canvas |
31 |
| - - Custom Method *getAnnotationsForCanvas* is an API call method which will return all annotations which are bound to a given canvas, |
32 |
| - along with all annotations which target it either directly or indirectly |
33 |
| - (i.e. Annotation 3 targets Annotation 2 which targets standard Annotation 1, which is bound to a canvas) |
| 12 | +## Getting Started |
| 13 | + |
| 14 | +### Basic Installation |
| 15 | + |
| 16 | +Mirador-Annotations is a standard Ruby on Rails application with the usual deployment steps: |
| 17 | + |
| 18 | +1. clone the repository |
| 19 | +2. `bundle install` |
| 20 | +3. `rake db:migrate` |
| 21 | +4. Set `.env` config variables |
| 22 | + |
| 23 | +### Developing Via Docker |
| 24 | +If you prefer to develop via Docker, define the required variables in the `.env` file, then run the following: |
| 25 | + |
| 26 | +1. `docker-compose up -d` |
| 27 | +2. `docker-compose run rails rake db:migrate` |
| 28 | + |
| 29 | +This will get the containers running in a private network. The rails container is exposed and bound to port 3000 on your local machine by default. |
| 30 | + |
| 31 | +For troubleshooting tips on on developing with docker check the wiki. |
| 32 | + |
| 33 | + |
| 34 | +## Usage Notes |
| 35 | +Mirador-Annotations receives new annotations in IIIF format and will save to whichever relational database is configured. It will also return requested annotations in IIIF format. |
| 36 | + |
| 37 | +Allows both standard annotations which are bound to a canvas, and "targeting" annotations which are bound to another annotation. |
| 38 | + |
| 39 | +Layers should be created manually, and when a canvas-bound annotation is entered it will automatically add to a list defined by layer and canvas. |
| 40 | + |
| 41 | +Custom method `#getAnnotationsForCanvas` is an API call method which will return all annotations which are bound to a given canvas, along with all annotations which target it either directly or indirectly. For example: Annotation 3 targets Annotation 2; Annotation 2 targets standard Annotation 1; Annotation 1 is bound to a canvas. |
34 | 42 |
|
| 43 | +## External Links |
| 44 | +* [Project Mirador](https://github.com/ProjectMirador/mirador) |
| 45 | +* [International Image Interoperability Framework (IIIF)](http://iiif.io/) |
0 commit comments