Skip to content

How we implement groups functionality

Jamie Folsom edited this page Sep 17, 2013 · 22 revisions

Annotation Studio allows users to view both documents and annotations through membership in groups.

We implement the group feature in three elements:

  1. Annotator. We add several fields to the annotator data schema.
  2. Annotation Studio. User and Document objects can both be associated with any number of tags, each representing a group.
  3. MIT Annotation Data Store supports queries that limit results to annotations to matching values in their groups fields.

###Annotator

Here is our modified annotation data model. Note the two additions to the schema: Groups and Subgroups.

{
    "id": "xyz",
    "quote": "outward-bound",
    "text": "",
    "uri": "http://annotationstudio.mit.edu/documents/billy-budd",
    "user": "[email protected]",
    "username": "HyperStudio",
    "uuid": "1B9D142B",
    "subgroups": ["test"],
    "groups": ["21L.705", "test"],
    "permissions": {
        "delete": ["[email protected]"],
        "update": ["[email protected]"],
        "admin": ["[email protected]"],
        "read": []
    },
    "tags": [],
    "ranges": [{
        "start": "/div[1]/p[6]",
        "startOffset": 604,
        "end": "/div[1]/p[6]",
        "endOffset": 617,
    }],
    "updated": "2013-09-16T19:45:39.267Z",
    "created": "2013-09-16T19:45:13.012Z",
    "annotator_schema_version": "1.0"
}

###Annotation Studio ###MIT Annotation Data Store

Clone this wiki locally