Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status


This is an Annotation Server which is compatible with IIIF and Mirador. This Annotation Server includes a copy of Mirador so you can get started creating annotations straight away. The annotations are stored as linked data in an Apache Jena triple store by default. It is also possible to store the annotations in SOLR.

Now supports IIIF Search API in both the Universal Viewer and Mirador

For details see IIIF Search

Getting Started


To verify you have the correct package installed, you can run the following command from a terminal or command prompt:

$ java -version
# java version "1.11.0_102"

You should see version 1.11.x. :

Step 1: Download

Download the pre-built SimpleAnnotationStore by going to the Releases page:

Download the latest which might be hidden under the Assets drop down.

Step 2: Extract Zip file

Extract the zip file, on a Mac double clicking on the file will extract it. On windows make sure the zip file is extracted by right clicking on the zip file and selecting uncompress.

Step 3: Run the SimpleAnnotationServer

Open up a terminal or command prompt and do the following:

cd extracted_sas_directory/sas
java -jar dependency/jetty-runner.jar --port 8888 simpleAnnotationStore.war

Navigate to:


You should now see Mirador with the default example objects. You can choose any manifest to start annotating

Further guides

SimpleAnnotationServer or SAS aims to fulfil two main use cases; an easy to install and get going annotation server and also a production quality annotation server. The guides below detail different operations you can undertake with SAS. In the next section it discusses how to develop with SAS and looks at some of the more complicated deployment options.

User guides

Local Development


  • Java 11 with JDK (Java Development Kit, not just the Runtime)
  • maven

To begin working with Mirador and the Simple Annotation Server do the following:

  • Download code

git clone

  • Move into the SimpleAnnotationServer directory.

cd SimpleAnnotationServer

  • Start the jetty http server

mvn jetty:run

  • Start Annotating

Navigate to http://localhost:8888/index.html

You should now see Mirador with the default example objects. You can choose any manifest to start annotating.

Docker installs

There are a number of docker files in the docker directory with different backend configurations. For details on the different options see the dev guide but to run the basic SAS instance with a Jena database you can run the following script:

./ Jena

which will use this Dockerfile docker/sas-tomcat/Dockerfile

Developer guides


Note this project doesn't currently contain Authentication although it is possible to secure the SAS web application with a single username and password using Apache forwarding. Plans for future developments include:

  • Add ElasticSearch as a backend.
  • Easy Deployment on AWS with ElasticSearch
  • Web annotations
  • Removing support for Sesame
  • Support for Mirador 3
  • Authentication – Shibboleth, Facebook/Google
  • Annotation versioning

Please add an issue if there are other enhancements which would be useful.


Thanks to:

  • azaroth42 for help with JsonLd framing and other useful tips.
  • Illtud and Paul for help with testing and fixing build problems.
  • Dan for introducing me to Apache Jena and SOLR documentation.
  • regisrob for help with the Mirador within code.

and finally thanks to the IIIF and Mirador communities which make all this cool stuff possible.