diff --git a/docs/source/_static/css/lookit.css b/docs/source/_static/css/lookit.css index f77bd403..b082f963 100644 --- a/docs/source/_static/css/lookit.css +++ b/docs/source/_static/css/lookit.css @@ -94,7 +94,7 @@ ul.tutorial-participants { column-count: 2; } -ul.tutorial-participants li { +ul.tutorial-participants li, ul.jspsych-plugins-extensions li { padding: 0; } diff --git a/docs/source/index.rst b/docs/source/index.rst index 1f748379..ff6a5812 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -70,7 +70,6 @@ Families may take part in studies from multiple labs over time. Having one centr researchers-jspsych-intro Limitations - Releases .. toctree:: :maxdepth: 2 diff --git a/docs/source/researchers-jspsych-intro.rst b/docs/source/researchers-jspsych-intro.rst index 52aaeee8..c6811b95 100644 --- a/docs/source/researchers-jspsych-intro.rst +++ b/docs/source/researchers-jspsych-intro.rst @@ -16,20 +16,77 @@ To learn more about jsPsych features, some other great places to start are the j jsPsych packages ============================== -The CHS jsPsych experiment runner automatically loads a set of packages from the standard jsPsych library for researchers to use. These are: +The CHS jsPsych experiment runner automatically loads a set of packages from the standard jsPsych library for researchers to use. The set of jsPsych packages/versions loaded by CHS is below, along with links to documentation and change logs (version history). -- `Core jsPsych library `__ v8.0.3 -- `HTML keyboard response plugin `__ v2.0.0: ``jsPsychHtmlKeyboardResponse`` -- `Image keyboard response plugin `__ v2.0.0: ``jsPsychImageKeyboardResponse`` -- `HTML button response plugin `__ v2.0.0: ``jsPsychHtmlButtonResponse`` -- `Image button response plugin `__ v2.0.0: ``jsPsychImageButtonResponse`` -- `Video button response plugin `__ v2.0.0: ``jsPsychVideoButtonResponse`` -- `Preload plugin `__ v2.0.0: ``jsPsychPreload`` -- `Survey text plugin `__ v2.1.0: ``jsPsychSurveyText`` -- `Survey multi-choice plugin `__ v2.1.0: ``jsPsychSurveyMultiChoice`` -- `Fullscreen plugin `__ v2.1.0: ``jsPsychFullscreen`` +.. rst-class:: jspsych-plugins-extensions -We will likely add more options in the future. If there are any specific jsPsych plugins/extensions that your experiment needs, please let us know! The best way to request access to a standard jsPsych package is by creating a ``lookit-api`` `Github issue `__, but you can also let us know on Slack. +- `Core jsPsych library `__ + + - v8.0.3 (`see changelog `__) + +- `HTML keyboard response plugin `__ + + - v2.0.0 (`see changelog `__) + - ``jsPsychHtmlKeyboardResponse`` + +- `Image keyboard response plugin `__ + + - v2.0.0 (`see changelog `__) + - ``jsPsychImageKeyboardResponse`` + +- `Video keyboard response `__ + + - v2.1.0 (`see changelog `__) + - ``jsPsychVideoKeyboardResponse`` + +- `HTML button response plugin `__ + + - v2.0.0 (`see changelog `__) + - ``jsPsychHtmlButtonResponse`` + +- `Image button response plugin `__ + + - v2.0.0 (`see changelog `__) + - ``jsPsychImageButtonResponse`` + +- `Video button response plugin `__ + + - v2.0.0 (`see changelog `__) + - ``jsPsychVideoButtonResponse`` + +- `Image hotspots `__ + + - v1.0.0 (`see changelog `__) + - ``jsPsychImageHotspots`` + +- `Video hotspots `__ + + - v1.0.0 (`see changelog `__) + - ``jsPsychVideoHotspots`` + +- `Preload plugin `__ + + - v2.0.0 (`see changelog `__) + - ``jsPsychPreload`` + +- `Survey text plugin `__ + + - v2.1.0 (`see changelog `__) + - ``jsPsychSurveyText`` + +- `Survey multi-choice plugin `__ + + - v2.1.0 (`see changelog `__) + - ``jsPsychSurveyMultiChoice`` + +- `Fullscreen plugin `__ + + - v2.1.0 (`see changelog `__) + - ``jsPsychFullscreen`` + +.. admonition:: Need something else? + + If there are any specific jsPsych plugins/extensions that your experiment needs, please let us know! The best way to request access to a standard jsPsych package is by creating a ``lookit-api`` `Github issue `__, but you can also let us know on Slack. .. _chs-jspsych-packages: @@ -39,30 +96,48 @@ Custom CHS jsPsych packages In addition to the jsPsych packages listed above, the CHS jsPsych experiment runner also automatically loads some custom packages. These custom plugins/extensions were designed to "fill in the gaps" in the sort of functionality that CHS researchers typically need for child development studies. This functionality includes: standardized webcam/mic configuration steps, video-recorded consent, trial/session recording, and standardized exit surveys. -The `CHS jsPsych documentation `__ contains more information about all of the parameters available in the CHS jsPsych plugins/extensions listed below. +The custom CHS-jsPsych packages/versions are listed below, along with links to documentation and change logs (version history). The `CHS jsPsych documentation `__ contains more information about all of the parameters available in the CHS-jsPsych plugins/extensions. -Do you need any types of trials (Lookit EFP "frames") or features that are not listed here, and are not available through the standard jsPsych library? Let us know! The best way to request a custom (CHS-specific) jsPsych plugin/extension or feature is by creating a ``lookit-jspsych`` `Github issue `__, but you can also let us know on Slack. +**CHS Record package** -.. _chs-jspsych-plugins: +Current version: 4.1.0 (`see changelog `__) -Plugins ---------------------- +.. rst-class:: jspsych-plugins-extensions -- `Video config plugin `__ in the CHS Record package: ``chsRecord.VideoConfigPlugin`` -- `Video consent plugin `__ in the CHS Record package: ``chsRecord.VideoConsentPlugin`` -- `Start session recording plugin `__ in the CHS Record package: ``chsRecord.StartRecordPlugin`` -- `Stop session recording plugin `__ in the CHS Record package: ``chsRecord.StopRecordPlugin`` -- `Consent survey plugin `__ in the CHS Surveys package: ``chsSurveys.ConsentSurveyPlugin`` -- `Exit survey plugin `__ in the CHS Surveys package: ``chsSurveys.ExitSurveyPlugin`` +- `Video config plugin `__ -.. _chs-jspsych-extensions: + - ``chsRecord.VideoConfigPlugin`` -Extensions --------------------------- +- `Video consent plugin `__ + + - ``chsRecord.VideoConsentPlugin`` + +- `Start session recording plugin `__ + + - ``chsRecord.StartRecordPlugin`` + +- `Stop session recording plugin `__ + + - ``chsRecord.StopRecordPlugin`` -jsPsych extensions are packages that extend the functionality of a plugin. +- `Trial recording extension `__ + + - ``chsRecord.TrialRecordExtension`` + +**CHS Surveys package** + +Current version: v4.0.1 (`see changelog `__) + +.. rst-class:: jspsych-plugins-extensions + +- `Consent survey plugin `__ + + - ``chsSurveys.ConsentSurveyPlugin`` + +- `Exit survey plugin `__ + + - ``chsSurveys.ExitSurveyPlugin`` -- `Trial recording extension `__ in the CHS Record package: ``chsRecord.TrialRecordExtension`` .. _chs-jspsych-translations: @@ -70,3 +145,7 @@ Translations -------------------------- All of these plugins/extensions support the automatic translation of hard-coded text through a ``locale`` parameter. + +.. admonition:: Need something else? + + Do you need any types of trials (Lookit EFP "frames") or features that are not listed here, and are not available through the standard jsPsych library? Let us know! The best way to request a custom (CHS-specific) jsPsych plugin/extension or feature is by creating a ``lookit-jspsych`` `Github issue `__, but you can also let us know on Slack. diff --git a/docs/source/researchers-jspsych-releases.rst b/docs/source/researchers-jspsych-releases.rst deleted file mode 100644 index d4aa6233..00000000 --- a/docs/source/researchers-jspsych-releases.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. _jspsych-releases: - -==================================== -jsPsych experiment runner updates -==================================== - -No updates yet. Watch this space! \ No newline at end of file diff --git a/docs/source/tutorial-contributing.rst b/docs/source/tutorial-contributing.rst index fc8eb1d0..31eb260f 100644 --- a/docs/source/tutorial-contributing.rst +++ b/docs/source/tutorial-contributing.rst @@ -368,6 +368,9 @@ List of tutorial participants - Sarah Kiefer (Brown University) - Olivia Maltz (Temple University) - Madeline Ephraim (University of Rochester) +- Emma Reddy (University of Maryland, College Park) +- Wilder Hartwell (University of California, San Diego) +- Kaitlin Dobkowski (Boston University) Checking for and creating issues on Github ------------------------------------------- diff --git a/docs/source/tutorial-jspsych/tutorial-jspsych-first-study.rst b/docs/source/tutorial-jspsych/tutorial-jspsych-first-study.rst index f19fc7f6..02587ca9 100644 --- a/docs/source/tutorial-jspsych/tutorial-jspsych-first-study.rst +++ b/docs/source/tutorial-jspsych/tutorial-jspsych-first-study.rst @@ -199,7 +199,12 @@ The full code so far: Step 6: Add session recording ------------------------------------------------- -We now have a bare-bones CHS experiment structure: webcam/mic configuration, video-recorded consent, our "experiment" (hello world trial), and an exit survey. The only thing we're missing for typical CHS experiments is webcam recordings that are captured during the experiment. We can do that using either: (a) session recording, where a webcam recording starts at a specified point in the experiment's trial sequence and ends at another point, with any number of experimental trials in between, or (b) trial recording, where a webcam recording is created at the start of a particular trial and ends when that trial finishes. +We now have a bare-bones CHS experiment structure: webcam/mic configuration, video-recorded consent, our "experiment" (hello world trial), and an exit survey. The only thing we're missing for typical CHS experiments is webcam recordings that are captured during the experiment. We can do that using either: + +.. rst-class:: jspsych-plugins-extensions + +- **session recording**, where a webcam recording starts at a specified point in the experiment's trial sequence and ends at another point, with any number of experimental trials in between, or +- **trial recording**, where a webcam recording is created at the start of a particular trial and ends when that trial finishes. .. admonition:: When should/shouldn't I use trial and session recording? @@ -258,6 +263,17 @@ Here's the full experiment code now: jsPsych.run([video_config, video_consent, start_rec, hello_trial, stop_rec, exit_survey]); +Now when you save your code and preview the experiment, your experiment will run as it did before, but you will also get a video recording that captures the duration between your ``start_rec`` and ``stop_rec`` trials. To see your recording, you will need to approve your own consent statement: from the study details page, click "Review Consent", find your most recent session, change it from "pending" to "accept", then click "Submit Rulings & Comments". Then go back to your study details page, click "Study Responses", click "Individual Responses", and find your most recent session in the table. With that response selected, you should see two videos listed in the "Download videos" box - one is your consent video and the other is your session recording. + +**Bonus step**: Use the ``wait_for_upload_message`` parameter to override the ``stop_rec`` trial's default message ("uploading video, please wait...") and present some custom HTML content instead. The example below will display some text and play a video. + +.. code:: javascript + + const stop_rec = { + type: chsRecord.StopRecordPlugin, + wait_for_upload_message: "

Please wait while we upload your video!