Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atomotic/iiif-annotation-studio
Mirador IIIF Viewer packaged as a desktop app with an embedded annotation endpoint
https://github.com/atomotic/iiif-annotation-studio
annotations iiif mirador mirador-viewer
Last synced: about 2 months ago
JSON representation
Mirador IIIF Viewer packaged as a desktop app with an embedded annotation endpoint
- Host: GitHub
- URL: https://github.com/atomotic/iiif-annotation-studio
- Owner: atomotic
- License: apache-2.0
- Created: 2018-08-20T18:53:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-11T19:58:08.000Z (almost 6 years ago)
- Last Synced: 2024-04-18T20:36:11.314Z (9 months ago)
- Topics: annotations, iiif, mirador, mirador-viewer
- Language: JavaScript
- Homepage:
- Size: 5.39 MB
- Stars: 14
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IIIF Annotation Studio
This is the [Mirador IIIF Viewer](https://projectmirador.org) packaged as a desktop app with an embedded annotation endpoint that saves annotations to a local sqlite database.
![](https://gist.githubusercontent.com/atomotic/f621ab4364a0bd520dd1066bc4d0e439/raw/1ae8d554576bbe0ecae6b5630dbaa262e26d8615/iiif-annotation-studio.png)
This is a proof of concept, slightly usable at the moment.
A lot of things are missing:- [x] annotation api: create
- [x] annotation api: update and delete
- [ ] UI: a page listing all manifests and relative annotations
- [ ] export (and import) of annotations
- [ ] builds for linux (AppImage) and Windows
- [ ] share annotations (maybe using DAT)## Build
Clone
git clone https://github.com/atomotic/iiif-annotation-studio
cd iiif-annotation-studioInstall go-bindata
go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...Install modules (requires [dep](https://github.com/golang/dep))
dep ensure
Package static assets
go-bindata-assetfs static/...
— Build for macos
go build -o "build/macos/IIIF Annotation Studio.app/Contents/MacOS/IIIF Annotation Studio.app"
Run `IIIF Annotation Studio.app` from build/macos
(if you trust me there is a ready made build in [releases](https://github.com/atomotic/iiif-annotation-studio/releases))— Build for linux. GTK3 and GtkWebkit2 required, not yet tested.
go build
./iiif-annotation-studio## Backup
The first run creates the sqlite database `$HOME/.annotations/annotations.db` if not existing. Just backup this file.
➜ ~ sqlite3 ~/.annotations/annotations.db .schema
CREATE TABLE annotations (
id INTEGER PRIMARY KEY,
annoid VARCHAR,
created_at DATETIME,
target VARCHAR,
manifest VARCHAR,
body TEXT);
CREATE UNIQUE INDEX annotation_id ON annotations (annoid);## Disclaimer
Is this another Electron app? NO, is made in golang with [zserge/webview](https://github.com/zserge/webview).
## See also
[Mirador Desktop](https://github.com/ProjectMirador/mirador-desktop): Electron based, annotations on LocalStorage
## Acknowledgement
[demetsiiify](https://github.com/jbaiter/demetsiiify) by [Johannes Baiter](https://github.com/jbaiter) contains an extremely simple annotation server that is probably the best piece of code to learn how Mirador interacts with annotations stores.