lookit / lookit-api

Codebase for Lookit v2 and Experimenter v2. Includes an API. Docs: http://lookit.readthedocs.io/
https://lookit.mit.edu/
MIT License
10 stars 18 forks source link

Switch URL parameters to uppercase to pass-through parameters for external studies on youcanbookme #1405

Open mariannazhang opened 5 months ago

mariannazhang commented 5 months ago

TL;DR

Change external study passthrough parameters from lowercase to all caps, so that child hashed ID can be picked up by youcanbook.me scheduling pages.

Narrative

Youcanbook.me (along with Calendly) is one of the most common scheduling services used by external studies on Lookit.

As a researcher using an external scheduled study, it is very helpful to have an anonymized identifier to cross-reference demographic data that Lookit provides about families who click "Click here to participate", with the data that we collect from them on our external youcanbookme scheduling page, and ultimately with our study's datasheet. When families click "Click here to participate", Lookit dynamically tries to pass through the child's study hashed ID as a parameter, appending ?child=study_hashed_ID to the youcanbookme URL. However, youcanbookme can only accept shorthand codes in all caps, so it cannot pick up ?child=, only ?CHILD=.

As a result, I have no anonymized identifier I can use to directly link the demographic data Lookit provides with my study's datasheet. Instead, to ultimately link Lookit demographic data with our study's datasheet, I have to manually cross-reference the Lookit demographic data with data the parent entered on our external scheduling page using parent/child names, and then use a study identifier to cross-reference the data the parent entered on our external scheduling page with our datasheet.

Acceptance Criteria

Implementation Notes

Youcanbook.me documentation on shortcode formatting for hidden questions:

becky-gilbert commented 3 months ago

I'm transferring this issue to the lookit-api since it relates to external studies, and therefore is controlled entirely by the Django backend and does not relate to the experiment runner.

But in the meantime, in case it's helpful: we did make some changes to the EFP iframe frame that allows researchers to add custom query parameters to the URLs that are presented inside internal (Lookit) studies. This means it's now possible for a researcher to run an internal study that presents a 'youcanbookme' link inside an iframe, and then set uppercase query parameter names/values that should be automatically passed into that link. Specifically, researchers can use the generateProperties parameter to dynamically create the frameSrc link. You can read more about the EFP update here: https://lookit.readthedocs.io/en/develop/researchers-runner-releases.html#may-8-2024-iframe-improvements-maximum-recording-durations.