Group: Forum Members
Posts: 10,
Visits: 11
|
+x+x+x+x+x+x+xPlease find the batch file attached, as well as the final script in the batch. Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least. Thank you for your help. Please let me know if any of this doesn't make sense. And under what conditions does the "grey screen" hang occur? That's not clear to me from your description. Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well? Unfortunately, I'm getting the same. Would it be helpful if I provided all the scripts in the batch? Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system. Please find attached. I can consistently replicate the issue with these files. Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it. So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared! However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time. Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped? / onblockbegin = [ if (#my_eligibility_criteria# != 1) script.abort(false); ] Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)? Thank you for your time., Raul
|
Group: Forum Members
Posts: 10,
Visits: 11
|
+x+x+x+x+x+x+x+xPlease find the batch file attached, as well as the final script in the batch. Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least. Thank you for your help. Please let me know if any of this doesn't make sense. And under what conditions does the "grey screen" hang occur? That's not clear to me from your description. Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well? Unfortunately, I'm getting the same. Would it be helpful if I provided all the scripts in the batch? Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system. Please find attached. I can consistently replicate the issue with these files. Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it. So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared! However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time. Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped? / onblockbegin = [ if (#my_eligibility_criteria# != 1) script.abort(false); ] Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)? Thank you for your time., Raul Forgot to add a link, might be helpful: https://mili2nd.co/iivb
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
+x+x+x+x+x+x+x+xPlease find the batch file attached, as well as the final script in the batch. Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least. Thank you for your help. Please let me know if any of this doesn't make sense. And under what conditions does the "grey screen" hang occur? That's not clear to me from your description. Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well? Unfortunately, I'm getting the same. Would it be helpful if I provided all the scripts in the batch? Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system. Please find attached. I can consistently replicate the issue with these files. Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it. So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared! However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time. Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped? / onblockbegin = [ if (#my_eligibility_criteria# != 1) script.abort(false); ] Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)? Thank you for your time., Raul > Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped? Yeah, that's exactly right. Every script has to check whether it is supposed to run or not, i.e. it has to be loaded (and briefly started). > Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)? Why don't you incorporate the abort() logic into the 1st script, where eligibility is checked in the first place? I.e. if the eligibility criteria are not met, /branch to a surveypage in that 1st script that displays the "Sorry, not eligible, you're done here." message. Then, in that <surveypage>, do a script.abort(true) /ontrialend, thus terminating the entire ensuing batch -- no further scripts have to be loaded then for any ineligible participants.
|
Group: Forum Members
Posts: 10,
Visits: 11
|
+x+x+x+x+x+x+x+x+xPlease find the batch file attached, as well as the final script in the batch. Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least. Thank you for your help. Please let me know if any of this doesn't make sense. And under what conditions does the "grey screen" hang occur? That's not clear to me from your description. Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well? Unfortunately, I'm getting the same. Would it be helpful if I provided all the scripts in the batch? Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system. Please find attached. I can consistently replicate the issue with these files. Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it. So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared! However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time. Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped? / onblockbegin = [ if (#my_eligibility_criteria# != 1) script.abort(false); ] Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)? Thank you for your time., Raul > Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped? Yeah, that's exactly right. Every script has to check whether it is supposed to run or not, i.e. it has to be loaded (and briefly started). > Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)? Why don't you incorporate the abort() logic into the 1st script, where eligibility is checked in the first place? I.e. if the eligibility criteria are not met, /branch to a surveypage in that 1st script that displays the "Sorry, not eligible, you're done here." message. Then, in that <surveypage>, do a script.abort(true) /ontrialend, thus terminating the entire ensuing batch -- no further scripts have to be loaded then for any ineligible participants. Ah cool! Yea, that makes sense! I've only started working with Inquisit last week so still not quite clear how the /branching syntax is meant works, but I the documentation seems quite thorough so I'm sure it'll be easy to figure out. Thank you so much for your help. Raul
|