How to use shelf record

Hello,

starting with version 2022.2.0 PsychoPy introduced the shelf record which allows " counterbalancing online: by tracking the number of participants that have been in each group". I couldn’t find any description of how to use this feature. How do I use it?

Best wishes Jens

Hi There,

The documentation is here clearly we need to better signpost it! at the moment it is listed under multisession testing and counterbalancing online here any suggestions for a more obvious location?!

Thanks!
Becca

1 Like

I think it would be helpful to link to the guides when you introduce the shelf in the changelog :slight_smile: Changelog — PsychoPy v2023.2.3

Also, is it possible that I could use the shelf for an issue I currently have where each observer only sees 25% of the images, but I cannot figure out how to load them specifically so they end up downloading 4 times the images, they need? I have more info about my issue here: Cannot use Static/Resource Manager Component to load images while observers read instructions - #2 by simon.dp

Hi Becca,

I am currently struggling to use the shelf in a very basic example. I created a dictionary record “counterbalancing” with the content

{
  "group": [
    1,
    2,
    3,
    4
  ],
  "counter": [
    0,
    0,
    0,
    0
  ]
}

In my experiment I have the lines

groups = await psychoJS.shelf.getDictionaryFieldValue({key: ["counterbalancing"], fieldName: "group"})
counters = await psychoJS.shelf.getDictionaryFieldValue({key: ["counterbalancing"], fieldName: "counter"})

console.log(groups)
console.log(counters)

and both logs are “null”.

Can you give me a hint about what my mistake is?

Thanks!
Adrian

Edit: Trying to test the demo also results in an error (existing_participants is null) even though I created the required empty dictionary record “session_tracker”.