Millisecond Forums

Including session ID in script

https://forums.millisecond.com/Topic30649.aspx

By cmgreene - 1/28/2021

Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara

By Dave - 1/28/2021

cmgreene - 1/28/2021
Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara


The /sessions attribute is not available in Inquisit 5. It's a new addition to Inquisit 6.
By Dave - 1/28/2021

Dave - 1/28/2021
cmgreene - 1/28/2021
Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara


The /sessions attribute is not available in Inquisit 5. It's a new addition to Inquisit 6.

What you can do under Inquisit 5 Web, is set up your batch like so

<batch>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ file ="ospan_short.iqx"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ file="enumeration.iqx"
</batch>

i.e. assign the batch condition to run by group ID. Configure the online experiment's settings to read group ID from a URL parameter.

You can then give your participants two separate links, where

https://mili2nd.co/yourexperimentsshortcode?groupid=1 will run "session" number 1, and
https://mili2nd.co/yourexperimentsshortcode?groupid=2 will run "session" number 2.
By cmgreene - 1/28/2021

Dave - 1/28/2021
cmgreene - 1/28/2021
Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara


The /sessions attribute is not available in Inquisit 5. It's a new addition to Inquisit 6.

Oh OK, thanks!

Do you have any suggestions for how I might achieve a similar result using Inquisit 5? I'm already using groupid to counterbalance the order of task sets in each session. Basically I need my participants to complete one set of tasks in session 1 and a second set in session 2, and the order in which they complete the two sets needs to be counterbalanced (so Group A would complete Task Set 1 in session 1 and Task Set 2 in session2, with Group B doing the reverse).

I wrote the script below to assign participants to TaskSet1 or TaskSet2 in the first session, based on their groupid, but I'm not sure how to reverse that for the second session. Apologies if I'm missing something really obvious, I'm fairly new to this!

SESSION1
TaskGroupA
<batch>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet1.iqx"
</batch>

TaskGroupB
<batch>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet2.iqx"
</batch>
By cmgreene - 1/28/2021

Sorry, I think out replied crossed! In any case, the issue is that I'm already using group id for counterbalancing the presentation of the tasks within a session, so I don't think I can also use it to counterbalance across sessions... I'll be very happy if I'm wrong!
By Dave - 1/28/2021

cmgreene - 1/28/2021
Dave - 1/28/2021
cmgreene - 1/28/2021
Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara


The /sessions attribute is not available in Inquisit 5. It's a new addition to Inquisit 6.

Oh OK, thanks!

Do you have any suggestions for how I might achieve a similar result using Inquisit 5? I'm already using groupid to counterbalance the order of task sets in each session. Basically I need my participants to complete one set of tasks in session 1 and a second set in session 2, and the order in which they complete the two sets needs to be counterbalanced (so Group A would complete Task Set 1 in session 1 and Task Set 2 in session2, with Group B doing the reverse).

I wrote the script below to assign participants to TaskSet1 or TaskSet2 in the first session, based on their groupid, but I'm not sure how to reverse that for the second session. Apologies if I'm missing something really obvious, I'm fairly new to this!

SESSION1
TaskGroupA
<batch>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet1.iqx"
</batch>

TaskGroupB
<batch>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet2.iqx"
</batch>

How do you assign participants to either group A or B? Is that something you can do in advance?
By cmgreene - 1/28/2021

Dave - 1/28/2021
cmgreene - 1/28/2021
Dave - 1/28/2021
cmgreene - 1/28/2021
Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara


The /sessions attribute is not available in Inquisit 5. It's a new addition to Inquisit 6.

Oh OK, thanks!

Do you have any suggestions for how I might achieve a similar result using Inquisit 5? I'm already using groupid to counterbalance the order of task sets in each session. Basically I need my participants to complete one set of tasks in session 1 and a second set in session 2, and the order in which they complete the two sets needs to be counterbalanced (so Group A would complete Task Set 1 in session 1 and Task Set 2 in session2, with Group B doing the reverse).

I wrote the script below to assign participants to TaskSet1 or TaskSet2 in the first session, based on their groupid, but I'm not sure how to reverse that for the second session. Apologies if I'm missing something really obvious, I'm fairly new to this!

SESSION1
TaskGroupA
<batch>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet1.iqx"
</batch>

TaskGroupB
<batch>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet2.iqx"
</batch>

How do you assign participants to either group A or B? Is that something you can do in advance?

Yes, they're assigned to the group in advance (in a Qualtrics survey). Then they are redirected to Inquisit with groupid and subjectid included as URL parameters. At the end of session1, they get redirected back to Qualtrics, where they complete some additional measures and then get redirected back to Inquisit for session2. Everything is going swimmingly, apart from the second redirect to Inquisit; I can't figure out how to tell the program that this is their second session, so they should complete whichever task set they haven't already done. 

Just to note in case it's relevant - subjectid is used within task sets to counterbalance the order of individual tasks, so it's also not available to use for further counterbalancing (unless those parameters can do double duty). Sorry, it's a complicated design, and I was trying to simplify in my initial query!!)

Thanks for your help,
Ciara
By Dave - 1/28/2021

cmgreene - 1/28/2021
Dave - 1/28/2021
cmgreene - 1/28/2021
Dave - 1/28/2021
cmgreene - 1/28/2021
Hello,

I'd be very grateful for any advice on using session IDs in Inquisit Web. I want to use the 'sessions' element in a batch script, as described here, but I can't get this to work. According to that webpage, "Inquisit Web tracks the session number for each participant automatically so that the first time a participant runs the experiment, their session number is 1, the second time is 2, etc", but that doesn't actually seem to be the case. I tried running a simple batch script in which participants run one task during session 1 and a second task during session 2, but no matter how many times I run it (with the same subjectid and groupid) both tasks are presented, one after another.

<batch>
/ sessions = (1 of 2)
/ file ="ospan_short.iqx"
</batch>

<batch>
/ sessions = (2 of 2)
/ file="enumeration.iqx"
</batch>

Am I missing a step here? Do I need to do something else to get the program to record the session ID or recognise the 'sessions' command?

Thanks for any advice!
Ciara


The /sessions attribute is not available in Inquisit 5. It's a new addition to Inquisit 6.

Oh OK, thanks!

Do you have any suggestions for how I might achieve a similar result using Inquisit 5? I'm already using groupid to counterbalance the order of task sets in each session. Basically I need my participants to complete one set of tasks in session 1 and a second set in session 2, and the order in which they complete the two sets needs to be counterbalanced (so Group A would complete Task Set 1 in session 1 and Task Set 2 in session2, with Group B doing the reverse).

I wrote the script below to assign participants to TaskSet1 or TaskSet2 in the first session, based on their groupid, but I'm not sure how to reverse that for the second session. Apologies if I'm missing something really obvious, I'm fairly new to this!

SESSION1
TaskGroupA
<batch>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet1.iqx"
</batch>

TaskGroupB
<batch>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ file = "TaskSet2.iqx"
</batch>

How do you assign participants to either group A or B? Is that something you can do in advance?

Yes, they're assigned to the group in advance (in a Qualtrics survey). Then they are redirected to Inquisit with groupid and subjectid included as URL parameters. At the end of session1, they get redirected back to Qualtrics, where they complete some additional measures and then get redirected back to Inquisit for session2. Everything is going swimmingly, apart from the second redirect to Inquisit; I can't figure out how to tell the program that this is their second session, so they should complete whichever task set they haven't already done. 

Just to note in case it's relevant - subjectid is used within task sets to counterbalance the order of individual tasks, so it's also not available to use for further counterbalancing (unless those parameters can do double duty). Sorry, it's a complicated design, and I was trying to simplify in my initial query!!)

Thanks for your help,
Ciara

> Yes, they're assigned to the group in advance (in a Qualtrics survey).

Then it should be possible to have the group ID perform double-duty. I.e.

TaskGroupA
groupid 1 (session 1) = set 1
groupid 2 (session 2) = set 2

TaskGroupB
groupid 3 (session 1) = set 2
groupid 4 (session 2) = set 1

<batch>
/ subjects = (1,4 of 4)
/ groupassignment = groupnumber
/ file = "TaskSet1.iqx"
</batch>

TaskGroupB
<batch>
/ subjects = (2,3 of 4)
/ groupassignment = groupnumber
/ file = "TaskSet2.iqx"
</batch>

By cmgreene - 1/28/2021

Oh great, I've never seen that (1,4 of 4) notation before, I think that should do it! Thanks a million for your help!