+xHello Dave,
Thank you so much for your answer! I’m just trying to make sense of it, could you correct me if I’m wrong?
In Inquisit web you can choose how it extracts your subject and group ID’s. When I select “URL parameter” it gives the defaults subjectid and groupid, which I can then incorporate in the link I send my participant. So when I take my standard link of research.millisecond.com/something.web and add
?subjectid=1&groupid=1 which makes the complete link: research.millisecond.com/something.web?subjectid=1&groupid=1, Inquisit knows that the subject number is 1 and the groupnumber is also 1. I can customize these numbers as I see fit, and when I include the following bit (specified below) it knows that when I use a certain groupid, it only loads the corresponding file.
To help Inquisit know which groupnumber corresponds with which experiment, I should use the include element (or also the batch?). When I set up a new script, I write one include element for each session/questionnaire. An example:
<include>
/ precondition = [script.groupid == "XXXX"]
/ file = "session_1.iqx"
</include>
<include>
/ precondition = [script.groupid == "XXXX"]
/ file = "session_2.iqx"
</include>
<include>
/ precondition = [script.groupid == "XXXX"]
/ file = "session_3.iqx"
</include>
Questions:
-Should I include names for the include elements, e.g. <include 1>, <include 2> to help prevent Inquisit thinking I defined something more than once (something I bumped into earlier with things like <defaults> and <instruct>).
-Should I use this exact wording
script.groupid? Or is script refencing to something else?
Online, when choosing my script, I should only upload this main file containing all the necessary <include> elements. On the next page, where it asks to upload my files, I should upload all the individual sessions and questionnaires which are referenced in the main file.
When I now send the participant with subject ID 23 and group ID 2435 the following link:
research.millisecond.com/something.web?subjectid=23&groupid=2435 it will be much faster to load the corresponding experiment because it will only need to load the file corresponding to the groupid.
Something like this?
> In Inquisit web you can choose how it extracts your subject and group ID’s. When I select “URL parameter” it gives the defaults subjectid and groupid,
> which I can then incorporate in the link I send my participant. So when I take my standard link of
> research.millisecond.com/something.web and add
?subjectid=1&groupid=1 which makes the complete link:
> research.millisecond.com/something.web?subjectid=1&groupid=1,
> Inquisit knows that the subject number is 1 and the groupnumber is also 1.
> I can customize these numbers as I see fit,
Yes, that is entirely correct.
> and when I include the following bit (specified below) it knows that when I use a certain groupid, it only loads the corresponding file.
Yes, exactly.
> -Should I include names for the include elements, e.g. <include 1>, <include 2> to help prevent Inquisit thinking I defined something
> more than once (something I bumped into earlier with things like <defaults> and <instruct>).
No, naming the <include> elements is not necessary, but you can do so if you think it makes the code more readable and easier to understand. A script may contain several <include> elements, whereas it may only contain a single <defaults> or <instruct> element.
> -Should I use this exact wording
script.groupid? Or is script refencing to something else?
Yes, you should use script.groupid -- that is the group id property and will return the value of the group id / group number that was provided to the script.
https://www.millisecond.com/support/docs/v5/html/language/properties/groupid.htm> When I now send the participant with subject ID 23 and group ID 2435 the following link:
> research.millisecond.com/something.web?subjectid=23&groupid=2435 it will be much faster to load the
> corresponding experiment because it will only need to load the file corresponding to the groupid.
Yes. What <include> does, effectively, is paste the contents of an external file such as "session_2.iqx"
<include>
/ precondition = [script.groupid == "XXXX"]
/ file = "session_2.iqx"
</include>
into the "main" script. As a consequence, only the stimuli referenced in that external file will have to be downloaded, here: those pertaining to "session 2", but not any files pertaining to the other sessions. I.e., the participant should only get the files s/he needs to complete the particular session / condition s/he's been assigned to instead of having to download the entire package (all files pertaining to all sessions, regardless of whether s/he needs them).
Hope this clarifies.