jsPsych pavlovia plugin issue

URL of experiment:
https://run.pavlovia.org/cslongman/taskschemas_expertise_3.0

Description of the problem:
I have managed to get my jsPsych experiment uploaded onto GitLab. Checked all of my other code, and everything works fine when I run it locally. However, if I run it off Pavlovia I get some strange issues…

If I run it with the Pavlovia initialisation routine included in the timeline, then the experiment does not work (even if I run it via Pavlovia). But if I comment out the line where teh code adds the initialisation routine to the timeline, then it crashes. When this happens, I just get a grey rectangle acrossthe middle of the screen.

The good news is that after several attempts, I seem to have resolved my 403 issue (I guess I fixed this by uploading the whole experiment to GitLab from scratch). However, I now seem to have an issue with the Pavlovia plugin.

By the way, I have tried with the original Pavlovia plugin, and also the pavlovia-2020.2-filter plugin. I get the same issue with both.

Any help appreciated,

Cai

So, it looks like the issue was down to user error - I had forgotten to put the extra URL variables into the URL when I was pilotting. When I run the experiment using the original pavlovia plugin it now seems to work fine. However, when I use the new pavlovia-2020.2-filter plugin it does not appear to connect properly or save the (filtered) data file.

I’ll come back to this after the weekend…

I have fixed this issue now too. I think it was simply that I had saved the new plugin under the name “pavlovia-2020.2-filter” instead of just “pavlovia”. When I changed the name of the plugin, and changed the way I called the plugin in my script (to type=“pavlovia”), then everything seemed to work just fine including the new filtering and saving your own data structure option, which is really excellent by the way.

1 Like

I Cai,
I’m experiencing the same error of yours but I don’t understand how you solved it. Could you please give a more detailed explanation ?
Best,
Michele

Hi Michelle,

As far as I can remember, I think the issue was that the name of the plugin in my folder and the name of the plugin that I was calling were different. That is, I was calling a plugin called ‘pavlovia’ in my script, but such a plugin did not exist in my folder of plugins.

To fix the problem, I just renamed the plugin file to ‘jspsych-pavlovia.js’ and then put 'script scr=‘jspsych-6.1.0/plugins/jspsych-pavlovia.js’ in the header and finally, I was then able to call the pavlovia plugin from my code using:

var pavlovia_init = {

    type: "pavlovia",

    command: "init"

    }

timeline.push(pavlovia_init)

So, the issue was that there was some discrepancy between the code in the header, the name of the plugin file and the code I used to call the plugin. Once these three all matched up, the code ran perfectly.

Hope this helps,

Cai

1 Like