This is an eXist-db-based application that allows graphical image annotation.
Users can draw different shapes on top of images (rectangles, circles, polygons) and store these selections as part of an standoff annotation which will contain the selections as SVG.
The app provides the following functions:
The separate WAP app implements the basics of the Web Annotation Protocol to allow storage of the standoff annotations.
The application is built as an eXist-db application and relies on Polymer 2.0 Web Components in the frontend.
eXist-db 5.0.0 or higher
ant 1.10.12
npm 8.x
bower 1.8.14
node 14.x
WAP 4.0.0 or higher
Polymer 2.x (bundled)
OpenSeadragon 2.4.0 or higher (bundled)
Fabricjs 3.6.1 or higher (bundled)
Install npm and bower dependencies
npm install
bower install
The app is then built via Ant with this command:
ant xar
Since the xar task is the default you can also just call
ant
gulpfile.js
in the project root defines two tasks gulp deploy
and gulp watch
that lets you
upload and test changes you made to the code without having to package and install ecpo each time.
For this to work you might have to adapt the connection settings on your local checkout to match your settings.
NOTE: do not commit those changes
The default connection settings are:
const exClient = exist.createClient({
host: 'localhost',
port: '8080',
path: '/exist/xmlrpc',
basic_auth: {user: 'admin', pass: ''}
})