groupassignment via url parameter


groupassignment via url parameter

Author
Message
cjlab
cjlab
Respected Member
Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)

Group: Forum Members
Posts: 11, Visits: 82
Hello,

We are trying to launch a new study mirroring our previous one. In the past study, subject id was generated by the url parameter "subjectnumber", although this didn't actually refer to subject number. We used it in our batch script below to specify which task participants would do first. 

<batch>
/subjects = (1 of 4)
/groupassignment = subjectnumber
/file = "child-attribution-GNAT.iqx"
</batch>

<batch>
/subjects = (2 of 4)
/groupassignment = subjectnumber
/file = "child-APP.iqx"
</batch>

<batch>
/subjects = (3 of 4)
/groupassignment = subjectnumber
/file = "high_load.iqx"
</batch>

<batch>
/subjects = (4 of 4)
/groupassignment = subjectnumber
/file = "low_load.iqx"
</batch>

Group ID was then generated by the url parameter "groupnumber", meaning what version of the task they would do:

 For instance: 
<expt>
/groupassignment = groupnumber
/subjects = (1 of 4)
/blocks = [1= preinstruction; 2=scenarios_practice; 3= trialinstruction;
4= scenarios_positive01; 5= scenarios_negative01; 6= scenarios_positive02; 7=scenarios_negative02; 8= finish]
</expt>

Everything worked fine! Now, as we are trying to start the second study we are running into troubles with groupnumber. Links for the first task (below) work. 

This link http://research.millisecond.com/ubcparentinglab/Newstudy.web?subjectnumber=1&groupnumber=2 works.

But links for the second and third tasks (subjectnumber):
http://research.millisecond.com/ubcparentinglab/Newstudy.web?subjectnumber=2&groupnumber=2 
and
http://research.millisecond.com/ubcparentinglab/Newstudy.web?subjectnumber=3&groupnumber=2
don't.

We get this error message: "Could not load file http://www.millisecond.com/myaccount/scripts/ubcparentinglab/Newstudy/high-load.iqx. HTTP status code 404"

It seems like our new batch script is working because the error message identifies the correct subjectnumber (high-load), but that the group number is not.

Any thoughts?

Thanks!



Dave
Dave
Supreme Being
Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)

Group: Administrators
Posts: 7.4K, Visits: 30K
#1: The parameter name for the groupnumber is *not* "groupnumber". You have set the experiment up to retrieve the group id from a parameter called "groupassignment":
function GetGroupId(){    var snum = GetQueryVariable("groupassignment");    if ( snum == null || snum == "")    {        throw "Unable to get group id from url query paramter 'groupassignment'";     }   return snum;}

#2: The 404 error(s), however, are completely unrelated to this. HTTP status code 404 means "File not found", and that is exactly the case here. You assign people with subject id 2 to a script called "low-load.iqx", and people with an id of 3 to a script called "high-load.iqx".

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low-load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high-load.iqx"
</batch>

Neither of those two scripts currently exists on the server -- the script's that *are* on the server, as far as I can see, are called "low_load.iqx" and "high_load.iqx", respectively (note the underscore). If you fix your <batch> syntax to reference the proper file names

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low_load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high_load.iqx"
</batch>

everything should work just fine.

cjlab
cjlab
Respected Member
Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)Respected Member (378 reputation)

Group: Forum Members
Posts: 11, Visits: 82
Thank you so much! Such an obvious mistake, but I swear I've checked multiple times.



briancjo
briancjo
Respected Member
Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)

Group: Forum Members
Posts: 25, Visits: 167
Dave - Monday, August 08, 2016
#1: The parameter name for the groupnumber is *not* "groupnumber". You have set the experiment up to retrieve the group id from a parameter called "groupassignment":
function GetGroupId(){    var snum = GetQueryVariable("groupassignment");    if ( snum == null || snum == "")    {        throw "Unable to get group id from url query paramter 'groupassignment'";     }   return snum;}

#2: The 404 error(s), however, are completely unrelated to this. HTTP status code 404 means "File not found", and that is exactly the case here. You assign people with subject id 2 to a script called "low-load.iqx", and people with an id of 3 to a script called "high-load.iqx".

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low-load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high-load.iqx"
</batch>

Neither of those two scripts currently exists on the server -- the script's that *are* on the server, as far as I can see, are called "low_load.iqx" and "high_load.iqx", respectively (note the underscore). If you fix your <batch> syntax to reference the proper file names

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low_load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high_load.iqx"
</batch>

everything should work just fine.

supreme leader,

having a similar problem. Some of my participants when entering a subject id receive a popup message. "Failed to get subject id. the url has no parameters."
This also happened to me. I ended up refreshing the page to no avail. I had to reopen the browser and run the inquisit web player prior to starting the web script for it to work.
I've searched around and can't find an answer. It might be my batch file setup or how i set up subject ids for my web script. 

here is my batch script.

<batch>
/ subjects = (1 of 2)
/ file = "JoBrianDemoS1.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc2WebRulesA.iqx"
/ file = "Disc2Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefS.iqx"
</batch>

<batch>
/subjects = (2 of 2)
/ file = "JoBrianDemoF2.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc1WebRulesA.iqx"
/ file = "Disc1Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefF.iqx"
</batch>

1.I did not include /groupassignment = subjectnumber because with batch, i understand that inquisit will automatically assign odd subject ids to condition (1of2) and even subject ids to condition (2of2). Do i need to add /groupassignment = subjectnumber to be specific? 

2. In setting up the web scripts, for subject ids, I chose "user entered" and for group ids, I chose "url parameter". I wonder if the group id is creating an error based on the error i receive.
The problem is i don't want random assignment with or without or sequential. I want the subject id odd/even to determine which batch to run. I thought the "url parameter" would help bypass those 3 options, but since I don't have a url parameter (nor more importantly do not really understand what that means). Prior you mentioned to choose "url parameter" and send participants a link with the groupid, but i thought i worked around that with the batch subject id. 
-another scenario, if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

3.are there any subject related IT problems that could be creating this issue like pop ups or what have you.

any help as per usual is helpful. 
Dave
Dave
Supreme Being
Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)

Group: Administrators
Posts: 7.4K, Visits: 30K
briancjo - Sunday, December 04, 2016
Dave - Monday, August 08, 2016
#1: The parameter name for the groupnumber is *not* "groupnumber". You have set the experiment up to retrieve the group id from a parameter called "groupassignment":
function GetGroupId(){    var snum = GetQueryVariable("groupassignment");    if ( snum == null || snum == "")    {        throw "Unable to get group id from url query paramter 'groupassignment'";     }   return snum;}

#2: The 404 error(s), however, are completely unrelated to this. HTTP status code 404 means "File not found", and that is exactly the case here. You assign people with subject id 2 to a script called "low-load.iqx", and people with an id of 3 to a script called "high-load.iqx".

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low-load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high-load.iqx"
</batch>

Neither of those two scripts currently exists on the server -- the script's that *are* on the server, as far as I can see, are called "low_load.iqx" and "high_load.iqx", respectively (note the underscore). If you fix your <batch> syntax to reference the proper file names

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low_load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high_load.iqx"
</batch>

everything should work just fine.

supreme leader,

having a similar problem. Some of my participants when entering a subject id receive a popup message. "Failed to get subject id. the url has no parameters."
This also happened to me. I ended up refreshing the page to no avail. I had to reopen the browser and run the inquisit web player prior to starting the web script for it to work.
I've searched around and can't find an answer. It might be my batch file setup or how i set up subject ids for my web script. 

here is my batch script.

<batch>
/ subjects = (1 of 2)
/ file = "JoBrianDemoS1.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc2WebRulesA.iqx"
/ file = "Disc2Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefS.iqx"
</batch>

<batch>
/subjects = (2 of 2)
/ file = "JoBrianDemoF2.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc1WebRulesA.iqx"
/ file = "Disc1Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefF.iqx"
</batch>

1.I did not include /groupassignment = subjectnumber because with batch, i understand that inquisit will automatically assign odd subject ids to condition (1of2) and even subject ids to condition (2of2). Do i need to add /groupassignment = subjectnumber to be specific? 

2. In setting up the web scripts, for subject ids, I chose "user entered" and for group ids, I chose "url parameter". I wonder if the group id is creating an error based on the error i receive.
The problem is i don't want random assignment with or without or sequential. I want the subject id odd/even to determine which batch to run. I thought the "url parameter" would help bypass those 3 options, but since I don't have a url parameter (nor more importantly do not really understand what that means). Prior you mentioned to choose "url parameter" and send participants a link with the groupid, but i thought i worked around that with the batch subject id. 
-another scenario, if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

3.are there any subject related IT problems that could be creating this issue like pop ups or what have you.

any help as per usual is helpful. 

Re. #1: > Do i need to add /groupassignment = subjectnumber to be specific?

No. Assignment by subject number is the default. Not specifying /groupassignment at all is equivalent to specifying /groupassignment = subjectnumber.

Re #2: > for group ids, I chose "url parameter"

Subject ids and group ids are two separate things. If you instructed the web experiment to obtain the group id from a query parameter, you need to make sure that you pass said query parameter in to the launch page. Otherwise you will rightly get an error message.

> if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

If neither your <batch> elements nor any of the scripts run by the <batch>es rely on the group id for condition assignment, it simply does not matter. You can set the experiment to generate either a random or sequential group id -- it does not make any difference if no script ever uses the group id for anything.


briancjo
briancjo
Respected Member
Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)Respected Member (374 reputation)

Group: Forum Members
Posts: 25, Visits: 167
Dave - Sunday, December 04, 2016
briancjo - Sunday, December 04, 2016
Dave - Monday, August 08, 2016
#1: The parameter name for the groupnumber is *not* "groupnumber". You have set the experiment up to retrieve the group id from a parameter called "groupassignment":
function GetGroupId(){    var snum = GetQueryVariable("groupassignment");    if ( snum == null || snum == "")    {        throw "Unable to get group id from url query paramter 'groupassignment'";     }   return snum;}

#2: The 404 error(s), however, are completely unrelated to this. HTTP status code 404 means "File not found", and that is exactly the case here. You assign people with subject id 2 to a script called "low-load.iqx", and people with an id of 3 to a script called "high-load.iqx".

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low-load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high-load.iqx"
</batch>

Neither of those two scripts currently exists on the server -- the script's that *are* on the server, as far as I can see, are called "low_load.iqx" and "high_load.iqx", respectively (note the underscore). If you fix your <batch> syntax to reference the proper file names

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low_load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high_load.iqx"
</batch>

everything should work just fine.

supreme leader,

having a similar problem. Some of my participants when entering a subject id receive a popup message. "Failed to get subject id. the url has no parameters."
This also happened to me. I ended up refreshing the page to no avail. I had to reopen the browser and run the inquisit web player prior to starting the web script for it to work.
I've searched around and can't find an answer. It might be my batch file setup or how i set up subject ids for my web script. 

here is my batch script.

<batch>
/ subjects = (1 of 2)
/ file = "JoBrianDemoS1.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc2WebRulesA.iqx"
/ file = "Disc2Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefS.iqx"
</batch>

<batch>
/subjects = (2 of 2)
/ file = "JoBrianDemoF2.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc1WebRulesA.iqx"
/ file = "Disc1Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefF.iqx"
</batch>

1.I did not include /groupassignment = subjectnumber because with batch, i understand that inquisit will automatically assign odd subject ids to condition (1of2) and even subject ids to condition (2of2). Do i need to add /groupassignment = subjectnumber to be specific? 

2. In setting up the web scripts, for subject ids, I chose "user entered" and for group ids, I chose "url parameter". I wonder if the group id is creating an error based on the error i receive.
The problem is i don't want random assignment with or without or sequential. I want the subject id odd/even to determine which batch to run. I thought the "url parameter" would help bypass those 3 options, but since I don't have a url parameter (nor more importantly do not really understand what that means). Prior you mentioned to choose "url parameter" and send participants a link with the groupid, but i thought i worked around that with the batch subject id. 
-another scenario, if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

3.are there any subject related IT problems that could be creating this issue like pop ups or what have you.

any help as per usual is helpful. 

Re. #1: > Do i need to add /groupassignment = subjectnumber to be specific?

No. Assignment by subject number is the default. Not specifying /groupassignment at all is equivalent to specifying /groupassignment = subjectnumber.

Re #2: > for group ids, I chose "url parameter"

Subject ids and group ids are two separate things. If you instructed the web experiment to obtain the group id from a query parameter, you need to make sure that you pass said query parameter in to the launch page. Otherwise you will rightly get an error message.

> if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

If neither your <batch> elements nor any of the scripts run by the <batch>es rely on the group id for condition assignment, it simply does not matter. You can set the experiment to generate either a random or sequential group id -- it does not make any difference if no script ever uses the group id for anything.


"If you instructed the web experiment to obtain the group id from a query parameter, you need to make sure that you pass said query parameter in to the launch page. "
I currently have the default launch page. How do I "pass said query parameter in to the launch page??
Dave
Dave
Supreme Being
Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)Supreme Being (182K reputation)

Group: Administrators
Posts: 7.4K, Visits: 30K
briancjo - Sunday, December 04, 2016
Dave - Sunday, December 04, 2016
briancjo - Sunday, December 04, 2016
Dave - Monday, August 08, 2016
#1: The parameter name for the groupnumber is *not* "groupnumber". You have set the experiment up to retrieve the group id from a parameter called "groupassignment":
function GetGroupId(){    var snum = GetQueryVariable("groupassignment");    if ( snum == null || snum == "")    {        throw "Unable to get group id from url query paramter 'groupassignment'";     }   return snum;}

#2: The 404 error(s), however, are completely unrelated to this. HTTP status code 404 means "File not found", and that is exactly the case here. You assign people with subject id 2 to a script called "low-load.iqx", and people with an id of 3 to a script called "high-load.iqx".

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low-load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high-load.iqx"
</batch>

Neither of those two scripts currently exists on the server -- the script's that *are* on the server, as far as I can see, are called "low_load.iqx" and "high_load.iqx", respectively (note the underscore). If you fix your <batch> syntax to reference the proper file names

<batch>
/subjects = (2 of 3)
/groupassignment = subjectnumber
/file = "low_load.iqx"
</batch>

<batch>
/subjects = (3 of 3)
/groupassignment = subjectnumber
/file = "high_load.iqx"
</batch>

everything should work just fine.

supreme leader,

having a similar problem. Some of my participants when entering a subject id receive a popup message. "Failed to get subject id. the url has no parameters."
This also happened to me. I ended up refreshing the page to no avail. I had to reopen the browser and run the inquisit web player prior to starting the web script for it to work.
I've searched around and can't find an answer. It might be my batch file setup or how i set up subject ids for my web script. 

here is my batch script.

<batch>
/ subjects = (1 of 2)
/ file = "JoBrianDemoS1.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc2WebRulesA.iqx"
/ file = "Disc2Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefS.iqx"
</batch>

<batch>
/subjects = (2 of 2)
/ file = "JoBrianDemoF2.iqx"
/ file = "BJoQ1.iqx"
/ file = "Disc1WebRulesA.iqx"
/ file = "Disc1Web.iqx"
/ file = "ST-IAT-SC.iqx"
/ file = "IPANAT.iqx"
/ file = "CBFinal.iqx"
/ file = "ST-IAT-DPD.iqx"
/ file = "BJoQ2.iqx"
/ file = "DebriefF.iqx"
</batch>

1.I did not include /groupassignment = subjectnumber because with batch, i understand that inquisit will automatically assign odd subject ids to condition (1of2) and even subject ids to condition (2of2). Do i need to add /groupassignment = subjectnumber to be specific? 

2. In setting up the web scripts, for subject ids, I chose "user entered" and for group ids, I chose "url parameter". I wonder if the group id is creating an error based on the error i receive.
The problem is i don't want random assignment with or without or sequential. I want the subject id odd/even to determine which batch to run. I thought the "url parameter" would help bypass those 3 options, but since I don't have a url parameter (nor more importantly do not really understand what that means). Prior you mentioned to choose "url parameter" and send participants a link with the groupid, but i thought i worked around that with the batch subject id. 
-another scenario, if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

3.are there any subject related IT problems that could be creating this issue like pop ups or what have you.

any help as per usual is helpful. 

Re. #1: > Do i need to add /groupassignment = subjectnumber to be specific?

No. Assignment by subject number is the default. Not specifying /groupassignment at all is equivalent to specifying /groupassignment = subjectnumber.

Re #2: > for group ids, I chose "url parameter"

Subject ids and group ids are two separate things. If you instructed the web experiment to obtain the group id from a query parameter, you need to make sure that you pass said query parameter in to the launch page. Otherwise you will rightly get an error message.

> if i just took out condition 2 in my web script, so there is only one group/condition, how could i set up the group ids to prevent any errors.

If neither your <batch> elements nor any of the scripts run by the <batch>es rely on the group id for condition assignment, it simply does not matter. You can set the experiment to generate either a random or sequential group id -- it does not make any difference if no script ever uses the group id for anything.


"If you instructed the web experiment to obtain the group id from a query parameter, you need to make sure that you pass said query parameter in to the launch page. "
I currently have the default launch page. How do I "pass said query parameter in to the launch page??

You need to include it in the URL you give out to participants. If you told Inquisit Web "hey, read the group number from a query parameter called 'thisisthegroupnumber'", the URL needs to have that parameter properly defined as in

http://research.millisecond.com/yourusername/yourexperimentname.web?thisisthegroupnumber=42

However: If -- as you stated -- you do not even use the group number for anything in your scripts, why would you actually want to do that???

GO


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search