turkle icon indicating copy to clipboard operation
turkle copied to clipboard

Implement external questions

Open hltcoe-bot opened this issue 4 years ago • 12 comments

Related to #98

MTurk does not provide a UI for creating a HIT that is an External Question. You have to use their API for that.

The data structure for creation is described here: https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_ExternalQuestionArticle.html

ExternalURL looks to be the key parameter.

MTurk adds these query parameters to the URL: assignmentId, hitId, turkSubmitTo, and workerId When previewing a hit, assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE

The HIT is submitted to https://www.mturk.com/mturk/externalSubmit

It must be a POST and include assignmentId.

Poster: Cash Costello id: 135

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

mentioned in issue #98

Poster: Craig Harman

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

mentioned in issue #154

Poster: Craig Harman

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

assigned to ccostello

Poster: Cash Costello

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

created merge request !151 to address this issue

Poster: Cash Costello

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

mentioned in merge request !151

Poster: Cash Costello

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

mentioned in merge request !154

Poster: Cash Costello

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

mentioned in issue #171

Poster: Cash Costello

hltcoe-bot avatar Aug 07 '20 14:08 hltcoe-bot

@cash @charman are there any further updates on the status or viability of this? I'm having trouble compiling my app into a HIT template and was wondering if adding external question functionality to turkle would be an easier approach.

ccmaymay avatar Nov 22 '22 03:11 ccmaymay

@ccmaymay I'll take a look at this tomorrow to see where I left off on this.

cash avatar Nov 22 '22 03:11 cash

@ccmaymay Here is what we need to do to implement external annotation sites:

  1. Update project schema
  2. Update project form to switch between html template and external site
  3. Update task display to set iframe source
  4. Implement an endpoint to accept results from external source

I have an implementation for 1 and 2. At the time I was working on this, I got stuck on 3 because of the way we structured the page. I think we want to rewrite how we structure the page that shows the iframe to use flexbox so that it uses the whole page. At some point, we've had javascript code that calculates how much real estate is left for the page and then sets the height on elements. We may have already fixed this at some point. I'll get my branch updated and push it to github so that we can check if the iframe display is still an issue.

cash avatar Nov 22 '22 14:11 cash

Awesome, thank you cash!

ccmaymay avatar Nov 22 '22 19:11 ccmaymay

I haven't forgotten about this. Trying to finish up the new REST api for Turkle first. Almost done with that.

cash avatar Dec 01 '22 16:12 cash