lduarte1991 / hxat

Contains the currently-in-development project by HarvardX to bring the annotation tool currently living in the edX platform to a more accessible LTI implementation.
13 stars 7 forks source link

Session issue fix #67

Closed lduarte1991 closed 8 years ago

lduarte1991 commented 8 years ago

@arthurian Hold on to your hats for this one:

So there have been students encountering issues with the tool where they get sent to the page with the target object but then continually get "There has been a problem with your annotation store" or some variation of that error. Apparently this is a big issue with LTIs/iframes: If their privacy settings state that they are "Blocking third party cookies and site data" then they are able to get to the target object but then any calls to the view that calls the CATCH fails because all the information in the SESSION object is missing since they've blocked it using the privacy settings. This is a bigger deal in Safari because they actually don't have a direct option for blocking third-party tools. They merely have a setting that says "Allow cookies and site data from websites I've visited" AND it's the default.

So, the current "fix" I had in mind is the following: I've added a "troubleshooting" page that instructors can link to before the tool. So even if they don't want to (or, let's be honest, can't) change their privacies settings, they will at least have "visited" the site so those browsers with those specific options should work fine. For the rest, we're at least being transparent about what's wrong and hopefully they can follow instructions and are willing to change their privacy settings at least while using the tool.

To replicate the error make sure you do it in private browsing mode since you've probably visited your own site directly (i.e. not via iframe) at some point in time.

Let me know what you think or if you can come up with something better.

I also removed a piece of code from annotator that I've wanted to remove for a while. It automatically gets the first x annotations from the annotation server on load even though I then make a call for all of the annotations while creating the dashboard later so this is redundant.

arthurian commented 8 years ago

@lduarte1991 Seems like a reasonable approach to me. I'm not aware of a better way to handle that issue at the moment other than trying to do something with cookieless sessions, but that seems too risky. I like the troubleshooting approach and being transparent with users so they can decide whether to change their privacy settings or not.

👍

lduarte1991 commented 8 years ago

Cool I'll merge after I have someone else read it over for tone and spelling 👍