Porting Marginalia Annotation to Python

Adding annotation support to the texts in Open Shakespeare is the main item for the next 0.4 release. This is a rather large undertaking and the last 2 months has seen substantial work on the first stage in the form of porting Geof Glass’ marginalia into a standalone python package named annotater that can then in turn be easily reused in Open Shakespeare.

The main work in porting annotater was twofold:

  1. To create and independent annotation store web application which reproduced the restful web interface needed by the marginalia javascript (we’ve also improved this by giving it a normal human-usable CRUD web interface in addition to the restful one)
  2. Plugging this together (aka debugging/hacking around) with the existing marginalia javascript (for example the paste-based WSGI store web app just would not process posts sent using x-www-form-urlencoded!)

Annotater is now fully functioning and we can entirely reproduce the basic demo in the original marginalia though with the major difference that our version has a proper store backend so all creation/deletion updates of annotations get persisted to a real db and aren’t just in memory (to try this out just start the demo wsgi app via $ python annotater.py).

The next step after this is to integrate annotater into open shakespeare along with doing any polishing up of the package that is needed to achieve this.