Possible Bug: 2022.1.1 - 2022.1.3 URL Parameter not included in filename

I think I have encountered a bug with the interaction between URL parameters and datafile saving in 2022.1.1 and 2022.1.3 of PsychoPy/JS (Github Issue with same information).

OS: Windows 10
Coder or Builder?: Builder
PsychoPy or PsychoJS?: PsychoJS
Offline or Online: Both
PsychoPy version: 2022.1.x

What are you trying to achieve?
I use URL parameters to transfer information from my participant recruitment site (e.g. Prolific) to my Pavlovia-hosted experiment. One of the URL parameters is the participant number, which I use to name the file with the format participant_expName_Time.csv.

Experiment Set-up

  • Experiment Settings > Data > Data Filename says
    u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])
  • provide link with URL parameter
    (e.g., https://run.pavlovia.org/USER/EXPERIMENT/?participant=1)

Previous Behaviour - tested on version 2021.2.3

  • participant does not have to input a participant number
  • upon experiment completion or interruption:
    • datafile is saved at data/1_expName_TIMESTAMP.csv
    • datafile contains column participant and each cell includes the URL parameter provided participant number 1

Current Behaviour - tested on versions 2022.1.1 and 2022.1.3

  • participant does not have to input a participant number
  • upon experiment completion or interruption:
    • datafile is saved at data/_expName_TIMESTAMP.csv note how the participant number is missing from the data filename
    • datafile contains column participant and each cell includes the URL parameter provided participant number 1

What did you already try?

  • This behaviour can be reproduced offline using the Run Local JS option if you append
    /?participant=1 to the LocalHost URL
  • If the participant number is filled manually during the dialog box (offline or online) the filename is correctly saved as 1_expName_Time.csv
  • I have replicated this behaviour on two computers running version 2022.1.1 and one computer running versions 2021.2.3 and 2022.1.3.

As it currently stands, this behaviour may be problematic for researchers who wish to automate parts of the data collection/analysis if participant numbers are expected in the file name. Additionally, there may be a risk of data loss depending on how a system handles identical filenames.

Are other users experiencing this behaviour?

Hopefully there won’t be any data loss occurring - the timestamp is designed to avoid that - but we are looking into this with utmost priority right now

Yes, I’ve been experiencing this problem running on Pavlovia under PsychoPy 2022.1.1 using URL parameters in Prolific.
It’s been difficult to quickly check my files to confirm payments to participants. Not sure what to do. Hopefully it’s fixed soon.

Hi @TelsaNova17,

In another thread we have a potential workaround for this issue using a Javascript-only code component. In the Before Experiment section of the code component you can add:

util.addInfoFromUrl(expInfo);

and this seems to force the URL parameters to be read before the participant file is created. I briefly tested this in a minimal example in Version 2022.2.4, but have not tried it in a full experiment yet.

Credit to @young1 for first proposing the workaround.

-shabkr

Edit: This bug should now be fixed in 2022.2.5