Skip to content

Commit 50456d1

Browse files
committed
Merge branch 'main' into 2.3
2 parents 1893599 + be087b3 commit 50456d1

358 files changed

Lines changed: 11435 additions & 1086 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,8 @@ Note that this wil _only_ render when we have the right-hand sidebar in the mark
8484

8585

8686

87+
## Testimonials
8788

89+
Testimonials about papers that use revisit can be submitted via a form: https://forms.gle/nYqAoqESHdDtK2yH6
90+
91+
To update the website, copy the responses as a csv into `static/testimonials.csv' from [here](https://docs.google.com/spreadsheets/d/1ox3MUu6sLJlPZA_ULuawBroC0CicxcSkdGcItRTQwb4/edit?gid=1547627539#gid=1547627539).

docs/analysis/data-export.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ To download screen recording from specific participants, select the participants
159159
![Download screen recording video](./img/screen-recording-export-single.png)
160160

161161

162-
163162
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
164163

165164
<StructuredLinks

docs/analysis/participant-replay.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
# Participant Replay
22

3-
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
43

5-
<StructuredLinks
6-
demoLinks={[
7-
{name: "Brush Interactions Demo", url: "https://revisit.dev/study/analysis/stats/example-brush-interactions"}
8-
]}
9-
codeLinks={[
10-
{name: "Brush Interactions Code", url: "https://github.com/revisit-studies/study/tree/main/public/example-brush-interactions"}
11-
]}
12-
/>
134

145
The participant replay can be used for an overview of each participants study.
156

@@ -33,3 +24,15 @@ You can specify time in different formats:
3324
- Hours: `&t=1h30m`
3425

3526
If the entered time exceeds the replay’s maximum length, it will automatically be replaced with the maximum available time in milliseconds.
27+
28+
29+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
30+
31+
<StructuredLinks
32+
demoLinks={[
33+
{name: "Brush Interactions Demo", url: "https://revisit.dev/study/analysis/stats/example-brush-interactions"}
34+
]}
35+
codeLinks={[
36+
{name: "Brush Interactions Code", url: "https://github.com/revisit-studies/study/tree/main/public/example-brush-interactions"}
37+
]}
38+
/>

docs/data-and-deployment/connecting-to-external-platform.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
# Connecting with External Participant Platforms
22

3-
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
4-
5-
<StructuredLinks
6-
referenceLinks={[
7-
{name: "Prolific", url: "https://prolific.com"},
8-
{name: "SONA", url: "https://www.sona-systems.com"}
9-
]}
10-
/>
113

124
ReVISit makes it easy to connect with participant management platforms such as Prolific, SONA Systems, and other custom services. Revisit can automatically collect participant IDs from study links, display those IDs inside the study, and redirect participants to a platform-specific return link after completion.
135

@@ -135,4 +127,16 @@ Just like with other platforms, you can display the SONA ID in the introduction
135127
}
136128
]
137129
},
138-
```
130+
```
131+
132+
133+
134+
135+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
136+
137+
<StructuredLinks
138+
referenceLinks={[
139+
{name: "Prolific", url: "https://prolific.com"},
140+
{name: "SONA", url: "https://www.sona-systems.com"}
141+
]}
142+
/>

docs/data-and-deployment/deploying-to-static-website.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ If you are using netlify as a secondary venue for anonymization purposes, you ca
6464
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
6565

6666
<StructuredLinks
67-
referenceLinks={[
68-
{name: "GitHub Pages", url: "https://docs.github.com/en/pages/quickstart"},
69-
{name: "GitHub Custom Domain", url: "https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site"}
70-
]}
67+
referenceLinks={[
68+
{name: "GitHub Pages", url: "https://docs.github.com/en/pages/quickstart"},
69+
{name: "GitHub Custom Domain", url: "https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site"}
70+
]}
7171
/>

docs/data-and-deployment/lifecycle-of-revisit.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
# The Lifecycle of a reVISit Study
22

3-
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
4-
5-
<StructuredLinks
6-
referenceLinks={[
7-
{name: "Snapshots", url: "../../analysis/data-management/#snapshots"}
8-
]}
9-
/>
103

114
A reVISit study will go through multiple stages over its lifetime. It'll first start as a local study that is iteratively refined until the study is fully built, it will then be deployed and tested, it will be send out to participants for data to be collected, and finally the study will be disseminated to reviewers.
125

@@ -55,3 +48,14 @@ When disseminating your study to reviewers and the wider public, you should:
5548
- Make the analytics interface publicly accessible
5649

5750
If your are submitting to a venue that requires anonymization, such as ACM SIGCHI, consider creating a second deployment. If your primary deployment is on GitHub, consider adding a secondary one on [netlify](/docs/data-and-deployment/deploying-to-static-website/#deploying-using-netlify).
51+
52+
53+
54+
55+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
56+
57+
<StructuredLinks
58+
referenceLinks={[
59+
{name: "Snapshots", url: "../../analysis/data-management/#snapshots"}
60+
]}
61+
/>

docs/data-and-deployment/user-management.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# User Management In reVISit
22

3-
43
:::tip
54
To use the user-management system that is built into reVISit, you must have a Firebase application set up. Please see [here](../firebase/setup) for how to set up a Firebase application. Additionally, you will need to enable the Google sign-in method for Authentication. You can find this section of the Firebase tutorial [here](../firebase/setup#authentication).
65
:::
@@ -120,4 +119,4 @@ import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLink
120119
{name: "Firebase Authentication", url: "https://firebase.google.com/products/auth"},
121120
{name: "Supabase Setup", url: "../supabase/setup"},
122121
]}
123-
/>
122+
/>

docs/designing-studies/answers-trainings.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,7 @@
11
# Responses and Answers
22

3-
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
43

5-
<StructuredLinks
6-
demoLinks={[
7-
{name: "Training Demo", url: "https://revisit.dev/study/demo-training/"}
8-
]}
9-
codeLinks={[
10-
{name: "Training Code", url: "https://github.com/revisit-studies/study/tree/main/public/demo-training"}
11-
]}
12-
referenceLinks={[
13-
{name: "Base Response", url: "../../typedoc/interfaces/BaseResponse/"},
14-
{name: "Reactive Response", url: "../../typedoc/interfaces/ReactiveResponse/"},
15-
{name: "Answer", url: "../../typedoc/interfaces/Answer"}
16-
]}
17-
/>
4+
185

196
In reVISit, a component typically has a [response](../../typedoc/interfaces/BaseResponse/) that is recorded when a participant completes a task. Responses can be provided via form elements or via some other kind of payload through your custom component and a [ReactiveResponse](../../typedoc/interfaces/ReactiveResponse).
207

@@ -79,3 +66,20 @@ The `provideFeedback` field adds a “Check Answer” button to the UI, which ca
7966
The above screenshot shows an example for when the response was incorrect.
8067

8168
Optionally, you can specify that trainings have to be successfully completed with the `allowFailedTraining` flag. You can specify the number of attempts with the `trainingAttempts` field. When failing is not allowed and the participant exceeds the number of failed attempts, **the study will terminate**.
69+
70+
71+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
72+
73+
<StructuredLinks
74+
demoLinks={[
75+
{name: "Training Demo", url: "https://revisit.dev/study/demo-training/"}
76+
]}
77+
codeLinks={[
78+
{name: "Training Code", url: "https://github.com/revisit-studies/study/tree/main/public/demo-training"}
79+
]}
80+
referenceLinks={[
81+
{name: "Base Response", url: "../../typedoc/interfaces/BaseResponse/"},
82+
{name: "Reactive Response", url: "../../typedoc/interfaces/ReactiveResponse/"},
83+
{name: "Answer", url: "../../typedoc/interfaces/Answer"}
84+
]}
85+
/>

docs/designing-studies/applying-style.md

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,5 @@
11
# Applying Styles
22

3-
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
4-
5-
<StructuredLinks
6-
demoLinks={[
7-
{name: "Style Demo", url: "https://revisit.dev/study/demo-style"}
8-
]}
9-
codeLinks={[
10-
{name: "Style Demo Code", url: "https://github.com/revisit-studies/study/blob/main/public/demo-style"}
11-
]}
12-
referenceLinks={[
13-
{name: "UIConfig", url: "../../typedoc/interfaces/UIConfig"},
14-
{name: "BaseIndividualComponent", url: "../../typedoc/interfaces/BaseIndividualComponent"},
15-
{name: "BaseResponse", url: "../../typedoc/interfaces/BaseResponse"},
16-
{name: "CSS Properties", url:"https://developer.mozilla.org/en-US/docs/Web/CSS/Properties"}
17-
]}
18-
/>
193

204
ReVISit provides flexible styling capabilities to customize the appearance of your study components and responses. You can apply styles at three levels: **globally through UI configuration**, at the **component** level, and at the **response** level.
215

@@ -600,4 +584,23 @@ You can also make responses interactive using CSS. For example, you can change t
600584
box-shadow: 0 25px 80px #9abddc, 0 0 30px #9abddc, inset 0 0 20px rgba(154, 189, 220, 0.3);
601585
}
602586
}
603-
```
587+
```
588+
589+
590+
<!-- Importing Links -->
591+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
592+
593+
<StructuredLinks
594+
demoLinks={[
595+
{name: "Style Demo", url: "https://revisit.dev/study/demo-style"}
596+
]}
597+
codeLinks={[
598+
{name: "Style Demo Code", url: "https://github.com/revisit-studies/study/blob/main/public/demo-style"}
599+
]}
600+
referenceLinks={[
601+
{name: "UIConfig", url: "../../typedoc/interfaces/UIConfig"},
602+
{name: "BaseIndividualComponent", url: "../../typedoc/interfaces/BaseIndividualComponent"},
603+
{name: "BaseResponse", url: "../../typedoc/interfaces/BaseResponse"},
604+
{name: "CSS Properties", url:"https://developer.mozilla.org/en-US/docs/Web/CSS/Properties"}
605+
]}
606+
/>

docs/designing-studies/dynamic-blocks.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,6 @@
11
# Dynamic Blocks
22

3-
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
4-
5-
<StructuredLinks
6-
demoLinks={[
7-
{name: "Dynamic Block Demo", url: "https://revisit.dev/study/demo-dynamic/"}
8-
]}
9-
codeLinks={[
10-
{name: "Dynamic Block Code", url: "https://github.com/revisit-studies/study/tree/main/public/demo-dynamic"}
11-
]}
12-
referenceLinks={[
13-
{name: "Dynamic Block", url:"../../typedoc/interfaces/DynamicBlock"}
14-
]}
15-
/>
163

17-
## Overview
184
Some studies require knowledge of the participant's responses to previous questions to determine the next component that is shown. For example, if a participant answers a question incorrectly, they may be shown a simpler task next. Alternatively, if a participant answers a question correctly, they may be shown a more difficult task next. This is a common feature in adaptive testing, where the difficulty of the questions adapts to the participant's performance.
195

206
In reVISit, this can be achieved using dynamic blocks. Dynamic blocks are blocks that use a function to calculate what the next component will be. This function is a typescript/javascript function that is defined in the `src/public/study-name/` folder and is referenced in the study configuration file like so:
@@ -96,3 +82,17 @@ export default function func({ answers } : JumpFunctionParameters<{name: string}
9682
```
9783

9884
In this example, the function checks how many questions the participant has answered so far. If the participant has answered 5 questions, the function returns `null`, which exits the dynamic block. Otherwise, the function returns the id of the next component to show, along with any parameters to pass to the component. In this case, the `reactComponent` component is shown, and the parameter `n` is passed to the component with the value of the number of questions the participant has answered so far.
85+
86+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
87+
88+
<StructuredLinks
89+
demoLinks={[
90+
{name: "Dynamic Block Demo", url: "https://revisit.dev/study/demo-dynamic/"}
91+
]}
92+
codeLinks={[
93+
{name: "Dynamic Block Code", url: "https://github.com/revisit-studies/study/tree/main/public/demo-dynamic"}
94+
]}
95+
referenceLinks={[
96+
{name: "Dynamic Block", url:"../../typedoc/interfaces/DynamicBlock"}
97+
]}
98+
/>

0 commit comments

Comments
 (0)