Feature suggestions

Dear PsychoPy/Pavlovia team,

After implementing a Survey, we came across the following challenges:

  • Will there be an option to randomize pages within a block (useful when you have a block with different parts of a questionnaire in different pages, and you want to randomize the order of the parts)
  • Some parameters are now defined at a block level, but would make sense to be defined at a global level? E.g. specifying a cookie name to prevent multiple participations can be done on each block, but this makes more sense as an attribute of your experiment as a whole? Same for survey complete messages.
  • The progress bar is currently available at the block level, but here it would be useful as well to have this over all blocks in the experiment. Is this possible?
  • I think it would be useful to be able to inject custom javascript/css code in the survey, if we want to add functionality that is not currently implemented (e.g., we were trying to implement sticky headers for a single matrix questionnaire, but I could not find a straightforward way to implement css code that would make this possible
  • The Survey Complete page only shows very briefly before it redirects and closes the experiment. Is this the way it is intended?

Would be happy to hear comments on these issues :slight_smile:

In principle this should be fairly easy (I think) but you should also be able to do this now using randomised blocks.

Blocks are effectively separate surveys that get presented together in a single session. This sounds more challenging. Please could you explain what you’ve successfully been doing with cookies at a block level?

I think this may not be possible without a complete redesign. Pavlovia Surveys uses SurveyJS, so that should give you an indication of what features can more easily be added. If it can be added to SurveyJS it should be possible to add it to Pavlovia Surveys.

My guess is that this is because the priority is to save the data using Pavlovia functions and once saved it moves on. It might be possible to redesign this but for the moment it might be better to just switch off the Survey Complete page completely. I do not recommend using the “Navigate to URL” option under Survey Complete – use the completion URL on the overview page.

Have you tried embedding surveys int PsychoPy experiments? Some of the more complex options might be better addressed using PsychoPy to embed separate surveys for the different components.

Hi Carter,

Thanks for your thorough reply.

Blocks are effectively separate surveys that get presented together in a single session. This sounds more challenging. Please could you explain what you’ve successfully been doing with cookies at a block level?

If you specify the name of a cookie in a block, it prevents the participant from participating multiple times and will give you the message that you have already participated. You have to make sure to configure this in the first block to exclude participants from the whole experiment. You can configure this in a later block as well, but then you will be able to proceed through the preceding blocks before you get the message.

My guess is that this is because the priority is to save the data using Pavlovia functions and once saved it moves on. It might be possible to redesign this but for the moment it might be better to just switch off the Survey Complete page completely. I do not recommend using the “Navigate to URL” option under Survey Complete – use the completion URL on the overview page.

Indeed. In the end we opted for a final page in the preceding block with an appropriate message and then let it go through the processes you described. Thank you for suggesting to use the completion URL in the overview page only.

I’ve just discovered that you can run a survey with the Survey Complete page if you edit the URL