psychopy.org | Reference | Downloads | Github

Push changes to conditions file while study runs online

Hi everyone,

I have a simple question: Is it possible to update the conditions file of an active study on Pavlovia by pushing updates to the task repo?

The reason, I am asking: As many others, I want to randomize some task conditions between participants which is fully controlled by the conditions file. So it would be very convenient for me to just push an updated conditions file of the running study so the next incoming participants work on the updated version.

Did anyone try this before? I’m worried that it might result in errors with e.g., accessing the conditions file etc. Any thoughts?

Thank you very much in advance for your help and sorry if I overlooked any related threads posted before!

Do you mean you manually update the conditions file in Gitlab? I guess it could work but it sounds like a faff.

How many different conditions files do you have? Could you upload them all with different names and then have a manually inputted order variable in the setup screen which is translated into a variable containing the condition file name?

Best wishes,

Wakefield

Hi @wakecarter,

thanks for your response!

Do you mean you manually update the conditions file in Gitlab?

No, I would update the conditions file locally (I generate it with an extra Python script). Then, I would push this updated conditions file to Pavlovia’s Gitlab while the study is running. Does that make sense?

How many different conditions files do you have? Could you upload them all with different names and then have a manually inputted order variable in the setup screen which is translated into a variable containing the condition file name?

I thought about that too. I have many possible non-essential variations in e.g., the categories of stimuli used, the assignment of stimuli to response keys (each stimulus gets a unique response key), the trial structure in which stimuli are shown. For context, I am developing a statistical learning paradigm in which participants are exposed to continuous streams of stimuli and answer with specific response keys.

Anyway, so I want some variability in the many possible combinations of the above mentioned variables but creating e.g., hundreds of conditions file did not seem very efficient to me.

Hence the idea to occasionally push a new conditions file into the running online study - if that does not cause a mess with the data or something else…

Thanks again!

Do you need condition files at all?

For example, I have a lexical decision task file which has the answer coded at ‘w’ or ‘n’ (for word or non-word). However, some students want to use ‘s’ and ‘k’ randomly allocated so I have answerkey = [‘s’,‘k’] in a code component, which I shuffle and then if answer = ‘w’, thisanswer = answerkey[0], etc. This could easily be used to randomly allocate any number of stimuli to response keys, as well as using the same variable to give the appropriate instructions.

Best wishes,

Wakefield

That’s an interesting suggestion but the way my task is set up now, I control a lot through the conditions file (stimuli, position, opacity, durations, keys, skipping of routines etc.) to run multiple task conditions across only a handful of Routines.

I think I will just give the occasional updating of the conditions file a try and report back if it works.

Thanks for your help @wakecarter!

I wasn’t seriously suggesting that you might do away with them altogether – that was exaggeration for effect. However, you might be able to reduce the number of different conditions files if some of them are random variations of others.

In principle changes in between participants should work, but changes within a single participant shouldn’t (the resources get loaded at the start of the experiment).

However, you might be able to reduce the number of different conditions files if some of them are random variations of others.

Thanks, your comment has spurred some ideas how I could indeed achieve that for my conditions file.

In principle changes in between participants should work, but changes within a single participant shouldn’t (the resources get loaded at the start of the experiment).

I would not need changes within participants, so if changes between participants would work, that could already help me a lot.

I will give it a try and let you know if it worked. Thanks again!