zooniverse / scribeAPI

scribe API
MIT License
79 stars 25 forks source link

Errors when people mark past page 100 in logbooks #557

Open trouille opened 8 years ago

trouille commented 8 years ago

See https://www.zooniverse.org/projects/zooniverse/old-weather/talk/175/15142/?comment=40618&page=3 (scroll down a bit to find the relevant comments and link to related thread)

This may be related to how Sascha implemented the bookmarking feature, but it may be separate.

saschaishikawa commented 8 years ago

This appears to be due to pagination. Subjects are paginated in batches of 120, so when users are at the last subject, the interface 1) incorrectly assumes they've completed the entire logbook, and 2) sends them to the first page. I've seen several comments about the interface breaking at the 121st subject, but I can't replicate it at 100.

This may be fixed after re-implementing a cookies-based bookmark (as opposed to a back-end approach that uses the already busy after_create method in the classification model. Instead, we'll simply check the last page that was classified on the user's browser. If the cookie expires, users will be sent back to page 1 until they make another classification. No biggie.

duhaime commented 8 years ago

Hi all, I'm very new to the ScribeAPI (which is phenomenal!) and may be way off, but is it possible the strange behavior after page 100 is due to line 386 of scribeAPI/app/assets/javascripts/lib/workflow-methods-mixin.cjsx?:

@fetchSubjectsForCurrentSubjectSet(1, 100)

If I understand this correctly, this call makes a request for subjects within the current subject set (e.g. fetches pages for a logbook), but limits the number of subjects returned to 100.

When I cloned the project earlier today, I deleted the subjects directory in the sample emigrant project, and moved the subjects directory from whale_tales into the emigrant project. I marked some fields on the first page, clicked the big green "Done" button in the right-hand nav, then clicked the "Next Page" button. I then clicked the "Toggle multi-page navigation" button in the left-hand nav, and tried to navigate to page 300, but the page navigator would only let me click to page 100.

I increased the second parameter in line 386 to make it read:

@fetchSubjectsForCurrentSubjectSet(1, 1000)

and could then scroll past page 100 in the page viewer. Is that parameter possibly related to the thread to which @trouille referred?