The SepWithN function seems to work a lot better, so I’ve gone ahead and removed my changes to the definition of the modifyRunOrder function.
Regarding the table / counter interaction, I am using my groups to assign one of eight mutually exclusive sets of stimuli (housed in different zip files on AWS) to participants so while the name differs across groups, I was not having any issue with preloading prior to setting up these functions to insert break/catch trials. Up until now, I’ve been forcing a particular group number by running my experiment with “?withsquare=0”. If my understanding is correct, this will load “subject_0.zip” from my AWS location, and the filenames in that zip file correspond to all of the lines of my CSV where the group field is 1. When the counter has been freshly deleted, the preloading of each individual file works as expected.
Some things that I noticed today however were:
For withsquare=1 (group->2), the debugger tells me that my subject_1.zip downloads fine, but there are not any lines in the debugger saying the individual files were successfully preloaded (and the experiment hangs on preloading). This is the same thing that happens when I don’t delete the counter for an attempt of withsquare=0. Is it possible that the counter is overriding my explicit selection of a group with withsquare?
Another strange thing that I noticed is that rather than increasing upon every run of the experiment, my counter is increasing every trial. Is that due to sending results every trial perhaps? If so, I can just manually reset the counter to whatever its value was at the beginning of the script. The more that I think about it, doing my group assignment with counter rather than withsquare in the URL might be easier in the end as I would like to allow for the user to continue on to another set of data. This could be hard to do if they were initially assigned the last group with withsquare=7 and I would then somehow need to bring that back down to 0 again as opposed to just incrementing to 8.
I hope this makes sense, and I appreciate your patience given that some of my design choices go against the grain for existing penncontroller functionality.