As part of the problem associated with changing of the underlying XML, annotations positions could potentially be wrong. We thought a quick way to fix this is to allow admins to edit the Xpointer of the annotations to reposition them correctly. However Steve found out that:
There may be a slight problem with this. I'm doing a new annotation
that supercedes an existing annotation. Thing is, the user is derived
from the logged-in CAS user. I don't have a way to impersonate the
original author of the annotation, it will always be from the admin
user.
So what exactly should the semantics be? Admin operation on behalf of user? Do we rewrite the annotation without regard to revision history?