GetAssignments()now attempts to convert non-character variables to an appropriate R vector type via
type.convert(, as.is = TRUE).
RequesterReport(), including "NumberAssignmentsAvailable", "NumberAssignmentsAccepted", "NumberAssignmentsReturned", "TotalFeePayout", and "TotalRewardAndFeePayout". This is reflected in the return value of
? MTurkR. (#93)
reasonargument to contain newlines and tabs. (#109)
CreateQualificationType()is called with
validate.answerkey = TRUE. (#117, h/t Darrell Penta)
BulkCreateFromHITLayout()that caused the function to fail. (#114, h/t Tyler Scott)
GetBonuses(). (#113, h/t Andrew Brown)
credentials()function. (h/t Kim Gross)
GenerateExternalQuestionnow sets a default value of
frame.height = 400.
options("MTurkR.keypair")are completely deprecated. A warning will now be issued if trying to supply credentials in this way. AWS credentials should be specified in environment variables
AWS_SECRET_ACCESS_KEY. Messages are triggered on package load if environment variables are not set. (#102)
HITStatus()will now display any non-empty RequesterAnnotation field for a HIT. (#101)
APIReferencehave been removed. (#96)
MTurkR.Wizardhas been removed from MTurkR and has been recreated as a separate package called MTurkRGUI. (#95)
HITStatusnow reports condensed column names better suited for narrow displays.
response.grouparguments passed to HIT-related functions. (#89)
authenticate, which was deprecated in v0.5, is removed.
credentials, AWS credentials should be specified via environment variables
credentialswill be deprecated.
SufficientFunds()reflects the new commission structure effective July 21, 2015. (#87)
BulkCreateFromURLsnow have a
frame.heightargument with a default of 450.
GenerateAssignmentReviewPolicywas expanded and tested, and a related HTMLQuestion HIT template is now installed.
request(). (h/t Sean Murphy, #106)
bringToTop(-1). This is fixed. (h/t Carolina Kuepper-Tetzel)
BulkCreateFromHITLayoutfunctions that can be used to create multiple HITs of the same HITType with identical properties but different question content. The
hitsfromtemplatefunction has been removed. (#76)
CreateHITnow only warns about duplicated arguments (passing both
hit.typeand arguments for
verbose = TRUE.
AnswerKeyTemplate) from a manually entered Qualification Test. (#73)
GrantBonusnow accepts a
GenerateNotificationhas been removed. (#71)
RejectQualificationhas been merged to clarify the use of these functions. Documentation has been expanded with complete examples of both functions. (#72)
GenerateQualificationRequirementnow notes that U.S. state locale values (following ISO 3166-2 format) are allows. (#74)
GenerateHITsFromTemplatenow has a more complete example that includes an installed template HTML file. (#72)
GetStatisticnow consistently returns a three-column data frame containing the name of the requested statistic, its value, and the date of the statistic. If the request fails, this data frame has zero rows. Printing of request information (if
verbose = TRUE) has further been fixed to prevent incorrect printing when
countwas specified. (#78)
ExtendHITwherein specifying both
add.secondscaused only assignments to be incremented. (#79)
GetReviewResultsshould now be able to return all results. This is untested due to the large page size of ReviewResults (65,535). (#54)
mturkr.wizard) has a significantly cleaned up code base aimed at simplifying future bug fixes. A user-visible side effect of this is modified aesthetics that should make the interface more attractive and more uniform. (#56)
mturkr.wizardnow allows users to enter multiple WorkerIds for several functions by simply pasting one WorkerId per line into a multi-line textbox. (#52, h/t Justin Weigand)
pagesizearguments to control pagination of results. (#54)
CreateQualificationTypenow include examples using template files installed with the package. (#40)
GetAssignmentsonly returned the first answer option when multiple selection answers were chosen by a worker. (#63, h/t Kyle Harms)
ContactWorkersbatch mode that sent multiple emails to the same worker(s). (#58, h/t Andy Guess)
GenerateReviewPolicyis removed in lieu of two new functions:
GenerateAssignmentReviewPolicy, both of which have a simplified function API and include extensive examples in the documentation. The previous code never worked correctly, so this change should be unimportant. The use of
CreateHITremains unchanged. (#47)
SetHITAsReviewingnow include an optional
annotationargument that can be used to apply the function to all HITs of a given "batch" created in the online Requester User Interface. (#51)
GetFileUploadno longer has a
file.extargument. Instead the file extension is taken from the uploaded file itself. The format of the filename for the downloaded file has also been clarified. (#45)
mturkr.wizard, the MTurkR interactive interfaces.
SearchHITsthat was not passing
GenerateQualifiationType. (h/t Haotian Zhou)
GenerateQualificationRequirementnow supports new comparators (given MTurk API update on 2014-07-17): "DoesNotExist", "In", and "NotIn". The "DoesNotExist" comparator allows requesters to effectively block workers who do not have, e.g., a requester-defined qualification. The "In" and "NotIn" comparators allow a boolean OR logical in QualificationRequirements (e.g., allowing a worker to be from the US or the UK) rather than having to create two separate HITs with different Locale restrictions.
GenerateQualificationRequirementhas been removed.
GetHITsForQualificationTypehas been removed.
*ToDataFramehave been replaced with
as.data frameS3 methods, which are handled by a global
as.data frame.MTurkResponsefunction. (#36)
ParseErrorCodesis removed (now used internally in
options('MTurkR.print')is deleted and replaced by
options('MTurkR.verbose'). All functions will, temporarily, accept
browser=TRUE, functions now return an object of class "MTurkResponse" for the purpose of debugging.
options('MTurkR.browser')is removed from all functions except
request. It can, however, still be passed via
GetBonusesno longer supports the
return.bonus.dataframelogical. All bonuses are automatically returned. To just retrieve details on number of bonuses per HIT, request only the first page with
MTurkR.Wizardnow allows batch emails using
ContactWorkers. WorkerIds can be specified as a comma-separated list. (#4)
credentialsfunction has now been changed to create and/or retrieve a global option
MTurkR.keypair. This is a backwards compatible change that allows users to specify
options(MTurkR.keypair=c(accesskey, secretkey))directly without using
credentials. All functions now point directly to the global option, so that
credentialscan be deprecated in a future release.
Validis now a factor. (#28)
ContactWorkersin batch mode now returns a data frame identical in structure to using it in regular mode, with one row per worker. (#32)
requestnow defaults to
NULLand is generated automatically.
as.data frame.HITs) now returns, for the QualificationRequirements list element, an empty data frame rather a single
NAmissing value if a given HIT does not have any QualificationRequirements attached to it.
requestnow generates the API authentication signature automatically, eliminating the need for
authenticate, which is deprecated.
requestno longer accepts
timestamparguments and has a new argument order. Arguments can be passed to
requestvia a new
...argument in all functions.
getURLto gain finer control over API requests.
requestnow attempts to
tryCatchany errors on writing the MTurkR log file. (#9)
requestnow returns an object of S3 class "MTurkResponse" and an associated print method has been added.
GenerateQualificationRequirementnow correctly handles the "Exists" comparator by requiring an empty character string for the corresponding
HITStatusnow prints correctly when only one HIT is retrieved.
ApproveAllAssignmentsnow only attempts to approved assignments with AssignmentStatus "Submitted".
as.data frame.QuestionFormnow returns "Overview" elements and "Question" elements as one data frame, distinguished by a new column:
GetQualificationRequestsnow respect the
GetBonuseswhereby the default
return.all=TRUEargument overwrote manually specified
GetBonusesis called with a
return.allis used recursively, such that
return.all=FALSEreturns the requested page for each HIT of the requested HITType. (h/t Dane Wendell, #37)
GetBonusesusing a HITTypeId that caused the function to fail catastrophically.
...argument, the contents of which are passed to
browseroptions are removed given removal of the feature from all functions.
APIReferencenow reflect deprecated status.
authenticatenow reflect its deprecated status.
requesthas been updated to reflect its now non-exported status.
requestnotes that it no longer accepts
timestamparguments, which are now generated internally. Documentation for
add.secondsparameter was incorrectly called
hit.typeargument can now generally accept a vector of HITTypeIds rather than just a single character string. See documentation.
GetBonusesnow allows requests to be opened in the default browser, like most other API functions.
MTurkR.print) have been added to all functions. Defaults for these remain the same in all places.
SearchHITsreturns a named list of QualificationRequirements. This is a consequence of some significant changes to now the names of user-defined QualificationTypes are added to this list (moving that functionality from
options('MTurkR.sandbox'=FALSE)has been added to allow easier reuse of code between testing in the sandbox and the live server. The default behavior remains to use the live server, but using an option, which is called by all functions, allows one to toggle the global option and then recycle code verbatim.
ListQualificationTypesfor the available types.
message, where appropriate.
validation.testparameter that, when TRUE, runs pre-query checks on the MTurkR call and returns the full API query URL. The call is not executed. This can be used for pre- or post-request debugging.
options(MTurkR.logdir = getwd()). The previous default behavior (to store the file in the working directory) is preserved but can now be globally modified for all requests. This might be useful for storing all requests (from all MTurk projects) in a single directory.
ContactWorkersnow supplies additional information when attempting to contact ineligible workers (i.e., those who have not worked for the requester previously). These workers are indicated by a value of
Validcolumn of the response data frame. (#29)
hit, etc.) to character in order to prevent some unintended side effects. (#26)
requestwas returning errors due to this and has been updated. Everything is backwards compatible to earlier versions of libcurl. (#31, h/t James Ben Taylor)
GenerateHITLayoutParameternow replaces any non-XML ampersands with
&, which had previously caused failures when creating HITs. (#30, h/t Eric Lin)
GetAssignment, made a small change to prevent a warning and coercion of a one-assignment vector to a list. (h/t Eric Lin)
HITsToDataFramethe correct capitalization of "Of" (from lower to upper) has been corrected throughout.
QuestionFormAnswersToDataFrameto handle Answer data structures with differing QuestionIdentifiers. (h/t Robert Vesco and Solomon Messing)
GetHITsForQualificationTypedue to personal communication with AWS.
GetReviewableHITsthat correctly queried the API but returned an incomplete data frame. (h/t Eric Lin)
typewas not defined, that occurred when
hit.typewas non-NULL. (h/t Eric Lin)
GetHIT, which trickled down through
QualificationRequirementsToDataFramethat caused error when retrieving HITs from the sandbox with user-defined qualifications. (h/t Eric Lin)
GenerateHTMLQuestionrelated to XML encoding. (h/t Alex Neustädter)
requestand several convenience functions, corrected
browseURLto be platform-independent.
requestto handle a variety of problematic characters (that might emerge from FreeText responses in assignments). (h/t and contributions from Solomon Messing)
shell.execand replaced with
hit.typeparameters are now described (correctly) as allowing vectors of HITTypeIds rather than just a single HITTypeId. See documentation.
ContactWorkersnow describes in greater detail what happens when attempting to contact ineligible workers. (#29)
CreateHITnow provides an option to validate the 'question' parameter for HTMLQuestion, ExternalQuestion, and QuestionForm HIT structures.
CreateQualificationTypenow provides options to validate the 'test' and/or 'answerkey' parameters for QuestionForm and AnswerKey structures, respectively.
GenerateAnswerKeywas modified to accept slightly different inputs for the 'questions' parameter. A new function,
AnswerKeyTemplate, produces a user-modifiable template (as a list) for that parameter based on a QuestionForm data structure for which an AnswerKey is desired.
XMLToDataFrame) that normally return named lists have nothing to translate to a data frame, they now return named lists with NULL values rather than simply a single NULL.
GetAssignmentsthat prevented the return of assignments for an entire HITType or for multiple HITs. Specifically, previous version was retrieving assignments via the API but not returning them to the user. (h/t Robert Vesco)
HITsToDataFrame, which is called by
GetHIT, etc., now uses the convenience function
ListQualificationTypesto return the name of QualificationRequirements when applicable.
ContactWorkersto allow a 'batch' mode, wherein workers are contacted with generic (i.e., not customized) email messages and subject lines in batches of 100.
print=TRUEmodified slightly, so that iteration numbers are printed for each iteration (to monitor progress of mutli-item requests).
SearchHITs. These now include an optional "Request" ResponseGroup to simply return information about the API call without executing that call.
AssignmentsToDataFramenow returns a "RequesterFeedback" variable, providing access to feedback supplied to workers when
GetAssignmentsis called with the "AssignmentFeedback" ResponseGroup.
GenerateAnswerKey(see documentation) and a new function
QuestionFormToDataFramecreated. See documentation for details.
BlockWorkersto allow a single reason to be used for multiple workers, as originally intended.
GetAssignmentsto allow retrieval of assignments by status, as originally intended.
AssignmentsToDataFrameto correctly store 'ApprovalTime' or 'RejectionTime' in 'ApprovalRejectionTime'
CreateQualificationTyperelated to parsing of XML in 'test' and 'answerkey' parameters.
credentialsto pass CRAN checks.
CreateQualificationTypenotes web browser-dependent constraints on URL length that may produce unintended behavior when 'browser=TRUE' and a 'test' parameter is specified.
GenerateReviewPolicyand retrieving their results using
GetAssignments, were producing unintended behavior.
requestwas modified to remove problematic whitespace characters when writing log entries (which made reading the log file into R problematic).
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.