Skip to content

Exploit the Mturk external page allowing you to decide what to store on your website and what to send back to Mturk

Notifications You must be signed in to change notification settings

esseti/croco4mturk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrowdComputer 4 Mechanical Turk

Intro

We are a group of researchers from Univeristy of Trento working on Crowdsourcing.

We are bulding a new platform for crowdsourcing, the CROWDCOMPUTER that amongs other features allow you to separate the data of your application (so what stays in your control and that is run on your server) from the platform (which provides you with the base actions to crowdsource a task).

Amazon Mecanical Turk is the most known and used platfom, and as only few knows, it also allows you to have the UI on external (see amazon reference page )applications. You can create your html page and use it to receive/send data from/to MTURK. NB: you have to use APIs or Console Yet, ALL the form data are sent back to Mturk, if you follow the guidelines and use the form as expleined there.

Ideally you CAN NOT decide to keep some data on your side and just send back a subset of them to Mturk.

GOOD NEWS: you can.

Just use our JS LIBRARY.

How to use it##

  • create your html page and form as if it will be executed on your domain. Thus, POST action should point to the page on your domain not to mturk page.
  • add the class="mturk" class to each input fields you want to send back to MTURK. Each input field that has as class "mturk" is sent to mturk.
  • add at the bottom of your HTML page this script:
    • Jquery: <script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script>
    • The library: <script src="croco4mturk.js" type="text/javascript"></script> change the location accordingly. Or link the lib directly from github <script src="https://raw.github.com/esseti/croco4mturk/master/croco4mturk.js" type="text/javascript"></script>
  • now create your task using the External Page execution. NB: this can be done via API or probably via Console, we are working on creating an easy way to do this
  • When executed tasks will be run on your website where you will store ALL the form data while only the mturk fields will be sent back to MTURK

Example of usages

Check the example into the example folder.

To run it you need a PHP server, like MAMP

  • The form in the page has 3 fields.
  • The form posts to post1.php which stores the post data to mypost.txt. this is the post that runs on your server.
  • The form has 2 fields with the class="mturk. Those two fields (plus additional Mturk info) are sent to MTurk. For the demo purpose, if you want to run it locally, use the var testenv = true;.

NB: the library works on sandbox and mturk (not tested yet). the post is changed accordingly to sandbox or mturk depending on the url of the hit.

Contacts

If interested or anything else pls contact me or pavel

##CROCO4MTURK-CC Added a version, inside croco folder that works with the crowdcomputer.

##VERSIONS:

  • 0.2.2 CURRENT:
    • url of mturk is taken from the parameters.
    • workerId is sent back to local post.
    • shows a message when the HIT is not accepted.
  • 0.2.1:
    • Add control on where the page is run. If it's on Mturk, data are sent to local post and Mturk, otherwise only to local post.
    • Mturk data (HitId and AssigmentId) are sent to the local post.
  • 0.2:
    • Post to original page is now Syncronous.
    • Original page can respond with a JSON array containing objects as {id: ..,value:..}. These objects are sent back to Mturk with ID and VALUE.
  • 0.1: First version

About

Exploit the Mturk external page allowing you to decide what to store on your website and what to send back to Mturk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published