sgsinclair / Voyant

GNU General Public License v3.0
207 stars 53 forks source link

Change annotations implementation #352

Open ajmacdonald opened 7 years ago

ajmacdonald commented 7 years ago

AnnotateIt is shutting down and no longer accepts new accounts.

sgsinclair commented 7 years ago

I assume @SusanBrown is following this one too.

SusanBrown commented 7 years ago

Thanks. I didn't know about this.

Sent from my iPhone

On Mar 16, 2017, at 10:25 AM, Stéfan Sinclair notifications@github.com<mailto:notifications@github.com> wrote:

I assume @SusanBrownhttps://github.com/SusanBrown is following this one too.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/sgsinclair/Voyant/issues/352#issuecomment-287073224, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAhUoAaezAyVIMAogihR1Hd4MPhNn1cnks5rmUYngaJpZM4MeeIg.

SusanBrown commented 6 years ago

Hi @ajmacdonald

Jasmine has done some experimenting with several of the leading annotation tools and they seem to have trouble anchoring their annotations to specific strings of text in the DToC.

The document with her notes in it is here: https://docs.google.com/document/d/1nSuEG8aoygOnYexvzfp1nyW3OX56GdH1bNsbBej4WC0/edit#

Would you be able to investigate what might be going on?

ajmacdonald commented 6 years ago

@SusanBrown there was a similar issue with the previous annotator. The solution at the time was to integrate the annotator within DToC so that we could fully control saving and loading of annotations. The candidates you're looking at seem to be browser plugins, so that type of solution is not possible this time.

One possible solution is to modify the URL to add the docId when a document is loaded. @sgsinclair I think there was an argument against this approach previously. Can you think of reasons not to do this?

ajmacdonald commented 6 years ago

@sgsinclair In the initial commit the code to do that is commented out. Again, I can't recall why though.

ajmacdonald commented 6 years ago

Hypothesis is based on Annotator.js so we might be able to use similar adaptations after all.

sgsinclair commented 6 years ago

@ajmacdonald regarding the URL I think using doc ID is more fragile because it may change when a corpus is recreated, but docIndex (the document's position in the corpus) shouldn't (by definition a corpus with a different order is a different corpus).

ajmacdonald commented 6 years ago

@sgsinclair if the corpus is recreated, wouldn't it then have a different corpus ID as well? Things get a bit tricky in DToC because we're allowing doc order to be changed through the curation mode (without it being saved as a new corpus).

sgsinclair commented 6 years ago

Yes, in normal Voyant world a corpus is a unique arrangement of documents in a set order. We could force a reordered corpus to use a new ID (new URL) or else we need to handle the reordering virtually, mapping the original order to the new order.

At a quick pass, where do you think order would need to be virtualized?

ajmacdonald commented 6 years ago

I already have some code in place that's supposed to do that (using docIndex) but apparently it's a bit flaky so I was thinking about using docIds instead

sgsinclair commented 6 years ago

ID is definitely more robust, just the issue that an exported URL with ordering would be much longer. But maybe that's a separate issue with its own solution (a param that succinctly maps indices) but that's only used once