From 6cd7c96b573cf9a616cd6ecc3f82d64b2fd836a7 Mon Sep 17 00:00:00 2001 From: Poulami <82175023+PoloOnTheGo@users.noreply.github.com> Date: Sat, 15 Jan 2022 00:32:46 +0100 Subject: [PATCH 1/5] Edinburgh Handedness Inventory --- src/pages/Example-Studies.md | 3 ++- .../example-studies/Screenshot_edinburgh.png | Bin 0 -> 136391 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 static/img/example-studies/Screenshot_edinburgh.png diff --git a/src/pages/Example-Studies.md b/src/pages/Example-Studies.md index faee6ef6a9..ac4627c47e 100644 --- a/src/pages/Example-Studies.md +++ b/src/pages/Example-Studies.md @@ -70,4 +70,5 @@ If you wrote an example study that you'd like to share, please feel free to [con | Study Name | Brief Description | Frameworks Used | JATOS Features | Contributed By | Example Image | |-------------------|-------------------|-------------------|-------------------|-------------------|-------------------| -| [Randomize (Multi-component) Tasks Between Workers](https://github.com/JATOS/JATOS_examples/raw/master/examples/randomize_task_order_between_workers.jzip) § | Template to randomly assign participants to conditions A or B, where each condition is composed of two different components. This is an extension of the "Randomize Tasks Between Workers' example above | - | [Batch session](Session-Data-Three-Types.html)| Craig Stark, Ph.D., School of Biological Sciences, University of California, Irvin |
![](/img/example-studies/Screenshot_randomization_between_workers.png)
| \ No newline at end of file +| [Randomize (Multi-component) Tasks Between Workers](https://github.com/JATOS/JATOS_examples/raw/master/examples/randomize_task_order_between_workers.jzip) § | Template to randomly assign participants to conditions A or B, where each condition is composed of two different components. This is an extension of the "Randomize Tasks Between Workers' example above | - | [Batch session](Session-Data-Three-Types.html)| Craig Stark, Ph.D., School of Biological Sciences, University of California, Irvin |
![](/img/example-studies/Screenshot_randomization_between_workers.png)
| +| [The Edinburg Handedness Inventory](https://github.com/JATOS/JATOS_examples/raw/master/examples/edinburgh_handedness_inventory_-_template.jzip) | Template to automatically calculate and show the handedness score once the participants use the mouse to indicate their preference for the ten items in the table. | - | - | Oldfield, R.C. (1971). The assessment and analysis of handedness: the Edinburgh inventory. Neuropsychologia, 9(1), 97-113. * Zhang, Y. (2014). Online tool for handedness assessment. Retreived from http://zhanglab.wikidot.com/handedness * PDF file: [http://gade.psy.ku.dk/Readings/Oldfield1971.pdf](http://gade.psy.ku.dk/Readings/Oldfield1971.pdf)|
![](/img/example-studies/Screenshot_edinburgh.png)
| \ No newline at end of file diff --git a/static/img/example-studies/Screenshot_edinburgh.png b/static/img/example-studies/Screenshot_edinburgh.png new file mode 100644 index 0000000000000000000000000000000000000000..92150af7c857c97fe91f05bbb46afce68ba4c990 GIT binary patch literal 136391 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�z=53caYOI>wA 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 Jvd$@?2>{U0EX)7^ literal 0 HcmV?d00001 From 14464babd8a1ab29d9fe1007bc3840421303612a Mon Sep 17 00:00:00 2001 From: Poulami <82175023+PoloOnTheGo@users.noreply.github.com> Date: Wed, 2 Feb 2022 18:11:07 +0100 Subject: [PATCH 2/5] Highlight --- docs/Group_studies/Example-Group-Studies.md | 3 ++- .../Run-your-Study-with-Study-Links.md | 14 +++++++------- src/components/Highlight.js | 14 ++++++++++++++ .../Group_studies/Example-Group-Studies.md | 4 ++-- ...Run-your-Study-with-Worker-and-Batch-Manager.md | 10 +++++----- .../Group_studies/Example-Group-Studies.md | 2 +- .../Run-your-Study-with-Study-Links.md | 14 +++++++------- 7 files changed, 38 insertions(+), 23 deletions(-) create mode 100644 src/components/Highlight.js diff --git a/docs/Group_studies/Example-Group-Studies.md b/docs/Group_studies/Example-Group-Studies.md index f75743920d..d8490a094c 100644 --- a/docs/Group_studies/Example-Group-Studies.md +++ b/docs/Group_studies/Example-Group-Studies.md @@ -3,6 +3,7 @@ title: Example Group Studies slug: /Example-Group-Studies.html sidebar_position: 1 --- +import Highlight from '@site/src/components/Highlight'; In group studies, the workers that are part of a group can communicate with each other. JATOS supports different kinds of groups. A group can e.g. have a fixed set of workers like this [Prisoner's Dilemma](/Example-Studies) where exactly two workers play with each other. On the other side of the spectrum is this [Snake game](/Example-Studies) with an on open, multi-worker approach. @@ -14,7 +15,7 @@ As an example of this, let's go through the Snake Game group study in detail: 1. Download and import the [Snake game](/Example-Studies) 1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page -1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. +1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. 1. Open a new tab in your browser and paste the study link into the address field. Press 'Enter' and the study should start. 1. Repeat the last step to start a second Snake game. 1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click **Join** and then **Ready**. diff --git a/docs/Run_your_study/Run-your-Study-with-Study-Links.md b/docs/Run_your_study/Run-your-Study-with-Study-Links.md index 8d09014b65..3b394d9b55 100644 --- a/docs/Run_your_study/Run-your-Study-with-Study-Links.md +++ b/docs/Run_your_study/Run-your-Study-with-Study-Links.md @@ -25,7 +25,7 @@ JATOS has different study link types and each type corresponds to a worker type ![Study Links page screenshot](/img/study_links_3.png) -Click on the "" button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). +Click on the "" button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). ![Study Links page screenshot](/img/study_links_7.png) @@ -45,7 +45,7 @@ After clicking the Study Links button you get a new window where you can create 1. This button creates one study link without a comment. This button is a shortcut to the 'New Study Links' button. 1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. 1. This is the study code. [You can hand this to your workers](Run-your-Study-with-Study-Links.html#study-code--study-entry-page). -1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. +1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. 1. Use this checkbox to de-/activate a single study link. A deactivated study link can not be used to start a study run (but an already started study run can continue to run). ![Study Links page screenshot](/img/study_links_14.png) @@ -63,7 +63,7 @@ Due to the nature of these types there is only one study link per type. Click on ![Study Links page screenshot](/img/study_links_15.png) -There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. +There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. ### MTurk type links @@ -90,7 +90,7 @@ If you toogle the Study Link(s) button to 'Open Directly' the generated link wil ### Study link + Study Entry page for confirmation -If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the '' button start the actual study run. +If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the '' button start the actual study run. This is how the Study Entry page might look like (you can customize the message): @@ -98,18 +98,18 @@ This is how the Study Entry page might look like (you can customize the message) The study link has the format `https://my.jatos.server/publix/run?code=study-code`, e.g. `https://cortex.jatos.org/publix/run?code=GwtCkuCY4bM`. As you can see it uses the URL query parameter 'code' to pass on the study code. -The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the '' button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. +The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the '' button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. #### Customization of the message -By default the message on the Study Entry page is something like 'Press to start the experiment'. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties +By default the message on the Study Entry page is something like 'Press to start the experiment'. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties ### Study code + Study Entry page You can also just hand out the Study Code and let your participants enter it themselves in the Study Entry page. The URL to the Study Run page is `https://my.jatos.server/publix/run`. -It will show a field where the study code can be entered. And after pressing the '' button the study starts: +It will show a field where the study code can be entered. And after pressing the '' button the study starts: ![Study Entry page screenshot](/img/study_entry_page_3.png) diff --git a/src/components/Highlight.js b/src/components/Highlight.js new file mode 100644 index 0000000000..60ccf80e0a --- /dev/null +++ b/src/components/Highlight.js @@ -0,0 +1,14 @@ +import React from 'react'; + +export default function Highlight({children}) { + return ( + + {children} + + ); + } \ No newline at end of file diff --git a/versioned_docs/version-3.6.1/Group_studies/Example-Group-Studies.md b/versioned_docs/version-3.6.1/Group_studies/Example-Group-Studies.md index a2ddddb66c..5f56fb4145 100644 --- a/versioned_docs/version-3.6.1/Group_studies/Example-Group-Studies.md +++ b/versioned_docs/version-3.6.1/Group_studies/Example-Group-Studies.md @@ -14,8 +14,8 @@ As an example of this, let's go through the Snake Game group study in detail: 1. Download and import the [Snake game](Example-Studies.html#snake) 1. Open the [Worker & Batch Manager](Run-your-Study-with-Worker-and-Batch-Manager.html) -1. Expand the "Default Batch" ("" button in the left) to see the worker setup -1. Now get your first worker: Expand (again with "") the Jatos Worker and click the **Run** button - and the study will start in a new browser tab +1. Expand the "Default Batch" ("" button in the left) to see the worker setup +1. Now get your first worker: Expand (again with "") the Jatos Worker and click the **Run** button - and the study will start in a new browser tab 1. Repeat for the second worker 1. In both tabs: click through the introduction until you arrive in the waiting room. Click **Join** and then **Ready**. 1. Voilà! You'll see two snakes moving around: each tab represents one worker who is running the Snake Game - but they are in the same group diff --git a/versioned_docs/version-3.6.1/Run_your_study/Run-your-Study-with-Worker-and-Batch-Manager.md b/versioned_docs/version-3.6.1/Run_your_study/Run-your-Study-with-Worker-and-Batch-Manager.md index 4394ccb5e4..f081d8f39c 100644 --- a/versioned_docs/version-3.6.1/Run_your_study/Run-your-Study-with-Worker-and-Batch-Manager.md +++ b/versioned_docs/version-3.6.1/Run_your_study/Run-your-Study-with-Worker-and-Batch-Manager.md @@ -20,7 +20,7 @@ During development of your study you would usually run it with the "Run" button JATOS has different worker types (each with different properties). That's well explained in a dedicated page: [Worker Types](Worker-Types.html). -Click on the "" button in the left in each batch row to expand the Worker Setup. +Click on the "" button in the left in each batch row to expand the Worker Setup. ### Worker Setup @@ -32,17 +32,17 @@ The Worker Setup is the place where you generate or view (for Jatos and MTurk wo #### Get Links -For **Personal Single Workers** and **Personal Multiple Workers** click "**Get Links **" ("Add" in older versions). You can enter a description or identification for the worker in the 'Comments' box. You can also create several at once. +For **Personal Single Workers** and **Personal Multiple Workers** click "**Get Links **" ("Add" in older versions). You can enter a description or identification for the worker in the 'Comments' box. You can also create several at once. -**General Single Workers** only have one link. Each time somebody clicks on the link, JATOS will create a new separate worker. Get this link by clicking on "**Get Link **" in its row. +**General Single Workers** only have one link. Each time somebody clicks on the link, JATOS will create a new separate worker. Get this link by clicking on "**Get Link **" in its row. How to connect to MTurk and create links to run with **MTurk Workers** is described in its own page: [Connect to Mechanical Turk](Connect-to-Mechanical-Turk.html). -Alternatively there is a "**Get Worker Links **" button in the top of the Worker & Batch Manger page that is a shortcut to create those links. +Alternatively there is a "**Get Worker Links **" button in the top of the Worker & Batch Manger page that is a shortcut to create those links. #### See Workers -Click on the "" button in the left in each worker type row to expand it and see all generated workers. The column "Study State" indicates in which [state](Manage-Results.html#state) this study run currently is. +Click on the "" button in the left in each worker type row to expand it and see all generated workers. The column "Study State" indicates in which [state](Manage-Results.html#state) this study run currently is. ![Worker Table](/img/worker_and_batch_manager4.png) diff --git a/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md b/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md index f75743920d..6b52e88856 100644 --- a/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md +++ b/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md @@ -14,7 +14,7 @@ As an example of this, let's go through the Snake Game group study in detail: 1. Download and import the [Snake game](/Example-Studies) 1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page -1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. +1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. 1. Open a new tab in your browser and paste the study link into the address field. Press 'Enter' and the study should start. 1. Repeat the last step to start a second Snake game. 1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click **Join** and then **Ready**. diff --git a/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md b/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md index 8d09014b65..3b394d9b55 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md @@ -25,7 +25,7 @@ JATOS has different study link types and each type corresponds to a worker type ![Study Links page screenshot](/img/study_links_3.png) -Click on the "" button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). +Click on the "" button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). ![Study Links page screenshot](/img/study_links_7.png) @@ -45,7 +45,7 @@ After clicking the Study Links button you get a new window where you can create 1. This button creates one study link without a comment. This button is a shortcut to the 'New Study Links' button. 1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. 1. This is the study code. [You can hand this to your workers](Run-your-Study-with-Study-Links.html#study-code--study-entry-page). -1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. +1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. 1. Use this checkbox to de-/activate a single study link. A deactivated study link can not be used to start a study run (but an already started study run can continue to run). ![Study Links page screenshot](/img/study_links_14.png) @@ -63,7 +63,7 @@ Due to the nature of these types there is only one study link per type. Click on ![Study Links page screenshot](/img/study_links_15.png) -There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. +There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. ### MTurk type links @@ -90,7 +90,7 @@ If you toogle the Study Link(s) button to 'Open Directly' the generated link wil ### Study link + Study Entry page for confirmation -If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the '' button start the actual study run. +If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the '' button start the actual study run. This is how the Study Entry page might look like (you can customize the message): @@ -98,18 +98,18 @@ This is how the Study Entry page might look like (you can customize the message) The study link has the format `https://my.jatos.server/publix/run?code=study-code`, e.g. `https://cortex.jatos.org/publix/run?code=GwtCkuCY4bM`. As you can see it uses the URL query parameter 'code' to pass on the study code. -The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the '' button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. +The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the '' button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. #### Customization of the message -By default the message on the Study Entry page is something like 'Press to start the experiment'. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties +By default the message on the Study Entry page is something like 'Press to start the experiment'. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties ### Study code + Study Entry page You can also just hand out the Study Code and let your participants enter it themselves in the Study Entry page. The URL to the Study Run page is `https://my.jatos.server/publix/run`. -It will show a field where the study code can be entered. And after pressing the '' button the study starts: +It will show a field where the study code can be entered. And after pressing the '' button the study starts: ![Study Entry page screenshot](/img/study_entry_page_3.png) From 2816f5c037077821128a692b02da7bbef6ce28d7 Mon Sep 17 00:00:00 2001 From: Poulami <82175023+PoloOnTheGo@users.noreply.github.com> Date: Wed, 2 Feb 2022 21:58:17 +0100 Subject: [PATCH 3/5] Incorporating review comments --- docs/Group_studies/Example-Group-Studies.md | 4 ++-- src/components/Highlight.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Group_studies/Example-Group-Studies.md b/docs/Group_studies/Example-Group-Studies.md index d8490a094c..1f5cd014c6 100644 --- a/docs/Group_studies/Example-Group-Studies.md +++ b/docs/Group_studies/Example-Group-Studies.md @@ -3,7 +3,7 @@ title: Example Group Studies slug: /Example-Group-Studies.html sidebar_position: 1 --- -import Highlight from '@site/src/components/Highlight'; +import Hl from '@site/src/components/Highlight'; In group studies, the workers that are part of a group can communicate with each other. JATOS supports different kinds of groups. A group can e.g. have a fixed set of workers like this [Prisoner's Dilemma](/Example-Studies) where exactly two workers play with each other. On the other side of the spectrum is this [Snake game](/Example-Studies) with an on open, multi-worker approach. @@ -15,7 +15,7 @@ As an example of this, let's go through the Snake Game group study in detail: 1. Download and import the [Snake game](/Example-Studies) 1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page -1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. +1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. 1. Open a new tab in your browser and paste the study link into the address field. Press 'Enter' and the study should start. 1. Repeat the last step to start a second Snake game. 1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click **Join** and then **Ready**. diff --git a/src/components/Highlight.js b/src/components/Highlight.js index 60ccf80e0a..6e5706fd1c 100644 --- a/src/components/Highlight.js +++ b/src/components/Highlight.js @@ -1,6 +1,6 @@ import React from 'react'; -export default function Highlight({children}) { +export default function Hl({children}) { return ( Date: Wed, 23 Feb 2022 12:06:13 +0100 Subject: [PATCH 4/5] Highlight commit 1 --- docs/Group_studies/Example-Group-Studies.md | 16 +++--- .../Write-Group-Studies-I-Setup.md | 19 +++---- ...oup-Studies-II-JavaScript-and-Messaging.md | 15 +++--- docs/Manage_your_JATOS/Administration.md | 19 +++---- docs/Manage_your_JATOS/Troubleshooting.md | 15 +++--- docs/Manage_your_JATOS/Update-JATOS.md | 41 +++++++-------- docs/Manage_your_JATOS/User-Manager.md | 17 ++++--- docs/Overview/Data-Privacy-and-Ethics.md | 51 ++++++++++--------- docs/Overview/Get-started.md | 21 ++++---- docs/Overview/Installation.md | 5 +- .../Run-an-experiment-with-JATOS-Workflow.md | 11 ++-- .../Connect-to-Mechanical-Turk.md | 27 +++++----- ...ross-sectional-and-longitudinal-studies.md | 19 +++---- .../Deploy-to-a-server-installation.md | 11 ++-- .../End-page-after-your-study-finished.md | 15 +++--- docs/Run_your_study/Manage-Results.md | 19 +++---- docs/Run_your_study/Restricting-study-flow.md | 21 ++++---- .../Run-your-Study-with-Study-Links.md | 29 ++++++----- docs/Run_your_study/Tips-and-Tricks.md | 5 +- docs/Run_your_study/Worker-Types.md | 3 +- .../Customize-JATOS-Home-Page.md | 3 +- .../JATOS-on-DigitalOcean.md | 3 +- ...apt-pre-written-code-to-run-it-in-JATOS.md | 7 +-- .../Write_your_study/Change-studys-members.md | 5 +- docs/Write_your_study/Create-a-new-study.md | 5 +- .../Write-your-own-Study-Basics-and-Beyond.md | 3 +- docs/Write_your_study/jsPsych-and-JATOS.md | 5 +- src/pages/Example-Studies.md | 4 +- .../Group_studies/Example-Group-Studies.md | 17 ++++--- .../Write-Group-Studies-I-Setup.md | 19 +++---- ...oup-Studies-II-JavaScript-and-Messaging.md | 15 +++--- .../Manage_your_JATOS/Administration.md | 19 +++---- .../Manage_your_JATOS/Troubleshooting.md | 15 +++--- .../Manage_your_JATOS/Update-JATOS.md | 41 +++++++-------- .../Manage_your_JATOS/User-Manager.md | 17 ++++--- .../Overview/Data-Privacy-and-Ethics.md | 51 ++++++++++--------- .../version-3.7.1/Overview/Get-started.md | 21 ++++---- .../version-3.7.1/Overview/Installation.md | 5 +- .../Run-an-experiment-with-JATOS-Workflow.md | 11 ++-- .../Connect-to-Mechanical-Turk.md | 27 +++++----- ...ross-sectional-and-longitudinal-studies.md | 19 +++---- .../Deploy-to-a-server-installation.md | 11 ++-- .../End-page-after-your-study-finished.md | 15 +++--- .../Run_your_study/Manage-Results.md | 19 +++---- 44 files changed, 390 insertions(+), 346 deletions(-) diff --git a/docs/Group_studies/Example-Group-Studies.md b/docs/Group_studies/Example-Group-Studies.md index 1f5cd014c6..353e4f0cf5 100644 --- a/docs/Group_studies/Example-Group-Studies.md +++ b/docs/Group_studies/Example-Group-Studies.md @@ -5,22 +5,22 @@ sidebar_position: 1 --- import Hl from '@site/src/components/Highlight'; -In group studies, the workers that are part of a group can communicate with each other. JATOS supports different kinds of groups. A group can e.g. have a fixed set of workers like this [Prisoner's Dilemma](/Example-Studies) where exactly two workers play with each other. On the other side of the spectrum is this [Snake game](/Example-Studies) with an on open, multi-worker approach. +In group studies, the workers that are part of a group can communicate with each other. JATOS supports different kinds of groups. A group can e.g. have a fixed set of workers like this [Prisoner's Dilemma](/Example-Studies) where exactly two workers play with each other. On the other side of the spectrum is this [Snake game](/Example-Studies) with an on open, multi-worker approach. **How can you try-out a group-study if you're alone but want to simulate multiple workers?** JATOS allows [up to 10 study runs](Tips-and-Tricks.html#run-up-to-10-studies-in-the-same-browser-at-the-same-time) at the same time in the same browser (JATOS has no limit for different browsers). So you can just start the same (group) study multiple times in your browser and pretend you're multiple workers. -As an example of this, let's go through the Snake Game group study in detail: +As an example of this, let's go through the Snake Game group study in detail: -1. Download and import the [Snake game](/Example-Studies) -1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page -1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. -1. Open a new tab in your browser and paste the study link into the address field. Press 'Enter' and the study should start. +1. Download and import the [Snake game](/Example-Studies) +1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page +1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. +1. Open a new tab in your browser and paste the study link into the address field. Press Enter and the study should start. 1. Repeat the last step to start a second Snake game. -1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click **Join** and then **Ready**. +1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click Join and then Ready. 1. Voilà! You'll see two snakes moving around: each tab is running the Snake Game - but they are in the same group. -1. Optional: Have a look at your [Group in the Study Links page](Run-your-Study-with-Study-Links.html#groups) add see who the member workers are. +1. Optional: Have a look at your [Group in the Study Links page](Run-your-Study-with-Study-Links.html#groups) add see who the member workers are. ![Snake example](/img/example-studies/Screenshot_snakeGame.png) diff --git a/docs/Group_studies/Write-Group-Studies-I-Setup.md b/docs/Group_studies/Write-Group-Studies-I-Setup.md index 9a8fad3fb2..575d6abd33 100644 --- a/docs/Group_studies/Write-Group-Studies-I-Setup.md +++ b/docs/Group_studies/Write-Group-Studies-I-Setup.md @@ -3,14 +3,15 @@ title: Write Group Studies I - Setup slug: /Write-Group-Studies-I-Setup.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; ## Set up group studies -First and common to all group setups is to check the Group study checkbox in the study properties. +First and common to all group setups is to check the Group study checkbox in the study properties. ![Group's property](/img/study-properties-group-study.png) -If the Group property is checked, JATOS will assign workers into groups. We'll describe some group properties that you can use to tweak according to whether you want to keep control over worker assignment, or you give JATOS full control. +If the Group property is checked, JATOS will assign workers into groups. We'll describe some group properties that you can use to tweak according to whether you want to keep control over worker assignment, or you give JATOS full control. ### Group settings in each batch's properties @@ -19,9 +20,9 @@ You can have multiple batches in JATOS, each one with different group settings. ![Study Links screenshot](/img/batch_properties_groups.png) -1. **Max total workers**: This isn't just a properties of group studies. It simply limits the total amount of workers who are allowed to run in this batch. -1. **Max total members**: This limits the number of members a single group can have. While there can be multiple groups in a batch, the _Max total members_ field applies to each separate group. -1. **Max active members**: This limits the number of active members a single group can have. An active member is in the group at this time - in opposite to a past member who already left the group. This number applies to each group separately. Example: In the Prisoner's Dilemma study, you would limit the active members to 2. +1. **Max total workers**: This isn't just a properties of group studies. It simply limits the total amount of workers who are allowed to run in this batch. +1. **Max total members**: This limits the number of members a single group can have. While there can be multiple groups in a batch, the Max total members field applies to each separate group. +1. **Max active members**: This limits the number of active members a single group can have. An active member is in the group at this time - in opposite to a past member who already left the group. This number applies to each group separately. Example: In the Prisoner's Dilemma study, you would limit the active members to 2. By default, all properties have no upper limit. @@ -32,7 +33,7 @@ You can either tell JATOS to assign workers to different groups, or you can keep ### Scenario 1: One group, assign workers manually -If in a batch you set the _Max total worker_ to 2 and leave the other two Max parameters empty, JATOS has no other choice than to allow only 2 workers and sort them into the same group. If you then [create two Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send the links to your two participants, you can be sure that they will interact with each other. If you need more groups, just create a second batch with two other workers. +If in a batch you set the Max total worker to 2 and leave the other two Max parameters empty, JATOS has no other choice than to allow only 2 workers and sort them into the same group. If you then [create two Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send the links to your two participants, you can be sure that they will interact with each other. If you need more groups, just create a second batch with two other workers. ![Prisoners example](/img/prisoners_example.png) @@ -40,11 +41,11 @@ The first two scenarios may apply to the [Prisoner's Dilemma Example Study](/Exa ### Scenario 2: Several groups, let JATOS assign workers -Say you want to have 3 groups with 2 workers each. You want to leave it to JATOS which workers are paired together. Then, set _Max total workers_ to 6 and both _Max active members_ and _Max total members_ to 2 (remember that these numbers apply to each group separately). Then [create 6 Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send them to your 6 participants. +Say you want to have 3 groups with 2 workers each. You want to leave it to JATOS which workers are paired together. Then, set Max total workers to 6 and both Max active members and Max total members to 2 (remember that these numbers apply to each group separately). Then [create 6 Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send them to your 6 participants. ### Scenario 3: One open world -This scenario is basically the opposite of the first one. By limiting neither the _Max total worker_ nor the _Max total members_, nor the _Max active members_ JATOS will sort all workers into one single group that is potentially of unlimited size. Now --to keep it completely open-- just [create one study link type General Single](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and publish it (e.g. via a mailing list or on a website). +This scenario is basically the opposite of the first one. By limiting neither the Max total worker nor the Max total members, nor the Max active members JATOS will sort all workers into one single group that is potentially of unlimited size. Now --to keep it completely open-- just [create one study link type General Single](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and publish it (e.g. via a mailing list or on a website). ![Snake example](/img/snake_example.png) @@ -52,4 +53,4 @@ The third and fourth scenario may apply to the [Snake Example Study](/Example-St ### Scenario 4: Multiple open worlds with limited active members -Say you want to have groups with up to 3 members, interacting _at the same time_. But you don't want to actually limit the total number of members per group: you want to allow new workers to join a group if one of its members left. This way each group can have a flow of workers joining and leaving - the only constraint is the maximum members per group at any given time. You also want to let JATOS set the number of groups depending on the available workers. To set up this just use one batch, set the _Max active members_ to 3, and leave _Max total worker_ and _Max total members_ unlimited. +Say you want to have groups with up to 3 members, interacting _at the same time_. But you don't want to actually limit the total number of members per group: you want to allow new workers to join a group if one of its members left. This way each group can have a flow of workers joining and leaving - the only constraint is the maximum members per group at any given time. You also want to let JATOS set the number of groups depending on the available workers. To set up this just use one batch, set the Max active members to 3, and leave Max total worker and Max total members unlimited. diff --git a/docs/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md b/docs/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md index 8a408bf960..03f2794e41 100644 --- a/docs/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md +++ b/docs/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md @@ -3,10 +3,11 @@ title: Write Group Studies II - JavaScript and Messaging slug: /Write-Group-Studies-II-JavaScript-and-Messaging.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; ## Writing JavaScripts for group studies -Group studies differ from single-worker studies simply in that the JavaScript needs to handle groups and communications between members. The _jatos.js_ library provides some useful functions for this. +Group studies differ from single-worker studies simply in that the JavaScript needs to handle groups and communications between members. The jatos.js library provides some useful functions for this. If you like to dive right into _jatos.js'_ reference: @@ -18,7 +19,7 @@ If you like to dive right into _jatos.js'_ reference: ### Joining a group and opening group channels Workers can only communicate with members of their own group. So, interacting workers must all join the same group. -**A worker will remain in a group until _jatos.js_ is explicitly told to leave the group (or the study run is finished). This means that if a worker moves between components or reloads a page they will still remain in the same group.** This feature makes groups much more robust. +**A worker will remain in a group until jatos.js is explicitly told to leave the group (or the study run is finished). This means that if a worker moves between components or reloads a page they will still remain in the same group.** This feature makes groups much more robust. So here's how a typical JATOS group study run would look like. This study has three components. @@ -39,7 +40,7 @@ Component 3 Notice that by calling [`jatos.joinGroup`](jatos.js-Reference.html#jatosjoingroup) in the second and third component JATOS does not let workers join a new group but just opens a group channel in the already joined group. To make a worker leave a group, use the function [`jatos.leaveGroup`](jatos.js-Reference.html#jatosleavegroup). -Every know and then you probably would like to know who the members of your groups are. This and other stats you can get by clicking on your batch's [Groups button in the Study Links page](Run-your-Study-with-Study-Links.html#groups). +Every know and then you probably would like to know who the members of your groups are. This and other stats you can get by clicking on your batch's [Groups button in the Study Links page](Run-your-Study-with-Study-Links.html#groups). ### Reassigning to a different group @@ -48,8 +49,8 @@ To move a worker from one group to a different one, use [`jatos.reassignGroup`]( ### Fixing a group -Sometimes you want to stay with the group like it is in this moment and don't let new members join - although it would be allowed according to the group properties. For example in the [Prisoner's Example study](/Example-Studies) after the group is assembled in the waiting room component it is necessary to keep the two members as it is. Even if one of the members leaves in the middle of the game, JATOS shouldn't just assign a new member. To do this you can call _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed). Alternatively you can fix a group in JATOS' GUI, in the -[Groups table in the Study Links page](Run-your-Study-with-Study-Links.html#groups). +Sometimes you want to stay with the group like it is in this moment and don't let new members join - although it would be allowed according to the group properties. For example in the [Prisoner's Example study](/Example-Studies) after the group is assembled in the waiting room component it is necessary to keep the two members as it is. Even if one of the members leaves in the middle of the game, JATOS shouldn't just assign a new member. To do this you can call _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed). Alternatively you can fix a group in JATOS' GUI, in the +[Groups table in the Study Links page](Run-your-Study-with-Study-Links.html#groups). ## Communication between group members @@ -57,10 +58,10 @@ Sometimes you want to stay with the group like it is in this moment and don't le JATOS provides three ways for communicating within the group: direct messaging, broadcast messaging and with the Group Session. ### Direct messaging -Members can send direct messages to a single other member of the same group with the [`jatos.sendGroupMsgTo`](jatos.js-Reference.html#jatossendgroupmsgto) function. Like broadcast messaging this way of group communication is fast but can be unreliable in case of an unstable network connection. We use direct messaging in the [Snake example](/Example-Studies) to send the coordinates of the snakes on every step. Here, speed is more critical than reliability in the messages, because a few dropped frames will probably go unnoticed. +Members can send direct messages to a single other member of the same group with the [`jatos.sendGroupMsgTo`](jatos.js-Reference.html#jatossendgroupmsgto) function. Like broadcast messaging this way of group communication is fast but can be unreliable in case of an unstable network connection. We use direct messaging in the [Snake example](/Example-Studies) to send the coordinates of the snakes on every step. Here, speed is more critical than reliability in the messages, because a few dropped frames will probably go unnoticed. ### Broadcast messaging Members can send messages to all other members of the same group with the [`jatos.sendGroupMsg`](jatos.js-Reference.html#jatossendgroupmsg) function. Like direct messaging this way of group communication is fast but can be unreliable in case of an unstable network connection. ### Group session -The Group Session is one of the [three types of session that JATOS provides](Session-Data-Three-Types.html). Members can access the Group Session data with the [Group Session functions](jatos.js-Reference.html#functions-to-access-the-group-session). The Group Session data are stored in JATOS' database **only while the group is active. It is deleted when the group is finished.** Communication via Group Session is slower, but more reliable than group messaging. If one member has an unstable internet connection or does a page reload, the Group Session will be automatically restored after the member reopens the group channel. Workers communicate via the Group Session data in the [Prisoner's Example study](/Example-Studies), because here one dropped message would lead to important information loss. +The Group Session is one of the [three types of session that JATOS provides](Session-Data-Three-Types.html). Members can access the Group Session data with the [Group Session functions](jatos.js-Reference.html#functions-to-access-the-group-session). The Group Session data are stored in JATOS' database **only while the group is active. It is deleted when the group is finished.** Communication via Group Session is slower, but more reliable than group messaging. If one member has an unstable internet connection or does a page reload, the Group Session will be automatically restored after the member reopens the group channel. Workers communicate via the Group Session data in the [Prisoner's Example study](/Example-Studies), because here one dropped message would lead to important information loss. diff --git a/docs/Manage_your_JATOS/Administration.md b/docs/Manage_your_JATOS/Administration.md index de51a97837..0355af8d03 100644 --- a/docs/Manage_your_JATOS/Administration.md +++ b/docs/Manage_your_JATOS/Administration.md @@ -3,8 +3,9 @@ title: Administration slug: /Administration.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; -On the Administration page [users with admin rights](/User-Manager.html) can get an overview of the studies and users of a JATOS installation. You can see the **logs**, **system info**, or go to the **test page** to check if JATOS runs correctly. It is also the place where **update notifications** appear when a new JATOS version is available and where [admins can trigger an update](/Update-JATOS.html#automatic-updates). +On the Administration page [users with admin rights](/User-Manager.html) can get an overview of the studies and users of a JATOS installation. You can see the logs, system info, or go to the test page to check if JATOS runs correctly. It is also the place where **update notifications** appear when a new JATOS version is available and where [admins can trigger an update](/Update-JATOS.html#automatic-updates). ![Administration screenshot](/img/Screenshot_Administration_371.png) @@ -12,12 +13,12 @@ On the menu you will find links to two additional administration pages: ### User Manager -Manage users, passwords, and rights from here. Find more details on [its documentation page](/User-Manager.html) +Manage users, passwords, and rights from here. Find more details on [Manage JATOS users documentation page](/User-Manager.html) ### Study Administration -By clicking the _Studies_ button you'll get to an overview about all studies that are on the JATOS instance. You'll also see, for each study: whom it belongs to (the study members), how much disk space it takes, and when it was active last. +By clicking the Studies button you'll get to an overview about all studies that are on the JATOS instance. You'll also see, for each study: whom it belongs to (the study members), how much disk space it takes, and when it was active last. **For larger JATOS installation it can take up to a couple minutes to gather all data for this page** @@ -25,9 +26,9 @@ By clicking the _Studies_ button you'll get to an overview about all studies tha The information is displayed in a table with the columns: -* **Active** - In cases where e.g. a study uses to many server resources, an admin can **deactivate** (or activate again) it by clicking the checkbox in the 'Active' column. A deactivated study cannot be started by participants (workers) anymore, but an already started study run can be continued. That means, an admin will not interrupt a participant if they already started doing a study, but no new participants will be able to start it. The study members can still see and edit the study, as well as export its result data. -* **Study Assets Size** - The disk size of all asset files associated to this study (HTML, JS, CSS, images, videos, etc.). -* **Result Count** - The number of study results collected so far on this JATOS instance. -* **Result Data Size** - The size of all result data that are stored in the database. In brackets is the average size per result count. -* **Result File Size** - The size of all result files that are stored in the server's file system. In brackets is the average size per result count. -* **Last Started** - When was this study last started by a participant. +* **Active** - In cases where e.g. a study uses to many server resources, an admin can **deactivate** (or activate again) it by clicking the checkbox in the Active column. A deactivated study cannot be started by participants (workers) anymore, but an already started study run can be continued. That means, an admin will not interrupt a participant if they already started doing a study, but no new participants will be able to start it. The study members can still see and edit the study, as well as export its result data. +* **Study Assets Size** - The disk size of all asset files associated to this study (HTML, JS, CSS, images, videos, etc.). +* **Result Count** - The number of study results collected so far on this JATOS instance. +* **Result Data Size** - The size of all result data that are stored in the database. In brackets is the average size per result count. +* **Result File Size** - The size of all result files that are stored in the server's file system. In brackets is the average size per result count. +* **Last Started** - When was this study last started by a participant. diff --git a/docs/Manage_your_JATOS/Troubleshooting.md b/docs/Manage_your_JATOS/Troubleshooting.md index 15b5563ff0..a8acc2a7a3 100644 --- a/docs/Manage_your_JATOS/Troubleshooting.md +++ b/docs/Manage_your_JATOS/Troubleshooting.md @@ -3,10 +3,11 @@ title: Troubleshooting slug: /Troubleshooting.html sidebar_position: 4 --- +import Hl from '@site/src/components/Highlight'; ### JATOS test page -JATOS comes with build in tests (e.g. WebSockets connections and database connection), but they are only accessible for users with admin rights: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +JATOS comes with build in tests (e.g. WebSockets connections and database connection), but they are only accessible for users with admin rights: go to AdministrationTests and check that all tests are 'OK'. ### Downloading a study / exporting a study fails (e.g. in Safari browsers) @@ -16,18 +17,18 @@ As a default, Safari (and some other browsers) automatically unzips every archiv ### Read log files in the browser -In a perfect world, JATOS always works smoothly and, when it doesn't, it describes the problem in an error message. Unfortunately we aren't in a perfect world: every now and then something will go wrong and you might not get any clear error messages, or no message at all. In these (rare) cases, you can look into JATOS' log files (not to be confused with the [study log](Study-Log.html)) to try to find what the problem might be. You can see and download all log files in the _Administration_ page => _Logs_ (for security reasons, you must be logged in as a user with admin rights). +In a perfect world, JATOS always works smoothly and, when it doesn't, it describes the problem in an error message. Unfortunately we aren't in a perfect world: every now and then something will go wrong and you might not get any clear error messages, or no message at all. In these (rare) cases, you can look into JATOS' log files (not to be confused with the [study log](Study-Log.html)) to try to find what the problem might be. You can see and download all log files in the Administration page => Logs (for security reasons, you must be logged in as a user with admin rights). -* _application.log_ - all JATOS logging -* _loader.log_ - logging during startup with loader -* _update.log_ - logging during updates +* application.log - all JATOS logging +* loader.log - logging during startup with loader +* update.log - logging during updates Alternatively you can read the log files directly on the server. You'll find your logs in `jatos_directory/logs/`. ### A file (library, image, ...) included in the HTML fails to load? -There is a common mistake Windows users make that might prevent files from loading: Any URL or file path in a HTML or JS file should only use '/' as a file path separator - even on Windows systems. So it should always be e.g. `` and **not** ``. +There is a common mistake Windows users make that might prevent files from loading: Any URL or file path in a HTML or JS file should only use / as a file path separator - even on Windows systems. So it should always be e.g. `` and **not** ``. ### Database is corrupted? @@ -37,7 +38,7 @@ If you get an error that reads something like: `Error in custom provider, Config There are two reasons why this might be the case: you moved your JATOS folder while it was running or you installed JATOS in a synced folder. To prevent this, be sure to always be careful with the following: 1. **Don't copy or move while JATOS is running** - Always **stop JATOS** (type `./loader.sh stop` in your Linux / Mac OS terminal or close the window on Windows) before moving it. -1. **Don't sync while JATOS is running** - As we mentioned in the [Installation page](Installation.html), you can run JATOS from pretty much anywhere **except** from a folder that syncs across devices, like Dropbox or Google Drive. Doing so might lead to database corruption, because while the files might be synced between computers, the running processes aren't. This will lead to havoc and destruction and, in extreme cases, to the implosion of the known Universe. You can find in our [blog post](http://blog.jatos.org/Database_Recovery/) a description of an attempt to recover a corrupted database. Didn't work. +1. **Don't sync while JATOS is running** - As we mentioned in the [Installation page](Installation.html), you can run JATOS from pretty much anywhere **except** from a folder that syncs across devices, like Dropbox or Google Drive. Doing so might lead to database corruption, because while the files might be synced between computers, the running processes aren't. This will lead to havoc and destruction and, in extreme cases, to the implosion of the known Universe. You can find in our [blog post](http://blog.jatos.org/Database_Recovery/) a description of an attempt to recover a corrupted database. Didn't work. **Of course, this brings us to an important point: back up your result data (i.e., simply download and save your text files) regularly if you're running a study!** diff --git a/docs/Manage_your_JATOS/Update-JATOS.md b/docs/Manage_your_JATOS/Update-JATOS.md index aa8ad57090..f0520d63df 100644 --- a/docs/Manage_your_JATOS/Update-JATOS.md +++ b/docs/Manage_your_JATOS/Update-JATOS.md @@ -3,6 +3,7 @@ title: Update JATOS slug: /Update-JATOS.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; **If you want to update a JATOS server please read [this page](/Updating-a-JATOS-server-installation.html) first.** @@ -17,28 +18,28 @@ You can update your JATOS automatically (if you have **admin rights** and runnin The process is pretty self-explanatory, but anyway, we'll explain it here in detail: -1. You will get a notification on your JATOS' _Administration_ page. +1. You will get a notification on your JATOS' Administration page. ![Update notification Schreenshot](/img/autoupdate-notification.png) 1. We expect no problems, but sh&t happens. We recommend that you **back up your result data, result files, study assets folder and study logs** before continuing. -1. Click on _Update_, confirm that you want to continue and the latest JATOS version will be downloaded from GitHub and saved in your system's temporary folder. Usually the variant downloaded will be the one without bundled Java. Only in cases where JATOS switches to a newer version of Java a bundled version is required [(see below)](#Versions-with-newer-Java-required). The download might take a while depending on your internet connection. -1. After download is complete, you will be asked again for confirmation. By default, JATOS will **back up**: it will copy the content of its own installation folder into a folder with the name _backup_x.x.x_ (x.x.x is the version before the update). This will usually include your embedded H2 database, your study assets and logs - **but not your MySQL database** (should you have one). If anything goes wrong in the auto-update, you have everything in this backup folder to start the old JATOS again. This backup will use up disk space (therefore you can opt out). +1. Click on Update, confirm that you want to continue and the latest JATOS version will be downloaded from GitHub and saved in your system's temporary folder. Usually the variant downloaded will be the one without bundled Java. Only in cases where JATOS switches to a newer version of Java a bundled version is required [(see below)](#Versions-with-newer-Java-required). The download might take a while depending on your internet connection. +1. After download is complete, you will be asked again for confirmation. By default, JATOS will **back up**: it will copy the content of its own installation folder into a folder with the name backup_x.x.x (x.x.x is the version before the update). This will usually include your embedded H2 database, your study assets and logs - **but not your MySQL database** (should you have one). If anything goes wrong in the auto-update, you have everything in this backup folder to start the old JATOS again. This backup will use up disk space (therefore you can opt out). ![Update notification Schreenshot](/img/autoupdate-update-and-restart.png) -1. After clicking the _Go on_ button, JATOS will stop itself, replace its program files and re-start itself again. This might take up to a minute. +1. After clicking the Go on button, JATOS will stop itself, replace its program files and re-start itself again. This might take up to a minute. 1. Refresh your JATOS home page every now and then until you see your updated JATOS' login screen again. -1. Check the new JATOS with the build-in tests: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +1. Check the new JATOS with the build-in tests: go to AdministrationTests and check that all tests are 'OK'. ### Special cases #### Pre-releases (experimental) -Pre-releases will not be available as auto-updates by default. If you want to force this to be the case (and you know what you're doing), append the parameter _allowPreReleases_ to your JATOS home page URL (e.g. _localhost/jatos?allowPreReleases_). +Pre-releases will not be available as auto-updates by default. If you want to force this to be the case (and you know what you're doing), append the parameter allowPreReleases to your JATOS home page URL (e.g. _localhost/jatos?allowPreReleases_). #### Enforce an update to a specified version (experimental) -The parameter _version_ can be added to your JATOS home page URL (e.g. _localhost/jatos?version=v3.6.1_) and takes the version tag as specified in GitHub and enforces an update to this version. This should never be used on a JATOS server that stores any valuable data. +The parameter version can be added to your JATOS home page URL (e.g. _localhost/jatos?version=v3.6.1_) and takes the version tag as specified in GitHub and enforces an update to this version. This should never be used on a JATOS server that stores any valuable data. #### Major updates Auto-updating might not always be possible. JATOS versions will be flagged so that they are not available for auto-update. You'll have to do a [manual update](#Manual-Updates). @@ -58,23 +59,23 @@ You can update your local JATOS instance in two main ways (The procedure is a li If you don't care about result data stored in JATOS: -1. Export any studies you wish to keep from the old JATOS installation. +1. Export any studies you wish to keep from the old JATOS installation. 1. Download and install the new version as if it were a new fresh download. Don't start it yet. 1. Stop the old JATOS and start the new JATOS. -1. Import all the studies your previously exported. This will transfer the files and subfolders in your study's asset folder (HTML, JavaScript, CSS files). +1. Import all the studies your previously exported. This will transfer the files and subfolders in your study's asset folder (HTML, JavaScript, CSS files). **What will be transferred:** -1. Files and subfolders in study's assets folder +1. Files and subfolders in study's assets folder 1. All your studies' and components' properties -1. The **properties** of the first (Default) batch +1. The properties of the first (Default) batch **What will be lost:** -1. **All result data will be lost** -1. All workers in all batches (including Default batch) -1. All batches other than the Default batch -1. All study logs +1. **All result data will be lost** +1. All workers in all batches (including Default batch) +1. All batches other than the Default batch +1. All study logs ### Second way: keeping everything (including your result data) @@ -87,14 +88,14 @@ If you do want to keep your studies, batches, and your result data you'll have t 1. From the folder of your old JATOS installation copy the folders `database` and `study_logs` to the folder of the new JATOS installation. 1. If you had changed the `conf/production.conf` file in your old JATOS instance (for example to set a custom location for your `study_assets_root` folder) you'll have to do this again in the new JATOS version. We recommend re-editing the new version of the file, rather than just overwriting the new with the old version, in case anything in the `production.conf` file has changed. 1. Start the new JATOS (on Unix systems, type `./loader.sh start` on the terminal. On Windows double click the `loader.bat`) -1. Check the build-in tests: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +1. Check the build-in tests: go to AdministrationTests and check that all tests are 'OK'. **What will be transferred:** -1. Files and subfolders in study assets folder -1. All your study and components properties -1. All batches, together with their workers, generated links, and results -1. All study logs +1. Files and subfolders in study assets folder +1. All your study and components properties +1. All batches, together with their workers, generated links, and results +1. All study logs **What will be lost:** nothing diff --git a/docs/Manage_your_JATOS/User-Manager.md b/docs/Manage_your_JATOS/User-Manager.md index d5e2890438..800688b737 100644 --- a/docs/Manage_your_JATOS/User-Manager.md +++ b/docs/Manage_your_JATOS/User-Manager.md @@ -3,32 +3,33 @@ title: Manage JATOS users slug: /User-Manager.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; -Each experimenter with access to the JATOS server (though the GUI) is a JATOS User. Users can create, modify and delete the studies they are members of. They can also export and delete results. Users may also have **admin rights**, which lets them access the _Administration_ page and control other users' access to JATOS. +Each experimenter with access to the JATOS server (though the GUI) is a JATOS User. Users can create, modify and delete the studies they are members of. They can also export and delete results. Users may also have **admin rights**, which lets them access the Administration page and control other users' access to JATOS. ## Manage users -Only users with admin rights have access to the **User Manager** (in the _Administration_ page). From the _User Manager_, admins can create new users or delete existing ones, or change passwords. Admins can also deactivate/activate users and see information about the user's studies. +Only users with admin rights have access to the User Manager (in the Administration_ page). From the User Manager, admins can create new users or delete existing ones, or change passwords. Admins can also deactivate/activate users and see information about the user's studies. -JATOS comes with one **Admin user** out-of-box (username: 'admin'). Admin always has admin rights that cannot be revoked. The initial password for Admin is 'admin' and it should be changed immediately after installation and kept safe! +JATOS comes with one Admin user out-of-box (username: 'admin'). Admin always has admin rights that cannot be revoked. The initial password for Admin is 'admin' and it should be changed immediately after installation and kept safe! -Every user can be granted admin rights, by checking the corresponding box either during creation or in the _Admin_ column of the table. Only admins can access the _Administration_ pages (like _User Manager_ or _Study Info_). +Every user can be granted admin rights, by checking the corresponding box either during creation or in the Admin column of the table. Only admins can access the Administration pages (like User Manager or Study Info). ![User manager screenshot](/img/Screenshot_User_Manager1.png) -A user can be **deactivated** (and activated again) by clicking the checkbox in the 'Active' column. A deactivated user cannot log in anymore but their studies can still be run by participants (to prevent a study from running, deactivate it in the study _Administration_ page). +A user can be deactivated (and activated again) by clicking the checkbox in the Active column. A deactivated user cannot log in anymore but their studies can still be run by participants (to prevent a study from running, deactivate it in the study Administration_ page). -If you're an admin and need to get more information about a user's studies, click on the _Studies_ column. You'll see _Result Data Size_ and _Result File size_, which can give you an idea of how many of the server's resources this user needs. +If you're an admin and need to get more information about a user's studies, click on the Studies column. You'll see Result Data Size and Result File size, which can give you an idea of how many of the server's resources this user needs. ![User manager screenshot](/img/Screenshot_User_Manager2.png) -Clicking on the _Export_ button on the top of the page, you can export user data in CSV format. This is useful to e.g. get a list of emails if you need to notify all users about a server downtime, JATOS update, etc. +Clicking on the Export button on the top of the page, you can export user data in CSV format. This is useful to e.g. get a list of emails if you need to notify all users about a server downtime, JATOS update, etc. ## Authentication via LDAP JATOS allows password authentication via LDAP (which lets an institution manage their users in a centralized way). LDAP is disabled by default. To enable it [change the JATOS config file](Configure-JATOS-on-a-Server.html#ldap-authentication-since-jatos--354). -Once LDAP is enabled, there will be an additional checkbox 'LDAP' on the overlay dialog when an admin creates a new user. Check this box to enforce authentication by LDAP. Normal JATOS users (locally authenticated) and LDAP users can co-exist in the same JATOS instance. +Once LDAP is enabled, there will be an additional checkbox LDAP on the overlay dialog when an admin creates a new user. Check this box to enforce authentication by LDAP. Normal JATOS users (locally authenticated) and LDAP users can co-exist in the same JATOS instance. At the moment it is not possible to let JATOS create LDAP users automatically - they must be created by an JATOS admin manually. diff --git a/docs/Overview/Data-Privacy-and-Ethics.md b/docs/Overview/Data-Privacy-and-Ethics.md index 5543b171cc..b61b1b9936 100644 --- a/docs/Overview/Data-Privacy-and-Ethics.md +++ b/docs/Overview/Data-Privacy-and-Ethics.md @@ -3,6 +3,7 @@ title: Data Privacy and Ethics slug: /Data-Privacy-and-Ethics.html sidebar_position: 7 --- +import Hl from '@site/src/components/Highlight'; ### What does JATOS store? @@ -19,23 +20,23 @@ Here are a few advantages and limitations of JATOS with regards to data privacy. * JATOS' main advantage is that you can store your participants' data in your own server (e.g. at your university). This means that you have full control over the data stored in your database, and no commercial company has access to it. JATOS does not share any data (except of course during a study run with the participant's browsers). Each JATOS installation is completely independent of any other JATOS installation. * By default, JATOS stores the following data: - * time (of the server running JATOS) at which the study -and each of its components- was started and finished - * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) - * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. + * time (of the server running JATOS) at which the study -and each of its components- was started and finished + * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) + * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. * JATOS will **not** store information like IP address or browser type (User-Agent or any other HTTP header field). ### Things you should consider in your studies -* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently _jatos.js_ offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. +* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently jatos.js offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. * Use **encryption** with your [server instance](JATOS-on-a-server.html). Only with encryption no one else in the internet can read the private data from your study's participants. * JATOS will **not** store information like IP address or browser type (nor any other HTTP header field). However, you could access and store this information through your JavaScripts. You could also record whether workers are actively on the browser tab running your study, or whether they have left it to go to another tab, window or program. If you collect any of these data, you should let your workers know. -* Bear in mind: Every file within your study assets folders is public to the Internet. Anybody can in principle read any file in this folder, regardless of how secure your server is. **Thus, you should never store any private data, such as participants' details in the study assets folders.** +* Bear in mind: Every file within your study assets folders is public to the Internet. Anybody can in principle read any file in this folder, regardless of how secure your server is. **Thus, you should never store any private data, such as participants' details in the study assets folders.** -* **Do not store private information in the Batch Session or Group Session.** Both sessions are shared between all members of a batch or group respectively. If you store private data any other member of this batch or group could potentially access it. Since the Study Session is only shared within the same study run it is not a problem to store private information there. +* **Do not store private information in the Batch Session or Group Session.** Both sessions are shared between all members of a batch or group respectively. If you store private data any other member of this batch or group could potentially access it. Since the Study Session is only shared within the same study run it is not a problem to store private information there. ### Cookies used by JATOS @@ -53,26 +54,26 @@ The cookie virtually never expires (actually far in the future, around the year This cookie contains these parameters: -* _studyId_: identifier of the study -* _batchId_: identifier of the batch -* _componentId_: identifier of the component -* _componentPos_: position of the component within the study -* _workerId_: identifier of the worker used internally to identify the worker anonymously -* _workerType_: there are [5 worker types with different use cases in JATOS](Worker-Types.html) -* _componentResultId_: identifier of the component result (a component result is used to store data of the component run) -* _studyResultId_: identifier of the study result (a study result is used to store data of this study run) -* _studyResultUuid_: universial identifier of the study result (a study result is used to store data of this study run) -* _groupResultId_: identifier of the group this worker belongs to (null if it isn't a group study) -* _creationTime_: timestamp (epoch time) of this cookie's creation -* _studyAssets_: name of the directory where the study's assets are stored on the JATOS server -* _jatosRun_: State of a study run with a JatosWorker. If this run doesn't belong to a JatosWorker this field is null. It's mainly used to distinguish between a full study run and just a component run. -* _urlBasePath_: [Base path under which JATOS resides](Configure-JATOS-on-a-Server.html#url-base-path-jatos--v331) +* studyId: identifier of the study +* batchId: identifier of the batch +* componentId: identifier of the component +* componentPos: position of the component within the study +* workerId: identifier of the worker used internally to identify the worker anonymously +* workerType: there are [5 worker types with different use cases in JATOS](Worker-Types.html) +* componentResultId: identifier of the component result (a component result is used to store data of the component run) +* studyResultId: identifier of the study result (a study result is used to store data of this study run) +* studyResultUuid: universial identifier of the study result (a study result is used to store data of this study run) +* groupResultId: identifier of the group this worker belongs to (null if it isn't a group study) +* creationTime: timestamp (epoch time) of this cookie's creation +* studyAssets: name of the directory where the study's assets are stored on the JATOS server +* jatosRun: State of a study run with a JatosWorker. If this run doesn't belong to a JatosWorker this field is null. It's mainly used to distinguish between a full study run and just a component run. +* urlBasePath: [Base path under which JATOS resides](Configure-JATOS-on-a-Server.html#url-base-path-jatos--v331) E.g. `batchId=1&componentId=1&componentPos=1&componentResultId=35&creationTime=1639502424728&studyAssets=jatosjs_test_study&urlBasePath=/&jatosRun=RUN_STUDY&groupResultId=null&studyId=1&studyResultId=33&studyResultUuid=7d5b3da2-b0bf-4e22-98bc-f0e5d7752c00&workerId=1&workerType=Jatos` #### 2. Cookie JATOS_GENERALSINGLE_UUIDS -This cookie is used by JATOS to store which study runs with a [General Single worker](Worker-Types.html#general-single-worker) already happened in this browser. It only stores a list of IDs that universally identifies a study (UUID). +This cookie is used by JATOS to store which study runs with a [General Single worker](Worker-Types.html#general-single-worker) already happened in this browser. It only stores a list of IDs that universally identifies a study (UUID). #### 3. Play Framework session cookie named PLAY_SESSION @@ -84,10 +85,10 @@ The cookie's expires header field is set to Session, which mean that after the b This cookie contains the parameters: -* _username_: username of the logged-in user (often an email) -* _sessionID_: Play's session ID -* _loginTime_: user's login time in the GUI as a timestamp -* _lastActivityTime_: user's last activity time in the GUI as a timestamp +* username: username of the logged-in user (often an email) +* sessionID: Play's session ID +* loginTime: user's login time in the GUI as a timestamp +* lastActivityTime: user's last activity time in the GUI as a timestamp Additionally Play stores a hash of the whole cookie's data to check integrity of the cookie's data. diff --git a/docs/Overview/Get-started.md b/docs/Overview/Get-started.md index dbbd90c996..3fb86e3d74 100644 --- a/docs/Overview/Get-started.md +++ b/docs/Overview/Get-started.md @@ -3,6 +3,7 @@ title: Get started slug: /Get-started.html sidebar_position: 5 --- +import Hl from '@site/src/components/Highlight'; ### Get started in 4 steps @@ -12,33 +13,33 @@ sidebar_position: 5 1. **Download and import an example study** - 1. Download one of the [Example Studies](/Example-Studies), e.g. the 'Go- / No-Go Task' with jsPsych. Do not unzip the downloaded file. + 1. Download one of the [Example Studies](/Example-Studies), e.g. the Go- / No-Go Task with jsPsych. Do not unzip the downloaded file. - 1. Import the study into JATOS: Go to JATOS' GUI in your browser and click on **Import Study** in the header. Choose the .jzip (or .zip) file you just downloaded. The imported study should appear in the sidebar on the left. + 1. Import the study into JATOS: Go to JATOS' GUI in your browser and click on Import Study in the header. Choose the .jzip (or .zip) file you just downloaded. The imported study should appear in the sidebar on the left. 1. **Explore the GUI** In the sidebar click the study to get into the study's page. - To do a test run of the entire study, click on **Run** in the toolbar on top of the page. + To do a test run of the entire study, click on Run in the toolbar on top of the page. If you finished running through the study, you can check the results. - * To see whole-study results, click on the **Results** button on the top of the page. - * To see results from individual components, click on the **Results** buttons on each component's row. + * To see whole-study results, click on the Results button on the top of the page. + * To see results from individual components, click on the Results buttons on each component's row. - For example, you can see each result's details by clicking on the little arrow to the left of its row ([more information on how to mangage results](Manage-results.html)). + For example, you can see each result's details by clicking on the little arrow to the left of its row ([more information on how to mangage results](Manage-results.html)). - _Here's a screenshot of a study's results view:_ + _Here's a screenshot of a study's results view:_ ![Results View screenshot](/img/ResultsView-Screenshot3.png) ### Explore Now it's time to explore a little bit more. -* You can click on any component's position button and drag it to a new position within the study. -* Each component has a **Properties** button. The component's HTML file may read the data in the field 'JSON data'. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. -* Where are the actual HTML, JavaScript, and CSS files? They are the files that actually run your study, so make sure you can locate them. All these files, together with any images, sound files, etc. you might have, are called "Study assets". They will be in `/path_to_my_JATOS/study_assets_root/name_of_my_study/`. +* You can click on any component's position button and drag it to a new position within the study. +* Each component has a Properties button. The component's HTML file may read the data in the field JSON data. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. +* Where are the actual HTML, JavaScript, and CSS files? They are the files that actually run your study, so make sure you can locate them. All these files, together with any images, sound files, etc. you might have, are called Study assets. They will be in `/path_to_my_JATOS/study_assets_root/name_of_my_study/`. _Here's a screenshot of a component's properties view:_ ![GUI screenshot](/img/Component_properties_screenshot_2.png) diff --git a/docs/Overview/Installation.md b/docs/Overview/Installation.md index 1b5d34fa6b..1f5bd24b64 100644 --- a/docs/Overview/Installation.md +++ b/docs/Overview/Installation.md @@ -3,6 +3,7 @@ title: Installation slug: /Installation.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; ### Easy installation on your local computer @@ -12,12 +13,12 @@ A local installation is straightforward. Usually you first develop your study with JATOS on a local computer. Then in a second step you bring it to a server installation of JATOS. -With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. +With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. **For convenience JATOS is available as a bundle with Java.** To run JATOS, you need Java 11 installed on your computer (to be precise, you need a Java Runtime Environment, aka JRE). Chances are, you already have Java installed. To check whether Java is installed on your system, type `java -version` in your terminal (MacOS / Linux) or command window (Windows). -If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. +If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. ### Installation Windows diff --git a/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md b/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md index 998d5ac97b..f91156d815 100644 --- a/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md +++ b/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md @@ -3,6 +3,7 @@ title: Run an experiment with JATOS - Workflow slug: /Run-an-experiment-with-JATOS-Workflow.html sidebar_position: 6 --- +import Hl from '@site/src/components/Highlight'; ## Workflow: What JATOS does @@ -12,7 +13,7 @@ When you start working with studies online, it can be hard to see what exactly J ## Step 1: Create/edit HTML, JS, and CSS files (Prepare your study) -We recommend that you always start to work on a new study in a *local* installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). +We recommend that you always start to work on a new study in a local installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). The main advantage of this is that you have easy access to all your HTML files and assets and can move them around, delete, and replace without any fuss. Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) @@ -22,9 +23,9 @@ Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) Once your study scripts are complete and bug-free, you need to make them available through the Internet. For that you will need, of course, [a server](Bring-your-JATOS-online.html). If you have a server already, you will need to take your ready-to-run study from your local installation and deploy it to the server. In order to do this: -1. On your *local* JATOS installation, where your study is, click on the study you want to export on the left sidebar. -1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. -1. On your *server* installation, simply click Import. +1. On your local JATOS installation, where your study is, click on the study you want to export on the left sidebar. +1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. +1. On your server installation, simply click Import. Done. @@ -33,7 +34,7 @@ There are a few important details in [deploying your study to a server](Deploy-t Also have a look at [Bring your JATOS online](Bring-your-JATOS-online.html). ## Step 3: Collect data -Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. +Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. ## Step 4: Download and analyze data One of JATOS' features is that you can manage the results stored in the database without having to type SQL commands in a terminal. Instead, just do this [using the GUI](Manage-Results.html). diff --git a/docs/Run_your_study/Connect-to-Mechanical-Turk.md b/docs/Run_your_study/Connect-to-Mechanical-Turk.md index c927be88aa..d78c81b9f0 100644 --- a/docs/Run_your_study/Connect-to-Mechanical-Turk.md +++ b/docs/Run_your_study/Connect-to-Mechanical-Turk.md @@ -3,10 +3,11 @@ title: Use MTurk slug: /Connect-to-Mechanical-Turk.html sidebar_position: 5 --- +import Hl from '@site/src/components/Highlight'; -Use your JATOS study with Mturk is easy, although a fair amount of clicking is required. +Use your JATOS study with Mturk is easy, although a fair amount of clicking is required. -A good idea is always to try it yourself first in [MTurk Sandbox](https://requester.mturk.com/developer/sandbox) before you let real workers do it. +A good idea is always to try it yourself first in [MTurk Sandbox](https://requester.mturk.com/developer/sandbox) before you let real workers do it. ### You will need @@ -17,49 +18,49 @@ A good idea is always to try it yourself first in [MTurk Sandbox](https://reques ### On JATOS' side -In JATOS, go to your study's page and click on the Study Links button and open the batch you want to run. +In JATOS, go to your study's page and click on the Study Links button and open the batch you want to run. ![JATOS GUI screenshot](/img/study_links_mturk.png) -1. Don't forget to enable the MTurk type +1. Don't forget to enable the MTurk type -1. Click on _Source Code_. You'll see a box with HTML code, similar to the one shown here. You will have to copy and paste the code from here to the MTurk interface. +1. Click on Source Code. You'll see a box with HTML code, similar to the one shown here. You will have to copy and paste the code from here to the MTurk interface. ![JATOS GUI screenshot](/img/study_links_mturk_source_code.png) ### On MTurk's page -You first have to create a project in the MTurk interface: +You first have to create a project in the MTurk interface: 1. Sign into your [MTurk requester account](https://requester.mturk.com/signin_options) (or [requester sandbox account](https://requestersandbox.mturk.com/signin_options)) -1. Create ⟶ New Project ⟶ Survey Link ⟶ Create Project - or just click this [link for requester](https://requester.mturk.com/create/projects/new) (or this [link for requester sandbox](https://requestersandbox.mturk.com/create/projects/new)) +1. CreateNew ProjectSurvey LinkCreate Project - or just click this [link for requester](https://requester.mturk.com/create/projects/new) (or this [link for requester sandbox](https://requestersandbox.mturk.com/create/projects/new)) -1. Complete the *Enter Properties* tab +1. Complete the Enter Properties tab -1. Click on the *Design layout* button in the bottom of the page. +1. Click on the Design layout button in the bottom of the page. -1. Click on the *Source* button. You'll see some text in an editable window, corresponding to an HTML file. Delete the entire text in this field. +1. Click on the Source button. You'll see some text in an editable window, corresponding to an HTML file. Delete the entire text in this field. ![MTurk Schreenshot](/img/MTurk-source-editor.png) 1. Now paste the source code that you got from JATOS into this text field. This HTML code works out-of-the-box and you don't have to change anything (but you can if you want). -1. To exit the editing mode, click on the ‘Source’ button again and continue setting up your study in MTurk. +1. To exit the editing mode, click on the Source button again and continue setting up your study in MTurk. ![MTurk Schreenshot](/img/MTurk-source-editor-done.png) ### What should happen -When an MTurk worker finishes a study they'll see a confirmation code like this one. +When an MTurk worker finishes a study they'll see a confirmation code like this one. ![Confirmation code](/img/MTurk-confirmation-code_371.png) ### How to check the confirmation codes -To assign payment to individual workers, just compare the confirmation codes stored in JATOS' results page to those stored in MTurk. To see the confirmation codes in your results page you might have to add the column to your table: Like in the image, go to Customize and choose MTurk Confirmation Code. +To assign payment to individual workers, just compare the confirmation codes stored in JATOS' results page to those stored in MTurk. To see the confirmation codes in your results page you might have to add the column to your table: Like in the image, go to Customize and choose MTurk Confirmation Code. ![Results of Mturk workers](/img/mturk-results.png) diff --git a/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md b/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md index 3d9b42550c..d617c02a0a 100644 --- a/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md +++ b/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md @@ -3,20 +3,21 @@ title: Write cross-sectional and longitudinal studies slug: /Cross-sectional-and-longitudinal-studies.html sidebar_position: 7 --- +import Hl from '@site/src/components/Highlight'; There are several situation in which you might want to store (some parts) of the result data in a way that is accessible from more than just a single study run. This might be the case if you want to: 1. counterbalance your conditions across participants to acount for order effects. 1. run a between-participants study. 1. run a longitudinal study. -Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. +Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. ## 1. Counterbalance conditions between participants -The basic idea here is simple. Every time a new participant clicks on a study link, you assign them randomly to one of the possible conditions. And you keep track of how many participants did each condition in the Batch Session data. +The basic idea here is simple. Every time a new participant clicks on a study link, you assign them randomly to one of the possible conditions. And you keep track of how many participants did each condition in the Batch Session data. -Have a look at the ["Randomize tasks between workers"](/Example-Studies) study in our examples for a full example that you can easily add as a first component in your study. +Have a look at the [Randomize tasks between workers](/Example-Studies) study in our examples for a full example that you can easily add as a first component in your study. ## 2. Run cross-sectional designs @@ -25,23 +26,23 @@ From the coding perspective, the exact same logic applies as for point 1. But pl ## 3. Write longitudinal studies -You might want to collect data from the same participant multiple times and, crucially, be able to link the multiple result data from a single participant. The first thing you need to do is make sure that the same *person* is assigned a single, unique ID. There are several options for this, and your exact solution may depend on how you are recruiting participants. +You might want to collect data from the same participant multiple times and, crucially, be able to link the multiple result data from a single participant. The first thing you need to do is make sure that the same person is assigned a single, unique ID. There are several options for this, and your exact solution may depend on how you are recruiting participants. ### Using Personal Multiple study links -If your sample size is relatively small and it is logistically doable, you could send individualized [Personal Multiple study links](Run-your-Study-with-Study-Links.html) to each participant. If a participant runs a study with this study link, JATOS will assign them a unique number. You can access the worker ID in your JavaScript through [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid) from the _jatos.js_ library. +If your sample size is relatively small and it is logistically doable, you could send individualized [Personal Multiple study links](Run-your-Study-with-Study-Links.html) to each participant. If a participant runs a study with this study link, JATOS will assign them a unique number. You can access the worker ID in your JavaScript through [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid) from the _jatos.js_ library. ### Using MTurk -If you are recruiting participants through a MTurk, it's straightforward: You can access MTurk's worker ID in your JavaScript through `jatos.urlQueryParameters.workerId`. Alternatively you can also use JATOS' [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid). +If you are recruiting participants through a MTurk, it's straightforward: You can access MTurk's worker ID in your JavaScript through `jatos.urlQueryParameters.workerId`. Alternatively you can also use JATOS' [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid). ### Using Prolific -If you are usning Prolific to recruit participants, it's a bit more complicated. To access the worker ID, you first need to tell Prolific to include it in their query parameters. In Prolific, go to Study Settings and enable the option to include special query parameters in the URL. +If you are using Prolific to recruit participants, it's a bit more complicated. To access the worker ID, you first need to tell Prolific to include it in their query parameters. In Prolific, go to Study Settings and enable the option to include special query parameters in the URL. ![Prolific Screenshot](/img/Screenshot_ExtendURL_Prolific.png) -If you select these options in Prolific, you'll be able to collect the Prolific ID from your JavaScript by using `jatos.urlQueryParameters`, e.g. +If you select these options in Prolific, you'll be able to collect the Prolific ID from your JavaScript by using `jatos.urlQueryParameters`, e.g. ```javascript var prolificPid = jatos.urlQueryParameters.PROLIFIC_PID; @@ -49,7 +50,7 @@ var prolificPid = jatos.urlQueryParameters.PROLIFIC_PID; ### Using a General Multiple link with IDs assigned to individual workers -If you want a large sample of participants recruited outside of a marketplace (i.e. if you are using a [General Multiple link](Worker-Types.html#-general-multiple-worker), you could provide each new participant with a unique ID that they then have to store and provide (manually) in the following session. Note that, when a participant runs a study with a General Single JATOS stores cookies on their browser to prevent them from taking part twice in the same study. But these cookies are minimal and not intended to be used to identify participants or to link a browser to any given result data. +If you want a large sample of participants recruited outside of a marketplace (i.e. if you are using a [General Multiple link](Worker-Types.html#-general-multiple-worker), you could provide each new participant with a unique ID that they then have to store and provide (manually) in the following session. Note that, when a participant runs a study with a General Single JATOS stores cookies on their browser to prevent them from taking part twice in the same study. But these cookies are minimal and not intended to be used to identify participants or to link a browser to any given result data. ## Store bits of result data that are necessary for future sessions diff --git a/docs/Run_your_study/Deploy-to-a-server-installation.md b/docs/Run_your_study/Deploy-to-a-server-installation.md index 965fde874d..ddb9e7f1e4 100644 --- a/docs/Run_your_study/Deploy-to-a-server-installation.md +++ b/docs/Run_your_study/Deploy-to-a-server-installation.md @@ -3,13 +3,14 @@ title: Deploy to a server installation slug: /Deploy-to-a-server-installation.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; -Usually you conveniently develop your study on your local computer where you have a [local installation of JATOS](Installation.html). Then just use the export and import buttons in your installations to transfer the study to your [JATOS server](Bring-your-JATOS-online.html). +Usually you conveniently develop your study on your local computer where you have a [local installation of JATOS](Installation.html). Then just use the export and import buttons in your installations to transfer the study to your [JATOS server](Bring-your-JATOS-online.html). If you have a server already, you will need to take your ready-to-run study from your local installation and deploy it to the server. In order to do this: -1. On your *local* JATOS installation, where your study is, click on the study you want to export on the left sidebar. -1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. -1. On your *server* installation, simply click Import. +1. On your **local** JATOS installation, where your study is, click on the study you want to export on the left sidebar. +1. On the Study bar, click Export. A pop-up window will appear. Save the **.jzip** file wherever you like on your computer. +1. On your **server** installation, simply click Import. Here's a little sketch of the same three steps above ![jzip workflow](/img/jzipWorkflow.png) @@ -21,7 +22,7 @@ Here's a little sketch of the same three steps above * A **.jzip** file is a normal .zip file. We just changed the name to make this process clearer. (JATOS users got confused and often tried to unzip the file they had downloaded, add HTML files in it, and re-zip it. This will lead to all sorts of problems. Don't do this. You should do all modifications of files and study properties from the JATOS GUI.) * In the process of exporting/importing you'll transfer all assets of your study (HTML/JS/CSS files, images, audio, etc) contained in the local study folder. You will **not** transfer result data. -* If you want to make changes to a study, we also recommend that you so in the local JATOS. There you have full access to the study assets and can change and edit them easily. Then again you can Export → Import to the JATOS server. +* If you want to make changes to a study, we also recommend that you so in the local JATOS. There you have full access to the study assets and can change and edit them easily. Then again you can ExportImport to the JATOS server. diff --git a/docs/Run_your_study/End-page-after-your-study-finished.md b/docs/Run_your_study/End-page-after-your-study-finished.md index c56887082f..7b5f2a0c46 100644 --- a/docs/Run_your_study/End-page-after-your-study-finished.md +++ b/docs/Run_your_study/End-page-after-your-study-finished.md @@ -3,19 +3,20 @@ title: End page - After your study finished slug: /End-page-after-your-study-finished.html sidebar_position: 9 --- +import Hl from '@site/src/components/Highlight'; By default JATOS just shows the text "**This study is finished. Thank you for your participation.**" in English language, with no special formatting, after a study finshed. Maybe you want a different language or add a logo and different text or styling, then read on. ### 1. endPage.html -If you include a file named '_endPage.html_' in your study assets folder along with your other study's files, JATOS will automatically redirect to this page after the study finished. +If you include a file named **'_endPage.html_'** in your study assets folder along with your other study's files, JATOS will automatically redirect to this page after the study finished. -**Hint 1:** Be aware that in the '_endPage.html_' you cannot load or use any other files from the study assets folder. Because the study is already finished, JATOS won't allow you to access any other file from this folder, or from any of the JATOS sessions (study, batch and group) out of security reasons. Of course this doesn't prevent you from loading images or libraries (or any other resource) directly from the internet. +**Hint 1:** Be aware that in the **'_endPage.html_'** you cannot load or use any other files from the study assets folder. Because the study is already finished, JATOS won't allow you to access any other file from this folder, or from any of the JATOS sessions (study, batch and group) out of security reasons. Of course this doesn't prevent you from loading images or libraries (or any other resource) directly from the internet. -**Hint 2:** If you run the study with an **MTurk Worker** then you probably want to show the confirmation code to your worker. This is passed on to the _endPage.html_ in a cookie with the name *JATOS_CONFIRMATION_CODE*. +**Hint 2:** If you run the study with an MTurk Worker then you probably want to show the confirmation code to your worker. This is passed on to the **_endPage.html_** in a cookie with the name *JATOS_CONFIRMATION_CODE*. -**Hint 3:** If you run your study with the **JATOS GUI (Run button)** it won't show you the _endPage.html_ but redirect you back to JATOS' GUI instead. +**Hint 3:** If you run your study with the **JATOS GUI (Run button)** it won't show you the **_endPage.html_** but redirect you back to JATOS' GUI instead. ### 2. Study Properties' End Redirect URL @@ -24,9 +25,9 @@ Maybe you want to redirect to a different page, e.g. a Prolific's end page or yo ![screenshot](/img/Screenshot_end-redirect-url.png) -**Hint:** If you run the study with an **MTurk Worker** then you probably want to show the confirmation code to your worker. This is passed on as an URL query parameter *confirmationCode*. +**Hint:** If you run the study with an MTurk Worker then you probably want to show the confirmation code to your worker. This is passed on as an URL query parameter *confirmationCode*. -You can pass on arguments from the original study link URL to redirect URL. Squared brackets in the _End Redirect URL_ indicate that the string between those brackets is a parameter from the original study run link URL and let JATOS replace the the whole _[string]_ by the value of the parameter. +You can pass on arguments from the original study link URL to redirect URL. Squared brackets in the End Redirect URL indicate that the string between those brackets is a parameter from the original study run link URL and let JATOS replace the the whole _[string]_ by the value of the parameter. E.g. @@ -51,4 +52,4 @@ E.g. ### 3. In JavaScript with `jatos.endStudyAndRedirect` or `jatos.endStudyAjax` -If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two _jatos.js_ functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's **last component**. This is the most versatile way. +If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two **_jatos.js_** functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's last component. This is the most versatile way. diff --git a/docs/Run_your_study/Manage-Results.md b/docs/Run_your_study/Manage-Results.md index 60f96565a8..6a038dac02 100644 --- a/docs/Run_your_study/Manage-Results.md +++ b/docs/Run_your_study/Manage-Results.md @@ -3,14 +3,15 @@ title: Manage Results slug: /Manage-Results.html sidebar_position: 8 --- +import Hl from '@site/src/components/Highlight'; ## Results Pages -Once you collected data for a study, you can see and manage the results by clicking on one of the *Results* buttons. +Once you collected data for a study, you can see and manage the results by clicking on one of the Results buttons. ![Results Link](/img/ResultsLink_371.png) -The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. +The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. ![Results View screenshot](/img/ResultsView-Screenshot1.png) @@ -19,14 +20,14 @@ The image below is an example of a study results page, but there are result page ### View Result Data -Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on _show all_ one can see the whole data if it doesn't fit all in the box. +Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on show all one can see the whole data if it doesn't fit all in the box. ![Results View screenshot](/img/ResultsView-Screenshot3.png) ### Selecting Results -There is a checkbox on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. +There is a checkbox on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. ![Results View screenshot](/img/ResultsView-Screenshot2.png) @@ -37,13 +38,13 @@ The filter lets you search all all fields in the results table (the metadata). ![Results View screenshot](/img/ResultsView-Screenshot4.png) -If you type, for example, "Personal Single" in the *Filter* field, only the results ran by a Personal Single worker will appear on the table. You can then click on *Filtered* to select them and export only those results that you're interested in. +If you type, for example, Personal Single in the Filter field, only the results ran by a Personal Single worker will appear on the table. You can then click on Filtered to select them and export only those results that you're interested in. -For more eloborate filtering you can use Regular Expressions. Click on *RegEx* to activate this. +For more eloborate filtering you can use Regular Expressions. Click on RegEx to activate this. -By default filtering in case insensitive but you can turn on case sensitive filtering by clicking on *Aa*. +By default filtering in case insensitive but you can turn on case sensitive filtering by clicking on Aa. -Sometimes the simple filter is not precise enough or you want to combine multiple filters: For those cases the _Filter Builder_ offers complex criteria with logical conjunctions ('and', 'or'). It's also possible to filter for certain dates. +Sometimes the simple filter is not precise enough or you want to combine multiple filters: For those cases the Filter Builder offers complex criteria with logical conjunctions (**'and'**, **'or'**). It's also possible to filter for certain dates. ![Results View screenshot](/img/ResultsView-Screenshot10.png) @@ -52,7 +53,7 @@ Sometimes the simple filter is not precise enough or you want to combine multipl ### Export Result Data -Once you selected the results you're interested in, click *Export Results* and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select *All* to get all result data. +Once you selected the results you're interested in, click Export Results and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select *All* to get all result data. ![Results View screenshot](/img/ResultsView-Screenshot6.png) diff --git a/docs/Run_your_study/Restricting-study-flow.md b/docs/Run_your_study/Restricting-study-flow.md index 3c8a315d6f..45bfdb32b3 100644 --- a/docs/Run_your_study/Restricting-study-flow.md +++ b/docs/Run_your_study/Restricting-study-flow.md @@ -3,6 +3,7 @@ title: Restricting study flow - reloading, linear studies, single-use workers an slug: /Restricting-study-flow.html sidebar_position: 4 --- +import Hl from '@site/src/components/Highlight'; ## Intro: Restricting study flow @@ -11,8 +12,8 @@ Let's first say what we understand under the _study flow_: **Study flow** - the intended order of a study's componenents as they are done by the participants running the study. This doesn't necessarily has to be the order of components like they are defined in the study page, meaning going forward one-by-one - instead the study flow can go backwards to a previous component, go in a loop over several components, or reload the current component. It is even possible to decide on-the-fly in your JavaScripts what the next component will be. In general and by default a component can go to any other component including itself. The _jatos.js_ functions to determine the study flow are `jatos.startNextComponent`, `jatos.startComponentByPos`, `jatos.startLastComponent` and `jatos.startComponent`. **Common restrictions** -- You want to prevent a participant from reloading the same component (by using the browser's reload button). -- You want to ensure a linear study flow and prevent participants from going backwards (by using the browser's back button). +- You want to prevent a participant from reloading the same component (by using the browser's reload button). +- You want to ensure a linear study flow and prevent participants from going backwards (by using the browser's back button). - You want to prevent a participant from running a study twice. - You want to allow participants to first have a peek into a study and preview it without actually starting the study and fully committing to it. @@ -21,42 +22,42 @@ Let's first say what we understand under the _study flow_: ## Allow reload or prevent a reload of the same component -A worker can press their browser's reload button and by default JATOS will respond with the same component again: by default, the worker can do a component multiple times. To prevent this each **component properties** has a checkbox _Allow reload_. +A worker can press their browser's reload button and by default JATOS will respond with the same component again: by default, the worker can do a component multiple times. To prevent this each **component properties** has a checkbox Allow reload. ![GUI Screenshot](/img/component-properties-reload.png) If you want to prevent this behaviour uncheck the box. If a participant reloads the page, they will see an error message. Then the study run will be finished and put to state FAIL. Since each component properties has their own _Allow reload_ checkbox it can be defined differently for each component, e.g. reloading is allowed in the introduction but is prohibited in the actual experiment. -**Hint**: You should tell your workers in your study description if you disable reloads, in order to prevent them from accidentally pressing the reload button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. +**Hint**: You should tell your workers in your study description if you disable reloads, in order to prevent them from accidentally pressing the reload button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. -**Another hint**: The (unchecked) _Allow reload_ and the (checked) _Linear study flow_ properties can be combined to achieve a strictly increasing study flow. +**Another hint**: The (unchecked) Allow reload and the (checked) Linear study flow properties can be combined to achieve a strictly increasing study flow. ## Ensure a linear study flow -A worker can press their browsers back button and by default JATOS will response with the previous component, the one that was done before by the worker. This might allow a worker to divert from the intended study flow. To prevent this each **study properties** has a checkbox _Linear study flow_. +A worker can press their browsers back button and by default JATOS will response with the previous component, the one that was done before by the worker. This might allow a worker to divert from the intended study flow. To prevent this each **study properties** has a checkbox Linear study flow. ![Study Properties Screenshot](/img/study-properties-linear-flow_371.png) If you want to enforce a linear study flow check the box. Then, if a participant tries to go backwards in their browser, they will see an error message instead. The study run will be finished and put to state FAIL. -**Hint**: You should tell your participants in your study's description if you enforce a linear study flow to prevent them from accidentally pressing the back button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. +**Hint**: You should tell your participants in your study's description if you enforce a linear study flow to prevent them from accidentally pressing the back button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. **Another hint**: If you want to loop over components, un-check this box. -**Yet another hint**: The (unchecked) _Allow reload_ and the (checked) _Linear study flow_ properties can be combined to achieve a strictly increasing study flow. +**Yet another hint**: The (unchecked) Allow reload and the (checked) Linear study flow properties can be combined to achieve a strictly increasing study flow. ## Single-use study links - prevent workers running the study twice -Often you want to prevent a participant from running the same study twice. To achieve this use the _single-use_ study link types: _Personal Single_ and _General Single_. +Often you want to prevent a participant from running the same study twice. To achieve this use the single-use study link types: Personal Single and General Single. Read more on the [different worker types available in JATOS](Worker-Types.html) and [about study links](Run-your-Study-with-Study-Links.html). ## Allow preview -Sometimes, when you hand out study links, your participants mindlessly click on the link right away and are not aware that they have already started the study. If they do not intend to run the study right away this is a problem with _single-use_ study links (**General Single** or **Personal Single**). +Sometimes, when you hand out study links, your participants mindlessly click on the link right away and are not aware that they have already started the study. If they do not intend to run the study right away this is a problem with single-use study links (**General Single** or **Personal Single**). ![GUI Screenshot](/img/study-properties-allow-preview-371.png) diff --git a/docs/Run_your_study/Run-your-Study-with-Study-Links.md b/docs/Run_your_study/Run-your-Study-with-Study-Links.md index 3b394d9b55..b71953c8a5 100644 --- a/docs/Run_your_study/Run-your-Study-with-Study-Links.md +++ b/docs/Run_your_study/Run-your-Study-with-Study-Links.md @@ -3,6 +3,7 @@ title: Run your Study with Study Links slug: /Run-your-Study-with-Study-Links.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; Study Links in JATOS is the name of a page where one can generate study links for your particpants to run your study. You can also organize your participants into batches and handle their results there. In earlier versions of JATOS it was called Worker and Batch Manager. @@ -10,14 +11,14 @@ To get to the Study Links page press on the button with the same name in your st ![Study Links Button screenshot](/img/study_links_1.png) -This Study Links page has only one batch, the 'Default' one. A batch can have study links of different type, e.g. Personal Single, Personal Multiple etc: +This Study Links page has only one batch, the Default one. A batch can have study links of different type, e.g. Personal Single, Personal Multiple etc: ![Study Links page screenshot](/img/study_links_2.png) ## Study Links - How to let participants run your study -During development of your study you would usually run it with the "Run" button in the study page. But then, when you are done developing you want to let others run your study - you want participants (or workers as they are called in JATOS) do it. For this JATOS lets you create study links that you can hand out to your workers (e.g. via email or social media). +During development of your study you would usually run it with the Run button in the study page. But then, when you are done developing you want to let others run your study - you want participants (or workers as they are called in JATOS) do it. For this JATOS lets you create study links that you can hand out to your workers (e.g. via email or social media). **Generate study links and hand them to your workers** @@ -25,7 +26,7 @@ JATOS has different study link types and each type corresponds to a worker type ![Study Links page screenshot](/img/study_links_3.png) -Click on the "" button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). +Click on the button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). ![Study Links page screenshot](/img/study_links_7.png) @@ -38,14 +39,14 @@ You can de-/activate a study link type by clicking in the checkboxes in the left Personal type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that the links are meant to be handed to individual workers (hence _Personal_). Personal Single links can be used once, whereas Personal Multiple can be used many times. -After clicking the Study Links button you get a new window where you can create and manage the study links of this type. +After clicking the Study Links button you get a new window where you can create and manage the study links of this type. ![Study Links page screenshot](/img/study_links_11.png) -1. This button creates one study link without a comment. This button is a shortcut to the 'New Study Links' button. +1. This button creates one study link without a comment. This button is a shortcut to the New Study Links button. 1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. 1. This is the study code. [You can hand this to your workers](Run-your-Study-with-Study-Links.html#study-code--study-entry-page). -1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. +1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The Open Directly link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The Confirm First lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. 1. Use this checkbox to de-/activate a single study link. A deactivated study link can not be used to start a study run (but an already started study run can continue to run). ![Study Links page screenshot](/img/study_links_14.png) @@ -59,11 +60,11 @@ Use QR codes to make your study easier accessible with mobile phones. E.g. copy+ General type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that all workers (or at least many) get the same link (hence _General_). The General Single link can be used once whereas General Multiple can be used many times. -Due to the nature of these types there is only one study link per type. Click on the button Study Link to get it. +Due to the nature of these types there is only one study link per type. Click on the button Study Link to get it. ![Study Links page screenshot](/img/study_links_15.png) -There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. +There are two links that can be toggled by a button: 1) [The Open Directly link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The Confirm First lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. ### MTurk type links @@ -85,12 +86,12 @@ A study run can be started in JATOS in slightly different ways: ### Start directly with a study link -If you toogle the Study Link(s) button to 'Open Directly' the generated link will start the study run directly without any intermediate steps like the Study Entry page. The study link has the format `https://my.jatos.server/publix/study-code`, e.g. `https://cortex.jatos.org/publix/GwtCkuCY4bM`. This is fast for the participant but has the disadvantage that if they click the study link accidentally, at least if it is a single-use link (Personal Single or General Single), it will be invalidated and the participant is not allowed to run the study again (not without handing them a new study link). +If you toogle the Study Link(s) button to 'Open Directly' the generated link will start the study run directly without any intermediate steps like the Study Entry page. The study link has the format `https://my.jatos.server/publix/study-code`, e.g. `https://cortex.jatos.org/publix/GwtCkuCY4bM`. This is fast for the participant but has the disadvantage that if they click the study link accidentally, at least if it is a single-use link (Personal Single or General Single), it will be invalidated and the participant is not allowed to run the study again (not without handing them a new study link). ### Study link + Study Entry page for confirmation -If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the '' button start the actual study run. +If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the button start the actual study run. This is how the Study Entry page might look like (you can customize the message): @@ -98,7 +99,7 @@ This is how the Study Entry page might look like (you can customize the message) The study link has the format `https://my.jatos.server/publix/run?code=study-code`, e.g. `https://cortex.jatos.org/publix/run?code=GwtCkuCY4bM`. As you can see it uses the URL query parameter 'code' to pass on the study code. -The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the '' button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. +The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. #### Customization of the message @@ -109,7 +110,7 @@ By default the message on the Study Entry page is something like 'Press ' button the study starts: +It will show a field where the study code can be entered. And after pressing the button the study starts: ![Study Entry page screenshot](/img/study_entry_page_3.png) @@ -126,12 +127,12 @@ Each study comes with a "Default" batch (although it can be renamed in its batch ![Study Links page screenshot](/img/study_links_12.png) -You can **deactivate** or **activate** a batch by clicking on the checkbox button in each batch row. A deactivated batch doesn't allow any study runs. +You can **deactivate** or **activate** a batch by clicking on the checkbox button in each batch row. A deactivated batch doesn't allow any study runs. ### Batch Properties -Each batch has properties that can be changed: click on the Batch Properties button in each batch's row. +Each batch has properties that can be changed: click on the Batch Properties button in each batch's row. ![Study Links page screenshot](/img/study_links_13.png) diff --git a/docs/Run_your_study/Tips-and-Tricks.md b/docs/Run_your_study/Tips-and-Tricks.md index ac737ea0c2..ff25b72d59 100644 --- a/docs/Run_your_study/Tips-and-Tricks.md +++ b/docs/Run_your_study/Tips-and-Tricks.md @@ -3,6 +3,7 @@ title: Tips & Tricks slug: /Tips-and-Tricks.html sidebar_position: 11 --- +import Hl from '@site/src/components/Highlight'; ### Batch and Group Session do not work on Windows without HTTPS @@ -73,7 +74,7 @@ If the `jatos.abortStudy` function is called (usually after the worker clicks a ### How to let a Personal Single Worker redo his study? -A Personal Single Worker is only allowed to run their study once. But sometimes you want to allow them to do it a second time (maybe they accidentally clicked the 'Cancel' button). One way would be to just create another Personal Single Link and hand it to the worker. But there is another way without creating a second Link: you can simply delete the worker's result from one of the result pages. This will allow this Personal Single worker to redo this study. +A Personal Single Worker is only allowed to run their study once. But sometimes you want to allow them to do it a second time (maybe they accidentally clicked the Cancel button). One way would be to just create another Personal Single Link and hand it to the worker. But there is another way without creating a second Link: you can simply delete the worker's result from one of the result pages. This will allow this Personal Single worker to redo this study. ### Simulate slow network @@ -85,6 +86,6 @@ Problem: The study runs fine, but as soon as one distributes links for Personal The reason for this behaviour is that some of those tools open links that are posted in them before your participant can click on them. They do this to provide more information about the link, like a title and an image. Usually this is fine but Personal/General Single links work exactly once (if preview is not allowed) and a second request with the same link just responses with the forementioned error message. -1. Use [study links with confirmation](Run-your-Study-with-Study-Links.html#study-links---how-to-let-participants-run-your-study) - Choose the study link version with the button 'Confirm First'. This link shows a 'study entry' page before the actual study starts. This page can be opened many times. +1. Use [study links with confirmation](Run-your-Study-with-Study-Links.html#study-links---how-to-let-participants-run-your-study) - Choose the study link version with the button Confirm First. This link shows a 'study entry' page before the actual study starts. This page can be opened many times. 1. [Allow preview](Restricting-study-flow.html#allow-preview) - You can keep using Personal/General Single links and use a [preview link](Restricting-study-flow.html#preview-links) to allow opening the first component of your study as many times as one wishes. All following components can be opened only once again. diff --git a/docs/Run_your_study/Worker-Types.md b/docs/Run_your_study/Worker-Types.md index 97c3876fd4..0e764592f1 100644 --- a/docs/Run_your_study/Worker-Types.md +++ b/docs/Run_your_study/Worker-Types.md @@ -3,6 +3,7 @@ title: Worker Types slug: /Worker-Types.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; ### Overview Following Amazon Mechanical Turk’s terminology, a worker in JATOS is a person who runs a study. Different worker types access a study in different ways. For example, some workers can run the same study multiple times, whereas others can do it only once. @@ -23,7 +24,7 @@ Following Amazon Mechanical Turk’s terminology, a worker in JATOS is a person **Jatos workers can run any study as many times as they want.** -Jatos workers run a study (or any of its components individually) by clicking on the _Run_ buttons in the GUI. Jatos workers are usually the **researchers trying out their own studies**. Each JATOS user (i.e., anybody with a JATOS login) has their own Jatos worker. They are not meant to be used by participants. +Jatos workers run a study (or any of its components individually) by clicking on the Run buttons in the GUI. Jatos workers are usually the **researchers trying out their own studies**. Each JATOS user (i.e., anybody with a JATOS login) has their own Jatos worker. They are not meant to be used by participants. ### Personal Single Worker diff --git a/docs/Serving_the_Internet/Customize-JATOS-Home-Page.md b/docs/Serving_the_Internet/Customize-JATOS-Home-Page.md index 4392931535..bf9745fe08 100644 --- a/docs/Serving_the_Internet/Customize-JATOS-Home-Page.md +++ b/docs/Serving_the_Internet/Customize-JATOS-Home-Page.md @@ -3,6 +3,7 @@ title: Customize JATOS' Home Page slug: /Customize-JATOS-Home-Page.html sidebar_position: 12 --- +import Hl from '@site/src/components/Highlight'; ## Link to Terms of Use @@ -31,7 +32,7 @@ This welcome block can be fetched from **any HTTP server** that is able to serve ### With GitHub 1. Go to [https://github.com/JATOS/customized-home-page-template](https://github.com/JATOS/customized-home-page-template) -1. Click 'Use this template' button to create a copy of this repository +1. Click Use this template button to create a copy of this repository 1. Change the content of `foobar-university-welcome.html` to your needs 1. Add necessary files (e.g. logo images) to your repository 1. Configure JATOS: In your JATOS installation folder edit `conf/production.conf` - add `jatos.brandingUrl`: diff --git a/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md b/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md index 4afae3f9eb..4520177c32 100644 --- a/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md +++ b/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md @@ -3,6 +3,7 @@ title: JATOS on DigitalOcean slug: /JATOS-on-DigitalOcean.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; On this page we want to explain how to install JATOS on a server running on DigitalOcean. We tried to keep this tutorial as easy as possible: if everything runs smoothly you don't have to use the terminal at all. @@ -44,7 +45,7 @@ First we want to set up a simple JATOS server without encryption (HTTPS) or a do 1. [Optional] Add backups -1. Finally click the _Create_ button +1. Finally click the Create button 1. Try out your JATOS: Now the server is being created which can take a couple seconds (or minutes). Copy the server's (aka Droplet) IP address into your browser's address bar and if everything went well, you will see a JATOS login screen. diff --git a/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md b/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md index 7c6236bb7b..ef21972c92 100644 --- a/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md +++ b/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md @@ -3,6 +3,7 @@ title: Adapt pre written code to run it in JATOS slug: /Adapt-pre-written-code-to-run-it-in-JATOS.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; **Make Your Existing Code Run in JATOS - or How To Jatosify a Study** @@ -12,7 +13,7 @@ You might have a task, experiment, survey, or study running in a browser. You mi ### Create the study in your local JATOS -1. Create a new study with the '**New Study**' button in JATOS' header. Choose a study title and a folder name. Leave the other fields empty for now and click 'Create'. JATOS will have created a new folder within your assets root folder (default is `/path_to_your_JATOS/study_assets_root/`). +1. Create a new study with the New Study button in JATOS' header. Choose a study title and a folder name. Leave the other fields empty for now and click 'Create'. JATOS will have created a new folder within your assets root folder (default is `/path_to_your_JATOS/study_assets_root/`). 1. Copy all your files (HTML, JavaScripts, images, audio, ...) into your new study folder. 1. Back in the JATOS GUI, and within the newly created study, create a **new component** by clicking 'Components' and then 'New'. Choose a component title and set the HTML file name, to the name of the HTML file you just copied into the study folder. 1. In your HTML, CSS and JavaScripts, for your paths you can choose between 1) relative paths or 2) absolute paths. **Relative paths are recommended** since they are shorter and do not change after an export-import of a study. @@ -42,7 +43,7 @@ You might have a task, experiment, survey, or study running in a browser. You mi ✰ For absolute paths make sure you understand the difference between the `study_assets_root` folder and the placeholder `study_assets` in your path names. `study_assets_root` is the folder in your system (or in the server) where the assets (HTML, JS, CSS, images, etc) of **all** your JATOS studies will be stored. You can [configure](Configure-JATOS-on-a-Server.html#study-assets-root-path) the location of this folder. `study_assets`, on the other hand, is just a placeholder that will go in your HTML files. JATOS will interpret this and replace the placeholder with the path, (specific to the study) that you entered in the field 'Study assets directory name' in your Study's Properties. The advantage of this is that you can change the location or name of the assets for any study, or export-import a study into a different computer, and the study will still run without having to make any changes in the HTML code. -1. Now it's time for a first glimpse: Click the '**Run**' button in either the study's or the component's toolbar. Your experiment should run like it did before without JATOS. Use the browser's developer tools to check for eventually missing files and other occurring errors. +1. Now it's time for a first glimpse: Click the Run button in either the study's or the component's toolbar. Your experiment should run like it did before without JATOS. Use the browser's developer tools to check for eventually missing files and other occurring errors. ### Edit your HTML and JavaScript @@ -108,4 +109,4 @@ That's about it. Infos about other _jatos.js_ functions and variables you can fi * Think about dividing your study into **several components**. You could have separate components e.g. for introduction, training, experiment and feedback. You could even consider splitting the experiment into several parts. One advantage is that if your participant stops in the middle of your study you still have the result data of the first components. Also, you can re-use components in different studies. * Use the study's and component's '**JSON input data**'. With them you can change variables of your code directly through JATOS' GUI, which might come handy if someone isn't good in JavaScript. -* You can add a **quit button** to your study to allow the participant to [abort at any time](Data-Privacy-and-Ethics.html#things-you-should-consider-in-your-studies). +* You can add a quit button to your study to allow the participant to [abort at any time](Data-Privacy-and-Ethics.html#things-you-should-consider-in-your-studies). diff --git a/docs/Write_your_study/Change-studys-members.md b/docs/Write_your_study/Change-studys-members.md index f22ce8d886..d35de3bd5e 100644 --- a/docs/Write_your_study/Change-studys-members.md +++ b/docs/Write_your_study/Change-studys-members.md @@ -3,12 +3,13 @@ title: Change study's members slug: /Change-studys-members.html sidebar_position: 7 --- +import Hl from '@site/src/components/Highlight'; Each experimenter with access to the JATOS server (though the GUI) is a JATOS User. Users can create, modify and delete the studies they are members of. They can also export and delete results. A study in JATOS is allowed to have more than one users, also called members. Each member has the same rights, e.g. can run the study, create new Workers, add/change/delete components, export/delete results. Especially each member can add new members or remove existing members. -Each study has a **Change Users** button in its study toolbar. +Each study has a Change Users button in its study toolbar. ![Change study's members button](/img/change_studys_members_button.png) @@ -16,7 +17,7 @@ In this menu you can add single users by their username. Of course this works on A single user is removed by unchecking the checkbox in front of its name. -Additionally it is possible, if your admins allow it, to add all JATOS users at once or remove all members at once. Then you will see the _Add All_ and _Remove All_ buttons. +Additionally it is possible, if your admins allow it, to add all JATOS users at once or remove all members at once. Then you will see the Add All and Remove All buttons. ![Change study's members](/img/change_studys_members.png) diff --git a/docs/Write_your_study/Create-a-new-study.md b/docs/Write_your_study/Create-a-new-study.md index 098e9f841c..e061de4159 100644 --- a/docs/Write_your_study/Create-a-new-study.md +++ b/docs/Write_your_study/Create-a-new-study.md @@ -3,6 +3,7 @@ title: Create a new study slug: /Create-a-new-study.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; There are different ways to create a new study for JATOS: use a builder, with jsPsych, from scratch or by modifying an existing study. Then afterwards continue with [Write your own Study - Basics and Beyond](Write-your-own-Study-Basics-and-Beyond.html) or [Adapt Pre written Code to run it in JATOS](Adapt-pre-written-code-to-run-it-in-JATOS.html). @@ -23,11 +24,11 @@ Experiment builders like [OpenSesame/OSWeb](OSWeb-and-JATOS.html) and [lab.js](l Writing your own study gives your the most freedom since it allows you to do whatever is possible in a modern browser. But you will have to program your own code in JavaScript, HTML and CSS. -Press the **New Study** button in the header of your local JATOS. Then edit the study properties and add new components manually. All source code for your study has to got into the study assets folder you defined in the the study properties. The study assets folder is usually located in your JATOS installation folder. +Press the New Study button in the header of your local JATOS. Then edit the study properties and add new components manually. All source code for your study has to got into the study assets folder you defined in the the study properties. The study assets folder is usually located in your JATOS installation folder. ### Modify an existing study -Take an existing study (e.g. from [Example Studies](/Example-Studies)) as a prototype and modify it bit by bit. Press on the **Import** button in the header and select the file of the study. Then see the source code in your study assets folder, which is usually in your JATOS installation folder. +Take an existing study (e.g. from [Example Studies](/Example-Studies)) as a prototype and modify it bit by bit. Press on the Import button in the header and select the file of the study. Then see the source code in your study assets folder, which is usually in your JATOS installation folder. diff --git a/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md b/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md index 823572bd0e..893a805463 100644 --- a/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md +++ b/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md @@ -3,6 +3,7 @@ title: Write your own Study - Basics and Beyond slug: /Write-your-own-Study-Basics-and-Beyond.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; After you [created a new study](Create-a-new-study.html) ... what comes next? @@ -21,7 +22,7 @@ Then in the following form you define the component's properties: enter the comp ![New Component](/img/Screenshot_new-component-properites.png) -Click on 'Create' and you are done. If you add more than one component you can change the order in which they run by drag-and-drop on the position button. +Click on Create and you are done. If you add more than one component you can change the order in which they run by drag-and-drop on the position button. ## Mandatory lines in your components' HTML diff --git a/docs/Write_your_study/jsPsych-and-JATOS.md b/docs/Write_your_study/jsPsych-and-JATOS.md index 3cb2a27557..3281887739 100644 --- a/docs/Write_your_study/jsPsych-and-JATOS.md +++ b/docs/Write_your_study/jsPsych-and-JATOS.md @@ -4,6 +4,7 @@ slug: /jsPsych-and-JATOS.html hide_table_of_contents: true sidebar_position: 4 --- +import Hl from '@site/src/components/Highlight';
@@ -35,7 +36,7 @@ Every jsPsych version works slightly different. Here we explain the steps for js }); ~~~ -1. Wrap jsPsych's run in `jatos.onLoad` and if you want add a 'Cancel' button with `jatos.addAbortButton`. +1. Wrap jsPsych's run in `jatos.onLoad` and if you want add a Cancel button with `jatos.addAbortButton`. ~~~ javascript jatos.onLoad(() => { @@ -44,4 +45,4 @@ Every jsPsych version works slightly different. Here we explain the steps for js }); ~~~ -That's all. Have a look at the 'Simple Reaction Time Task' in our [example studies](/Example-Studies) to see a full example with jsPsych 7. \ No newline at end of file +That's all. Have a look at the Simple Reaction Time Task in our [example studies](/Example-Studies) to see a full example with jsPsych 7. \ No newline at end of file diff --git a/src/pages/Example-Studies.md b/src/pages/Example-Studies.md index ac4627c47e..a18df97fc5 100644 --- a/src/pages/Example-Studies.md +++ b/src/pages/Example-Studies.md @@ -4,6 +4,8 @@ keywords: example studies, jspsych, lab.js, labjs, osweb, opensesame, javascript slug: /Example-Studies.html hide_table_of_contents: true --- +import Hl from '@site/src/components/Highlight'; + # Example Studies **summary:** These study examples will (hopefully) be a helpful starting point for you to write your own studies. They also show how different client-side frameworks integrate with JATOS, and illustrate (e.g.) how to easily import/export studies, how to store and show results, and how to do messaging in group studies. @@ -32,7 +34,7 @@ If you wrote an example study that you'd like to share, please feel free to [con | [p5.js 2D Graphics Showcase](https://github.com/JATOS/JATOS_examples/raw/master/examples/p5.js_examples.jzip) ∗ | [p5.js](https://p5js.org/) is a graphics library to easily create 2D and 3D graphics without deeper knowledge of how those graphics are rendered. Additionally one can add user interaction, video, sound, or capture from the webcam or the mic. Have a look at their [example section](https://p5js.org/examples/). | [p5.js](https://p5js.org/) | - |
![](/img/example-studies/p5-js-screenshot5.gif)
| | [Video](https://github.com/JATOS/JATOS_examples/raw/master/examples/video_example_study.jzip) | Shows how to embed a video with HTML 5 by using the browsers video player, YouTube, or the [video.js](http://www.videojs.com/) JavaScript library. | - | - |
![](/img/example-studies/Screenshot_videoExample2.png)
| | [Results in CSV](https://github.com/JATOS/JATOS_examples/raw/master/examples/results_as_csv_example.jzip) | Simple example of how to store results in CSV format. | - | - |
![](/img/example-studies/Screenshot_csv_example.png)
| -| [Simple Consent Form](https://github.com/JATOS/JATOS_examples/raw/master/examples/consent_form.jzip) | Simple example of a consent form with text and buttons ‘I agree’ and ‘Cancel’. | - | - |
![](/img/example-studies/Screenshot_consent_form.png)
| +| [Simple Consent Form](https://github.com/JATOS/JATOS_examples/raw/master/examples/consent_form.jzip) | Simple example of a consent form with text and buttons I agree and Cancel. | - | - |
![](/img/example-studies/Screenshot_consent_form.png)
| | [Introduction and Consent with Preview Feature](https://github.com/JATOS/JATOS_examples/raw/master/examples/consent_form_and_introduction_with_preview_feature.jzip) | This mobile-friendly example just has an introduction component that includes a consent text. | - | [Preview links](Restricting-study-flow.html#preview-links) |
![](/img/example-studies/Screenshot_preview_showcase.png)
| | [Prolific Example](https://github.com/JATOS/JATOS_examples/raw/master/examples/prolific_example.jzip) § | Example on how to redirect in the end of the study back to Prolific | - | - |
![](/img/example-studies/Screenshot_consent_form.png)
| | [2048 Game](https://github.com/JATOS/JATOS_examples/raw/master/examples/2048.jzip) | This addictive game is created by [Gabriele Cirulli](https://github.com/gabrielecirulli/2048). | - | - |
![](/img/example-studies/Screenshot_2048Game.png)
| diff --git a/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md b/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md index 6b52e88856..353e4f0cf5 100644 --- a/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md +++ b/versioned_docs/version-3.7.1/Group_studies/Example-Group-Studies.md @@ -3,23 +3,24 @@ title: Example Group Studies slug: /Example-Group-Studies.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; -In group studies, the workers that are part of a group can communicate with each other. JATOS supports different kinds of groups. A group can e.g. have a fixed set of workers like this [Prisoner's Dilemma](/Example-Studies) where exactly two workers play with each other. On the other side of the spectrum is this [Snake game](/Example-Studies) with an on open, multi-worker approach. +In group studies, the workers that are part of a group can communicate with each other. JATOS supports different kinds of groups. A group can e.g. have a fixed set of workers like this [Prisoner's Dilemma](/Example-Studies) where exactly two workers play with each other. On the other side of the spectrum is this [Snake game](/Example-Studies) with an on open, multi-worker approach. **How can you try-out a group-study if you're alone but want to simulate multiple workers?** JATOS allows [up to 10 study runs](Tips-and-Tricks.html#run-up-to-10-studies-in-the-same-browser-at-the-same-time) at the same time in the same browser (JATOS has no limit for different browsers). So you can just start the same (group) study multiple times in your browser and pretend you're multiple workers. -As an example of this, let's go through the Snake Game group study in detail: +As an example of this, let's go through the Snake Game group study in detail: -1. Download and import the [Snake game](/Example-Studies) -1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page -1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. -1. Open a new tab in your browser and paste the study link into the address field. Press 'Enter' and the study should start. +1. Download and import the [Snake game](/Example-Studies) +1. Open the [Study Links](Run-your-Study-with-Study-Links.html) page +1. Now get a study link to start the first Snake game: Click on the Study Links button in line Personal Multiple (other study link types are fine too). In the opened pop-up window click on the top-left button to get a new link and then on in the link's row to copy it to the clipboard. +1. Open a new tab in your browser and paste the study link into the address field. Press Enter and the study should start. 1. Repeat the last step to start a second Snake game. -1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click **Join** and then **Ready**. +1. Now, in both tabs: click through the introduction until you arrive in the waiting room. Click Join and then Ready. 1. Voilà! You'll see two snakes moving around: each tab is running the Snake Game - but they are in the same group. -1. Optional: Have a look at your [Group in the Study Links page](Run-your-Study-with-Study-Links.html#groups) add see who the member workers are. +1. Optional: Have a look at your [Group in the Study Links page](Run-your-Study-with-Study-Links.html#groups) add see who the member workers are. ![Snake example](/img/example-studies/Screenshot_snakeGame.png) diff --git a/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-I-Setup.md b/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-I-Setup.md index 9a8fad3fb2..575d6abd33 100644 --- a/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-I-Setup.md +++ b/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-I-Setup.md @@ -3,14 +3,15 @@ title: Write Group Studies I - Setup slug: /Write-Group-Studies-I-Setup.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; ## Set up group studies -First and common to all group setups is to check the Group study checkbox in the study properties. +First and common to all group setups is to check the Group study checkbox in the study properties. ![Group's property](/img/study-properties-group-study.png) -If the Group property is checked, JATOS will assign workers into groups. We'll describe some group properties that you can use to tweak according to whether you want to keep control over worker assignment, or you give JATOS full control. +If the Group property is checked, JATOS will assign workers into groups. We'll describe some group properties that you can use to tweak according to whether you want to keep control over worker assignment, or you give JATOS full control. ### Group settings in each batch's properties @@ -19,9 +20,9 @@ You can have multiple batches in JATOS, each one with different group settings. ![Study Links screenshot](/img/batch_properties_groups.png) -1. **Max total workers**: This isn't just a properties of group studies. It simply limits the total amount of workers who are allowed to run in this batch. -1. **Max total members**: This limits the number of members a single group can have. While there can be multiple groups in a batch, the _Max total members_ field applies to each separate group. -1. **Max active members**: This limits the number of active members a single group can have. An active member is in the group at this time - in opposite to a past member who already left the group. This number applies to each group separately. Example: In the Prisoner's Dilemma study, you would limit the active members to 2. +1. **Max total workers**: This isn't just a properties of group studies. It simply limits the total amount of workers who are allowed to run in this batch. +1. **Max total members**: This limits the number of members a single group can have. While there can be multiple groups in a batch, the Max total members field applies to each separate group. +1. **Max active members**: This limits the number of active members a single group can have. An active member is in the group at this time - in opposite to a past member who already left the group. This number applies to each group separately. Example: In the Prisoner's Dilemma study, you would limit the active members to 2. By default, all properties have no upper limit. @@ -32,7 +33,7 @@ You can either tell JATOS to assign workers to different groups, or you can keep ### Scenario 1: One group, assign workers manually -If in a batch you set the _Max total worker_ to 2 and leave the other two Max parameters empty, JATOS has no other choice than to allow only 2 workers and sort them into the same group. If you then [create two Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send the links to your two participants, you can be sure that they will interact with each other. If you need more groups, just create a second batch with two other workers. +If in a batch you set the Max total worker to 2 and leave the other two Max parameters empty, JATOS has no other choice than to allow only 2 workers and sort them into the same group. If you then [create two Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send the links to your two participants, you can be sure that they will interact with each other. If you need more groups, just create a second batch with two other workers. ![Prisoners example](/img/prisoners_example.png) @@ -40,11 +41,11 @@ The first two scenarios may apply to the [Prisoner's Dilemma Example Study](/Exa ### Scenario 2: Several groups, let JATOS assign workers -Say you want to have 3 groups with 2 workers each. You want to leave it to JATOS which workers are paired together. Then, set _Max total workers_ to 6 and both _Max active members_ and _Max total members_ to 2 (remember that these numbers apply to each group separately). Then [create 6 Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send them to your 6 participants. +Say you want to have 3 groups with 2 workers each. You want to leave it to JATOS which workers are paired together. Then, set Max total workers to 6 and both Max active members and Max total members to 2 (remember that these numbers apply to each group separately). Then [create 6 Personal Single study links](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and send them to your 6 participants. ### Scenario 3: One open world -This scenario is basically the opposite of the first one. By limiting neither the _Max total worker_ nor the _Max total members_, nor the _Max active members_ JATOS will sort all workers into one single group that is potentially of unlimited size. Now --to keep it completely open-- just [create one study link type General Single](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and publish it (e.g. via a mailing list or on a website). +This scenario is basically the opposite of the first one. By limiting neither the Max total worker nor the Max total members, nor the Max active members JATOS will sort all workers into one single group that is potentially of unlimited size. Now --to keep it completely open-- just [create one study link type General Single](Run-your-Study-with-Study-Links.html) (but other study link types are fine too) and publish it (e.g. via a mailing list or on a website). ![Snake example](/img/snake_example.png) @@ -52,4 +53,4 @@ The third and fourth scenario may apply to the [Snake Example Study](/Example-St ### Scenario 4: Multiple open worlds with limited active members -Say you want to have groups with up to 3 members, interacting _at the same time_. But you don't want to actually limit the total number of members per group: you want to allow new workers to join a group if one of its members left. This way each group can have a flow of workers joining and leaving - the only constraint is the maximum members per group at any given time. You also want to let JATOS set the number of groups depending on the available workers. To set up this just use one batch, set the _Max active members_ to 3, and leave _Max total worker_ and _Max total members_ unlimited. +Say you want to have groups with up to 3 members, interacting _at the same time_. But you don't want to actually limit the total number of members per group: you want to allow new workers to join a group if one of its members left. This way each group can have a flow of workers joining and leaving - the only constraint is the maximum members per group at any given time. You also want to let JATOS set the number of groups depending on the available workers. To set up this just use one batch, set the Max active members to 3, and leave Max total worker and Max total members unlimited. diff --git a/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md b/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md index 8a408bf960..03f2794e41 100644 --- a/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md +++ b/versioned_docs/version-3.7.1/Group_studies/Write-Group-Studies-II-JavaScript-and-Messaging.md @@ -3,10 +3,11 @@ title: Write Group Studies II - JavaScript and Messaging slug: /Write-Group-Studies-II-JavaScript-and-Messaging.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; ## Writing JavaScripts for group studies -Group studies differ from single-worker studies simply in that the JavaScript needs to handle groups and communications between members. The _jatos.js_ library provides some useful functions for this. +Group studies differ from single-worker studies simply in that the JavaScript needs to handle groups and communications between members. The jatos.js library provides some useful functions for this. If you like to dive right into _jatos.js'_ reference: @@ -18,7 +19,7 @@ If you like to dive right into _jatos.js'_ reference: ### Joining a group and opening group channels Workers can only communicate with members of their own group. So, interacting workers must all join the same group. -**A worker will remain in a group until _jatos.js_ is explicitly told to leave the group (or the study run is finished). This means that if a worker moves between components or reloads a page they will still remain in the same group.** This feature makes groups much more robust. +**A worker will remain in a group until jatos.js is explicitly told to leave the group (or the study run is finished). This means that if a worker moves between components or reloads a page they will still remain in the same group.** This feature makes groups much more robust. So here's how a typical JATOS group study run would look like. This study has three components. @@ -39,7 +40,7 @@ Component 3 Notice that by calling [`jatos.joinGroup`](jatos.js-Reference.html#jatosjoingroup) in the second and third component JATOS does not let workers join a new group but just opens a group channel in the already joined group. To make a worker leave a group, use the function [`jatos.leaveGroup`](jatos.js-Reference.html#jatosleavegroup). -Every know and then you probably would like to know who the members of your groups are. This and other stats you can get by clicking on your batch's [Groups button in the Study Links page](Run-your-Study-with-Study-Links.html#groups). +Every know and then you probably would like to know who the members of your groups are. This and other stats you can get by clicking on your batch's [Groups button in the Study Links page](Run-your-Study-with-Study-Links.html#groups). ### Reassigning to a different group @@ -48,8 +49,8 @@ To move a worker from one group to a different one, use [`jatos.reassignGroup`]( ### Fixing a group -Sometimes you want to stay with the group like it is in this moment and don't let new members join - although it would be allowed according to the group properties. For example in the [Prisoner's Example study](/Example-Studies) after the group is assembled in the waiting room component it is necessary to keep the two members as it is. Even if one of the members leaves in the middle of the game, JATOS shouldn't just assign a new member. To do this you can call _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed). Alternatively you can fix a group in JATOS' GUI, in the -[Groups table in the Study Links page](Run-your-Study-with-Study-Links.html#groups). +Sometimes you want to stay with the group like it is in this moment and don't let new members join - although it would be allowed according to the group properties. For example in the [Prisoner's Example study](/Example-Studies) after the group is assembled in the waiting room component it is necessary to keep the two members as it is. Even if one of the members leaves in the middle of the game, JATOS shouldn't just assign a new member. To do this you can call _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed). Alternatively you can fix a group in JATOS' GUI, in the +[Groups table in the Study Links page](Run-your-Study-with-Study-Links.html#groups). ## Communication between group members @@ -57,10 +58,10 @@ Sometimes you want to stay with the group like it is in this moment and don't le JATOS provides three ways for communicating within the group: direct messaging, broadcast messaging and with the Group Session. ### Direct messaging -Members can send direct messages to a single other member of the same group with the [`jatos.sendGroupMsgTo`](jatos.js-Reference.html#jatossendgroupmsgto) function. Like broadcast messaging this way of group communication is fast but can be unreliable in case of an unstable network connection. We use direct messaging in the [Snake example](/Example-Studies) to send the coordinates of the snakes on every step. Here, speed is more critical than reliability in the messages, because a few dropped frames will probably go unnoticed. +Members can send direct messages to a single other member of the same group with the [`jatos.sendGroupMsgTo`](jatos.js-Reference.html#jatossendgroupmsgto) function. Like broadcast messaging this way of group communication is fast but can be unreliable in case of an unstable network connection. We use direct messaging in the [Snake example](/Example-Studies) to send the coordinates of the snakes on every step. Here, speed is more critical than reliability in the messages, because a few dropped frames will probably go unnoticed. ### Broadcast messaging Members can send messages to all other members of the same group with the [`jatos.sendGroupMsg`](jatos.js-Reference.html#jatossendgroupmsg) function. Like direct messaging this way of group communication is fast but can be unreliable in case of an unstable network connection. ### Group session -The Group Session is one of the [three types of session that JATOS provides](Session-Data-Three-Types.html). Members can access the Group Session data with the [Group Session functions](jatos.js-Reference.html#functions-to-access-the-group-session). The Group Session data are stored in JATOS' database **only while the group is active. It is deleted when the group is finished.** Communication via Group Session is slower, but more reliable than group messaging. If one member has an unstable internet connection or does a page reload, the Group Session will be automatically restored after the member reopens the group channel. Workers communicate via the Group Session data in the [Prisoner's Example study](/Example-Studies), because here one dropped message would lead to important information loss. +The Group Session is one of the [three types of session that JATOS provides](Session-Data-Three-Types.html). Members can access the Group Session data with the [Group Session functions](jatos.js-Reference.html#functions-to-access-the-group-session). The Group Session data are stored in JATOS' database **only while the group is active. It is deleted when the group is finished.** Communication via Group Session is slower, but more reliable than group messaging. If one member has an unstable internet connection or does a page reload, the Group Session will be automatically restored after the member reopens the group channel. Workers communicate via the Group Session data in the [Prisoner's Example study](/Example-Studies), because here one dropped message would lead to important information loss. diff --git a/versioned_docs/version-3.7.1/Manage_your_JATOS/Administration.md b/versioned_docs/version-3.7.1/Manage_your_JATOS/Administration.md index de51a97837..0355af8d03 100644 --- a/versioned_docs/version-3.7.1/Manage_your_JATOS/Administration.md +++ b/versioned_docs/version-3.7.1/Manage_your_JATOS/Administration.md @@ -3,8 +3,9 @@ title: Administration slug: /Administration.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; -On the Administration page [users with admin rights](/User-Manager.html) can get an overview of the studies and users of a JATOS installation. You can see the **logs**, **system info**, or go to the **test page** to check if JATOS runs correctly. It is also the place where **update notifications** appear when a new JATOS version is available and where [admins can trigger an update](/Update-JATOS.html#automatic-updates). +On the Administration page [users with admin rights](/User-Manager.html) can get an overview of the studies and users of a JATOS installation. You can see the logs, system info, or go to the test page to check if JATOS runs correctly. It is also the place where **update notifications** appear when a new JATOS version is available and where [admins can trigger an update](/Update-JATOS.html#automatic-updates). ![Administration screenshot](/img/Screenshot_Administration_371.png) @@ -12,12 +13,12 @@ On the menu you will find links to two additional administration pages: ### User Manager -Manage users, passwords, and rights from here. Find more details on [its documentation page](/User-Manager.html) +Manage users, passwords, and rights from here. Find more details on [Manage JATOS users documentation page](/User-Manager.html) ### Study Administration -By clicking the _Studies_ button you'll get to an overview about all studies that are on the JATOS instance. You'll also see, for each study: whom it belongs to (the study members), how much disk space it takes, and when it was active last. +By clicking the Studies button you'll get to an overview about all studies that are on the JATOS instance. You'll also see, for each study: whom it belongs to (the study members), how much disk space it takes, and when it was active last. **For larger JATOS installation it can take up to a couple minutes to gather all data for this page** @@ -25,9 +26,9 @@ By clicking the _Studies_ button you'll get to an overview about all studies tha The information is displayed in a table with the columns: -* **Active** - In cases where e.g. a study uses to many server resources, an admin can **deactivate** (or activate again) it by clicking the checkbox in the 'Active' column. A deactivated study cannot be started by participants (workers) anymore, but an already started study run can be continued. That means, an admin will not interrupt a participant if they already started doing a study, but no new participants will be able to start it. The study members can still see and edit the study, as well as export its result data. -* **Study Assets Size** - The disk size of all asset files associated to this study (HTML, JS, CSS, images, videos, etc.). -* **Result Count** - The number of study results collected so far on this JATOS instance. -* **Result Data Size** - The size of all result data that are stored in the database. In brackets is the average size per result count. -* **Result File Size** - The size of all result files that are stored in the server's file system. In brackets is the average size per result count. -* **Last Started** - When was this study last started by a participant. +* **Active** - In cases where e.g. a study uses to many server resources, an admin can **deactivate** (or activate again) it by clicking the checkbox in the Active column. A deactivated study cannot be started by participants (workers) anymore, but an already started study run can be continued. That means, an admin will not interrupt a participant if they already started doing a study, but no new participants will be able to start it. The study members can still see and edit the study, as well as export its result data. +* **Study Assets Size** - The disk size of all asset files associated to this study (HTML, JS, CSS, images, videos, etc.). +* **Result Count** - The number of study results collected so far on this JATOS instance. +* **Result Data Size** - The size of all result data that are stored in the database. In brackets is the average size per result count. +* **Result File Size** - The size of all result files that are stored in the server's file system. In brackets is the average size per result count. +* **Last Started** - When was this study last started by a participant. diff --git a/versioned_docs/version-3.7.1/Manage_your_JATOS/Troubleshooting.md b/versioned_docs/version-3.7.1/Manage_your_JATOS/Troubleshooting.md index 15b5563ff0..a8acc2a7a3 100644 --- a/versioned_docs/version-3.7.1/Manage_your_JATOS/Troubleshooting.md +++ b/versioned_docs/version-3.7.1/Manage_your_JATOS/Troubleshooting.md @@ -3,10 +3,11 @@ title: Troubleshooting slug: /Troubleshooting.html sidebar_position: 4 --- +import Hl from '@site/src/components/Highlight'; ### JATOS test page -JATOS comes with build in tests (e.g. WebSockets connections and database connection), but they are only accessible for users with admin rights: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +JATOS comes with build in tests (e.g. WebSockets connections and database connection), but they are only accessible for users with admin rights: go to AdministrationTests and check that all tests are 'OK'. ### Downloading a study / exporting a study fails (e.g. in Safari browsers) @@ -16,18 +17,18 @@ As a default, Safari (and some other browsers) automatically unzips every archiv ### Read log files in the browser -In a perfect world, JATOS always works smoothly and, when it doesn't, it describes the problem in an error message. Unfortunately we aren't in a perfect world: every now and then something will go wrong and you might not get any clear error messages, or no message at all. In these (rare) cases, you can look into JATOS' log files (not to be confused with the [study log](Study-Log.html)) to try to find what the problem might be. You can see and download all log files in the _Administration_ page => _Logs_ (for security reasons, you must be logged in as a user with admin rights). +In a perfect world, JATOS always works smoothly and, when it doesn't, it describes the problem in an error message. Unfortunately we aren't in a perfect world: every now and then something will go wrong and you might not get any clear error messages, or no message at all. In these (rare) cases, you can look into JATOS' log files (not to be confused with the [study log](Study-Log.html)) to try to find what the problem might be. You can see and download all log files in the Administration page => Logs (for security reasons, you must be logged in as a user with admin rights). -* _application.log_ - all JATOS logging -* _loader.log_ - logging during startup with loader -* _update.log_ - logging during updates +* application.log - all JATOS logging +* loader.log - logging during startup with loader +* update.log - logging during updates Alternatively you can read the log files directly on the server. You'll find your logs in `jatos_directory/logs/`. ### A file (library, image, ...) included in the HTML fails to load? -There is a common mistake Windows users make that might prevent files from loading: Any URL or file path in a HTML or JS file should only use '/' as a file path separator - even on Windows systems. So it should always be e.g. `` and **not** ``. +There is a common mistake Windows users make that might prevent files from loading: Any URL or file path in a HTML or JS file should only use / as a file path separator - even on Windows systems. So it should always be e.g. `` and **not** ``. ### Database is corrupted? @@ -37,7 +38,7 @@ If you get an error that reads something like: `Error in custom provider, Config There are two reasons why this might be the case: you moved your JATOS folder while it was running or you installed JATOS in a synced folder. To prevent this, be sure to always be careful with the following: 1. **Don't copy or move while JATOS is running** - Always **stop JATOS** (type `./loader.sh stop` in your Linux / Mac OS terminal or close the window on Windows) before moving it. -1. **Don't sync while JATOS is running** - As we mentioned in the [Installation page](Installation.html), you can run JATOS from pretty much anywhere **except** from a folder that syncs across devices, like Dropbox or Google Drive. Doing so might lead to database corruption, because while the files might be synced between computers, the running processes aren't. This will lead to havoc and destruction and, in extreme cases, to the implosion of the known Universe. You can find in our [blog post](http://blog.jatos.org/Database_Recovery/) a description of an attempt to recover a corrupted database. Didn't work. +1. **Don't sync while JATOS is running** - As we mentioned in the [Installation page](Installation.html), you can run JATOS from pretty much anywhere **except** from a folder that syncs across devices, like Dropbox or Google Drive. Doing so might lead to database corruption, because while the files might be synced between computers, the running processes aren't. This will lead to havoc and destruction and, in extreme cases, to the implosion of the known Universe. You can find in our [blog post](http://blog.jatos.org/Database_Recovery/) a description of an attempt to recover a corrupted database. Didn't work. **Of course, this brings us to an important point: back up your result data (i.e., simply download and save your text files) regularly if you're running a study!** diff --git a/versioned_docs/version-3.7.1/Manage_your_JATOS/Update-JATOS.md b/versioned_docs/version-3.7.1/Manage_your_JATOS/Update-JATOS.md index aa8ad57090..f0520d63df 100644 --- a/versioned_docs/version-3.7.1/Manage_your_JATOS/Update-JATOS.md +++ b/versioned_docs/version-3.7.1/Manage_your_JATOS/Update-JATOS.md @@ -3,6 +3,7 @@ title: Update JATOS slug: /Update-JATOS.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; **If you want to update a JATOS server please read [this page](/Updating-a-JATOS-server-installation.html) first.** @@ -17,28 +18,28 @@ You can update your JATOS automatically (if you have **admin rights** and runnin The process is pretty self-explanatory, but anyway, we'll explain it here in detail: -1. You will get a notification on your JATOS' _Administration_ page. +1. You will get a notification on your JATOS' Administration page. ![Update notification Schreenshot](/img/autoupdate-notification.png) 1. We expect no problems, but sh&t happens. We recommend that you **back up your result data, result files, study assets folder and study logs** before continuing. -1. Click on _Update_, confirm that you want to continue and the latest JATOS version will be downloaded from GitHub and saved in your system's temporary folder. Usually the variant downloaded will be the one without bundled Java. Only in cases where JATOS switches to a newer version of Java a bundled version is required [(see below)](#Versions-with-newer-Java-required). The download might take a while depending on your internet connection. -1. After download is complete, you will be asked again for confirmation. By default, JATOS will **back up**: it will copy the content of its own installation folder into a folder with the name _backup_x.x.x_ (x.x.x is the version before the update). This will usually include your embedded H2 database, your study assets and logs - **but not your MySQL database** (should you have one). If anything goes wrong in the auto-update, you have everything in this backup folder to start the old JATOS again. This backup will use up disk space (therefore you can opt out). +1. Click on Update, confirm that you want to continue and the latest JATOS version will be downloaded from GitHub and saved in your system's temporary folder. Usually the variant downloaded will be the one without bundled Java. Only in cases where JATOS switches to a newer version of Java a bundled version is required [(see below)](#Versions-with-newer-Java-required). The download might take a while depending on your internet connection. +1. After download is complete, you will be asked again for confirmation. By default, JATOS will **back up**: it will copy the content of its own installation folder into a folder with the name backup_x.x.x (x.x.x is the version before the update). This will usually include your embedded H2 database, your study assets and logs - **but not your MySQL database** (should you have one). If anything goes wrong in the auto-update, you have everything in this backup folder to start the old JATOS again. This backup will use up disk space (therefore you can opt out). ![Update notification Schreenshot](/img/autoupdate-update-and-restart.png) -1. After clicking the _Go on_ button, JATOS will stop itself, replace its program files and re-start itself again. This might take up to a minute. +1. After clicking the Go on button, JATOS will stop itself, replace its program files and re-start itself again. This might take up to a minute. 1. Refresh your JATOS home page every now and then until you see your updated JATOS' login screen again. -1. Check the new JATOS with the build-in tests: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +1. Check the new JATOS with the build-in tests: go to AdministrationTests and check that all tests are 'OK'. ### Special cases #### Pre-releases (experimental) -Pre-releases will not be available as auto-updates by default. If you want to force this to be the case (and you know what you're doing), append the parameter _allowPreReleases_ to your JATOS home page URL (e.g. _localhost/jatos?allowPreReleases_). +Pre-releases will not be available as auto-updates by default. If you want to force this to be the case (and you know what you're doing), append the parameter allowPreReleases to your JATOS home page URL (e.g. _localhost/jatos?allowPreReleases_). #### Enforce an update to a specified version (experimental) -The parameter _version_ can be added to your JATOS home page URL (e.g. _localhost/jatos?version=v3.6.1_) and takes the version tag as specified in GitHub and enforces an update to this version. This should never be used on a JATOS server that stores any valuable data. +The parameter version can be added to your JATOS home page URL (e.g. _localhost/jatos?version=v3.6.1_) and takes the version tag as specified in GitHub and enforces an update to this version. This should never be used on a JATOS server that stores any valuable data. #### Major updates Auto-updating might not always be possible. JATOS versions will be flagged so that they are not available for auto-update. You'll have to do a [manual update](#Manual-Updates). @@ -58,23 +59,23 @@ You can update your local JATOS instance in two main ways (The procedure is a li If you don't care about result data stored in JATOS: -1. Export any studies you wish to keep from the old JATOS installation. +1. Export any studies you wish to keep from the old JATOS installation. 1. Download and install the new version as if it were a new fresh download. Don't start it yet. 1. Stop the old JATOS and start the new JATOS. -1. Import all the studies your previously exported. This will transfer the files and subfolders in your study's asset folder (HTML, JavaScript, CSS files). +1. Import all the studies your previously exported. This will transfer the files and subfolders in your study's asset folder (HTML, JavaScript, CSS files). **What will be transferred:** -1. Files and subfolders in study's assets folder +1. Files and subfolders in study's assets folder 1. All your studies' and components' properties -1. The **properties** of the first (Default) batch +1. The properties of the first (Default) batch **What will be lost:** -1. **All result data will be lost** -1. All workers in all batches (including Default batch) -1. All batches other than the Default batch -1. All study logs +1. **All result data will be lost** +1. All workers in all batches (including Default batch) +1. All batches other than the Default batch +1. All study logs ### Second way: keeping everything (including your result data) @@ -87,14 +88,14 @@ If you do want to keep your studies, batches, and your result data you'll have t 1. From the folder of your old JATOS installation copy the folders `database` and `study_logs` to the folder of the new JATOS installation. 1. If you had changed the `conf/production.conf` file in your old JATOS instance (for example to set a custom location for your `study_assets_root` folder) you'll have to do this again in the new JATOS version. We recommend re-editing the new version of the file, rather than just overwriting the new with the old version, in case anything in the `production.conf` file has changed. 1. Start the new JATOS (on Unix systems, type `./loader.sh start` on the terminal. On Windows double click the `loader.bat`) -1. Check the build-in tests: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +1. Check the build-in tests: go to AdministrationTests and check that all tests are 'OK'. **What will be transferred:** -1. Files and subfolders in study assets folder -1. All your study and components properties -1. All batches, together with their workers, generated links, and results -1. All study logs +1. Files and subfolders in study assets folder +1. All your study and components properties +1. All batches, together with their workers, generated links, and results +1. All study logs **What will be lost:** nothing diff --git a/versioned_docs/version-3.7.1/Manage_your_JATOS/User-Manager.md b/versioned_docs/version-3.7.1/Manage_your_JATOS/User-Manager.md index d5e2890438..800688b737 100644 --- a/versioned_docs/version-3.7.1/Manage_your_JATOS/User-Manager.md +++ b/versioned_docs/version-3.7.1/Manage_your_JATOS/User-Manager.md @@ -3,32 +3,33 @@ title: Manage JATOS users slug: /User-Manager.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; -Each experimenter with access to the JATOS server (though the GUI) is a JATOS User. Users can create, modify and delete the studies they are members of. They can also export and delete results. Users may also have **admin rights**, which lets them access the _Administration_ page and control other users' access to JATOS. +Each experimenter with access to the JATOS server (though the GUI) is a JATOS User. Users can create, modify and delete the studies they are members of. They can also export and delete results. Users may also have **admin rights**, which lets them access the Administration page and control other users' access to JATOS. ## Manage users -Only users with admin rights have access to the **User Manager** (in the _Administration_ page). From the _User Manager_, admins can create new users or delete existing ones, or change passwords. Admins can also deactivate/activate users and see information about the user's studies. +Only users with admin rights have access to the User Manager (in the Administration_ page). From the User Manager, admins can create new users or delete existing ones, or change passwords. Admins can also deactivate/activate users and see information about the user's studies. -JATOS comes with one **Admin user** out-of-box (username: 'admin'). Admin always has admin rights that cannot be revoked. The initial password for Admin is 'admin' and it should be changed immediately after installation and kept safe! +JATOS comes with one Admin user out-of-box (username: 'admin'). Admin always has admin rights that cannot be revoked. The initial password for Admin is 'admin' and it should be changed immediately after installation and kept safe! -Every user can be granted admin rights, by checking the corresponding box either during creation or in the _Admin_ column of the table. Only admins can access the _Administration_ pages (like _User Manager_ or _Study Info_). +Every user can be granted admin rights, by checking the corresponding box either during creation or in the Admin column of the table. Only admins can access the Administration pages (like User Manager or Study Info). ![User manager screenshot](/img/Screenshot_User_Manager1.png) -A user can be **deactivated** (and activated again) by clicking the checkbox in the 'Active' column. A deactivated user cannot log in anymore but their studies can still be run by participants (to prevent a study from running, deactivate it in the study _Administration_ page). +A user can be deactivated (and activated again) by clicking the checkbox in the Active column. A deactivated user cannot log in anymore but their studies can still be run by participants (to prevent a study from running, deactivate it in the study Administration_ page). -If you're an admin and need to get more information about a user's studies, click on the _Studies_ column. You'll see _Result Data Size_ and _Result File size_, which can give you an idea of how many of the server's resources this user needs. +If you're an admin and need to get more information about a user's studies, click on the Studies column. You'll see Result Data Size and Result File size, which can give you an idea of how many of the server's resources this user needs. ![User manager screenshot](/img/Screenshot_User_Manager2.png) -Clicking on the _Export_ button on the top of the page, you can export user data in CSV format. This is useful to e.g. get a list of emails if you need to notify all users about a server downtime, JATOS update, etc. +Clicking on the Export button on the top of the page, you can export user data in CSV format. This is useful to e.g. get a list of emails if you need to notify all users about a server downtime, JATOS update, etc. ## Authentication via LDAP JATOS allows password authentication via LDAP (which lets an institution manage their users in a centralized way). LDAP is disabled by default. To enable it [change the JATOS config file](Configure-JATOS-on-a-Server.html#ldap-authentication-since-jatos--354). -Once LDAP is enabled, there will be an additional checkbox 'LDAP' on the overlay dialog when an admin creates a new user. Check this box to enforce authentication by LDAP. Normal JATOS users (locally authenticated) and LDAP users can co-exist in the same JATOS instance. +Once LDAP is enabled, there will be an additional checkbox LDAP on the overlay dialog when an admin creates a new user. Check this box to enforce authentication by LDAP. Normal JATOS users (locally authenticated) and LDAP users can co-exist in the same JATOS instance. At the moment it is not possible to let JATOS create LDAP users automatically - they must be created by an JATOS admin manually. diff --git a/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md b/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md index 5543b171cc..b61b1b9936 100644 --- a/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md +++ b/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md @@ -3,6 +3,7 @@ title: Data Privacy and Ethics slug: /Data-Privacy-and-Ethics.html sidebar_position: 7 --- +import Hl from '@site/src/components/Highlight'; ### What does JATOS store? @@ -19,23 +20,23 @@ Here are a few advantages and limitations of JATOS with regards to data privacy. * JATOS' main advantage is that you can store your participants' data in your own server (e.g. at your university). This means that you have full control over the data stored in your database, and no commercial company has access to it. JATOS does not share any data (except of course during a study run with the participant's browsers). Each JATOS installation is completely independent of any other JATOS installation. * By default, JATOS stores the following data: - * time (of the server running JATOS) at which the study -and each of its components- was started and finished - * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) - * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. + * time (of the server running JATOS) at which the study -and each of its components- was started and finished + * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) + * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. * JATOS will **not** store information like IP address or browser type (User-Agent or any other HTTP header field). ### Things you should consider in your studies -* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently _jatos.js_ offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. +* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently jatos.js offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. * Use **encryption** with your [server instance](JATOS-on-a-server.html). Only with encryption no one else in the internet can read the private data from your study's participants. * JATOS will **not** store information like IP address or browser type (nor any other HTTP header field). However, you could access and store this information through your JavaScripts. You could also record whether workers are actively on the browser tab running your study, or whether they have left it to go to another tab, window or program. If you collect any of these data, you should let your workers know. -* Bear in mind: Every file within your study assets folders is public to the Internet. Anybody can in principle read any file in this folder, regardless of how secure your server is. **Thus, you should never store any private data, such as participants' details in the study assets folders.** +* Bear in mind: Every file within your study assets folders is public to the Internet. Anybody can in principle read any file in this folder, regardless of how secure your server is. **Thus, you should never store any private data, such as participants' details in the study assets folders.** -* **Do not store private information in the Batch Session or Group Session.** Both sessions are shared between all members of a batch or group respectively. If you store private data any other member of this batch or group could potentially access it. Since the Study Session is only shared within the same study run it is not a problem to store private information there. +* **Do not store private information in the Batch Session or Group Session.** Both sessions are shared between all members of a batch or group respectively. If you store private data any other member of this batch or group could potentially access it. Since the Study Session is only shared within the same study run it is not a problem to store private information there. ### Cookies used by JATOS @@ -53,26 +54,26 @@ The cookie virtually never expires (actually far in the future, around the year This cookie contains these parameters: -* _studyId_: identifier of the study -* _batchId_: identifier of the batch -* _componentId_: identifier of the component -* _componentPos_: position of the component within the study -* _workerId_: identifier of the worker used internally to identify the worker anonymously -* _workerType_: there are [5 worker types with different use cases in JATOS](Worker-Types.html) -* _componentResultId_: identifier of the component result (a component result is used to store data of the component run) -* _studyResultId_: identifier of the study result (a study result is used to store data of this study run) -* _studyResultUuid_: universial identifier of the study result (a study result is used to store data of this study run) -* _groupResultId_: identifier of the group this worker belongs to (null if it isn't a group study) -* _creationTime_: timestamp (epoch time) of this cookie's creation -* _studyAssets_: name of the directory where the study's assets are stored on the JATOS server -* _jatosRun_: State of a study run with a JatosWorker. If this run doesn't belong to a JatosWorker this field is null. It's mainly used to distinguish between a full study run and just a component run. -* _urlBasePath_: [Base path under which JATOS resides](Configure-JATOS-on-a-Server.html#url-base-path-jatos--v331) +* studyId: identifier of the study +* batchId: identifier of the batch +* componentId: identifier of the component +* componentPos: position of the component within the study +* workerId: identifier of the worker used internally to identify the worker anonymously +* workerType: there are [5 worker types with different use cases in JATOS](Worker-Types.html) +* componentResultId: identifier of the component result (a component result is used to store data of the component run) +* studyResultId: identifier of the study result (a study result is used to store data of this study run) +* studyResultUuid: universial identifier of the study result (a study result is used to store data of this study run) +* groupResultId: identifier of the group this worker belongs to (null if it isn't a group study) +* creationTime: timestamp (epoch time) of this cookie's creation +* studyAssets: name of the directory where the study's assets are stored on the JATOS server +* jatosRun: State of a study run with a JatosWorker. If this run doesn't belong to a JatosWorker this field is null. It's mainly used to distinguish between a full study run and just a component run. +* urlBasePath: [Base path under which JATOS resides](Configure-JATOS-on-a-Server.html#url-base-path-jatos--v331) E.g. `batchId=1&componentId=1&componentPos=1&componentResultId=35&creationTime=1639502424728&studyAssets=jatosjs_test_study&urlBasePath=/&jatosRun=RUN_STUDY&groupResultId=null&studyId=1&studyResultId=33&studyResultUuid=7d5b3da2-b0bf-4e22-98bc-f0e5d7752c00&workerId=1&workerType=Jatos` #### 2. Cookie JATOS_GENERALSINGLE_UUIDS -This cookie is used by JATOS to store which study runs with a [General Single worker](Worker-Types.html#general-single-worker) already happened in this browser. It only stores a list of IDs that universally identifies a study (UUID). +This cookie is used by JATOS to store which study runs with a [General Single worker](Worker-Types.html#general-single-worker) already happened in this browser. It only stores a list of IDs that universally identifies a study (UUID). #### 3. Play Framework session cookie named PLAY_SESSION @@ -84,10 +85,10 @@ The cookie's expires header field is set to Session, which mean that after the b This cookie contains the parameters: -* _username_: username of the logged-in user (often an email) -* _sessionID_: Play's session ID -* _loginTime_: user's login time in the GUI as a timestamp -* _lastActivityTime_: user's last activity time in the GUI as a timestamp +* username: username of the logged-in user (often an email) +* sessionID: Play's session ID +* loginTime: user's login time in the GUI as a timestamp +* lastActivityTime: user's last activity time in the GUI as a timestamp Additionally Play stores a hash of the whole cookie's data to check integrity of the cookie's data. diff --git a/versioned_docs/version-3.7.1/Overview/Get-started.md b/versioned_docs/version-3.7.1/Overview/Get-started.md index dbbd90c996..3fb86e3d74 100644 --- a/versioned_docs/version-3.7.1/Overview/Get-started.md +++ b/versioned_docs/version-3.7.1/Overview/Get-started.md @@ -3,6 +3,7 @@ title: Get started slug: /Get-started.html sidebar_position: 5 --- +import Hl from '@site/src/components/Highlight'; ### Get started in 4 steps @@ -12,33 +13,33 @@ sidebar_position: 5 1. **Download and import an example study** - 1. Download one of the [Example Studies](/Example-Studies), e.g. the 'Go- / No-Go Task' with jsPsych. Do not unzip the downloaded file. + 1. Download one of the [Example Studies](/Example-Studies), e.g. the Go- / No-Go Task with jsPsych. Do not unzip the downloaded file. - 1. Import the study into JATOS: Go to JATOS' GUI in your browser and click on **Import Study** in the header. Choose the .jzip (or .zip) file you just downloaded. The imported study should appear in the sidebar on the left. + 1. Import the study into JATOS: Go to JATOS' GUI in your browser and click on Import Study in the header. Choose the .jzip (or .zip) file you just downloaded. The imported study should appear in the sidebar on the left. 1. **Explore the GUI** In the sidebar click the study to get into the study's page. - To do a test run of the entire study, click on **Run** in the toolbar on top of the page. + To do a test run of the entire study, click on Run in the toolbar on top of the page. If you finished running through the study, you can check the results. - * To see whole-study results, click on the **Results** button on the top of the page. - * To see results from individual components, click on the **Results** buttons on each component's row. + * To see whole-study results, click on the Results button on the top of the page. + * To see results from individual components, click on the Results buttons on each component's row. - For example, you can see each result's details by clicking on the little arrow to the left of its row ([more information on how to mangage results](Manage-results.html)). + For example, you can see each result's details by clicking on the little arrow to the left of its row ([more information on how to mangage results](Manage-results.html)). - _Here's a screenshot of a study's results view:_ + _Here's a screenshot of a study's results view:_ ![Results View screenshot](/img/ResultsView-Screenshot3.png) ### Explore Now it's time to explore a little bit more. -* You can click on any component's position button and drag it to a new position within the study. -* Each component has a **Properties** button. The component's HTML file may read the data in the field 'JSON data'. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. -* Where are the actual HTML, JavaScript, and CSS files? They are the files that actually run your study, so make sure you can locate them. All these files, together with any images, sound files, etc. you might have, are called "Study assets". They will be in `/path_to_my_JATOS/study_assets_root/name_of_my_study/`. +* You can click on any component's position button and drag it to a new position within the study. +* Each component has a Properties button. The component's HTML file may read the data in the field JSON data. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. +* Where are the actual HTML, JavaScript, and CSS files? They are the files that actually run your study, so make sure you can locate them. All these files, together with any images, sound files, etc. you might have, are called Study assets. They will be in `/path_to_my_JATOS/study_assets_root/name_of_my_study/`. _Here's a screenshot of a component's properties view:_ ![GUI screenshot](/img/Component_properties_screenshot_2.png) diff --git a/versioned_docs/version-3.7.1/Overview/Installation.md b/versioned_docs/version-3.7.1/Overview/Installation.md index 1b5d34fa6b..1f5bd24b64 100644 --- a/versioned_docs/version-3.7.1/Overview/Installation.md +++ b/versioned_docs/version-3.7.1/Overview/Installation.md @@ -3,6 +3,7 @@ title: Installation slug: /Installation.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; ### Easy installation on your local computer @@ -12,12 +13,12 @@ A local installation is straightforward. Usually you first develop your study with JATOS on a local computer. Then in a second step you bring it to a server installation of JATOS. -With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. +With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. **For convenience JATOS is available as a bundle with Java.** To run JATOS, you need Java 11 installed on your computer (to be precise, you need a Java Runtime Environment, aka JRE). Chances are, you already have Java installed. To check whether Java is installed on your system, type `java -version` in your terminal (MacOS / Linux) or command window (Windows). -If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. +If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. ### Installation Windows diff --git a/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md b/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md index 998d5ac97b..f91156d815 100644 --- a/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md +++ b/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md @@ -3,6 +3,7 @@ title: Run an experiment with JATOS - Workflow slug: /Run-an-experiment-with-JATOS-Workflow.html sidebar_position: 6 --- +import Hl from '@site/src/components/Highlight'; ## Workflow: What JATOS does @@ -12,7 +13,7 @@ When you start working with studies online, it can be hard to see what exactly J ## Step 1: Create/edit HTML, JS, and CSS files (Prepare your study) -We recommend that you always start to work on a new study in a *local* installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). +We recommend that you always start to work on a new study in a local installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). The main advantage of this is that you have easy access to all your HTML files and assets and can move them around, delete, and replace without any fuss. Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) @@ -22,9 +23,9 @@ Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) Once your study scripts are complete and bug-free, you need to make them available through the Internet. For that you will need, of course, [a server](Bring-your-JATOS-online.html). If you have a server already, you will need to take your ready-to-run study from your local installation and deploy it to the server. In order to do this: -1. On your *local* JATOS installation, where your study is, click on the study you want to export on the left sidebar. -1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. -1. On your *server* installation, simply click Import. +1. On your local JATOS installation, where your study is, click on the study you want to export on the left sidebar. +1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. +1. On your server installation, simply click Import. Done. @@ -33,7 +34,7 @@ There are a few important details in [deploying your study to a server](Deploy-t Also have a look at [Bring your JATOS online](Bring-your-JATOS-online.html). ## Step 3: Collect data -Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. +Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. ## Step 4: Download and analyze data One of JATOS' features is that you can manage the results stored in the database without having to type SQL commands in a terminal. Instead, just do this [using the GUI](Manage-Results.html). diff --git a/versioned_docs/version-3.7.1/Run_your_study/Connect-to-Mechanical-Turk.md b/versioned_docs/version-3.7.1/Run_your_study/Connect-to-Mechanical-Turk.md index c927be88aa..d78c81b9f0 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Connect-to-Mechanical-Turk.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Connect-to-Mechanical-Turk.md @@ -3,10 +3,11 @@ title: Use MTurk slug: /Connect-to-Mechanical-Turk.html sidebar_position: 5 --- +import Hl from '@site/src/components/Highlight'; -Use your JATOS study with Mturk is easy, although a fair amount of clicking is required. +Use your JATOS study with Mturk is easy, although a fair amount of clicking is required. -A good idea is always to try it yourself first in [MTurk Sandbox](https://requester.mturk.com/developer/sandbox) before you let real workers do it. +A good idea is always to try it yourself first in [MTurk Sandbox](https://requester.mturk.com/developer/sandbox) before you let real workers do it. ### You will need @@ -17,49 +18,49 @@ A good idea is always to try it yourself first in [MTurk Sandbox](https://reques ### On JATOS' side -In JATOS, go to your study's page and click on the Study Links button and open the batch you want to run. +In JATOS, go to your study's page and click on the Study Links button and open the batch you want to run. ![JATOS GUI screenshot](/img/study_links_mturk.png) -1. Don't forget to enable the MTurk type +1. Don't forget to enable the MTurk type -1. Click on _Source Code_. You'll see a box with HTML code, similar to the one shown here. You will have to copy and paste the code from here to the MTurk interface. +1. Click on Source Code. You'll see a box with HTML code, similar to the one shown here. You will have to copy and paste the code from here to the MTurk interface. ![JATOS GUI screenshot](/img/study_links_mturk_source_code.png) ### On MTurk's page -You first have to create a project in the MTurk interface: +You first have to create a project in the MTurk interface: 1. Sign into your [MTurk requester account](https://requester.mturk.com/signin_options) (or [requester sandbox account](https://requestersandbox.mturk.com/signin_options)) -1. Create ⟶ New Project ⟶ Survey Link ⟶ Create Project - or just click this [link for requester](https://requester.mturk.com/create/projects/new) (or this [link for requester sandbox](https://requestersandbox.mturk.com/create/projects/new)) +1. CreateNew ProjectSurvey LinkCreate Project - or just click this [link for requester](https://requester.mturk.com/create/projects/new) (or this [link for requester sandbox](https://requestersandbox.mturk.com/create/projects/new)) -1. Complete the *Enter Properties* tab +1. Complete the Enter Properties tab -1. Click on the *Design layout* button in the bottom of the page. +1. Click on the Design layout button in the bottom of the page. -1. Click on the *Source* button. You'll see some text in an editable window, corresponding to an HTML file. Delete the entire text in this field. +1. Click on the Source button. You'll see some text in an editable window, corresponding to an HTML file. Delete the entire text in this field. ![MTurk Schreenshot](/img/MTurk-source-editor.png) 1. Now paste the source code that you got from JATOS into this text field. This HTML code works out-of-the-box and you don't have to change anything (but you can if you want). -1. To exit the editing mode, click on the ‘Source’ button again and continue setting up your study in MTurk. +1. To exit the editing mode, click on the Source button again and continue setting up your study in MTurk. ![MTurk Schreenshot](/img/MTurk-source-editor-done.png) ### What should happen -When an MTurk worker finishes a study they'll see a confirmation code like this one. +When an MTurk worker finishes a study they'll see a confirmation code like this one. ![Confirmation code](/img/MTurk-confirmation-code_371.png) ### How to check the confirmation codes -To assign payment to individual workers, just compare the confirmation codes stored in JATOS' results page to those stored in MTurk. To see the confirmation codes in your results page you might have to add the column to your table: Like in the image, go to Customize and choose MTurk Confirmation Code. +To assign payment to individual workers, just compare the confirmation codes stored in JATOS' results page to those stored in MTurk. To see the confirmation codes in your results page you might have to add the column to your table: Like in the image, go to Customize and choose MTurk Confirmation Code. ![Results of Mturk workers](/img/mturk-results.png) diff --git a/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md b/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md index 3d9b42550c..d617c02a0a 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md @@ -3,20 +3,21 @@ title: Write cross-sectional and longitudinal studies slug: /Cross-sectional-and-longitudinal-studies.html sidebar_position: 7 --- +import Hl from '@site/src/components/Highlight'; There are several situation in which you might want to store (some parts) of the result data in a way that is accessible from more than just a single study run. This might be the case if you want to: 1. counterbalance your conditions across participants to acount for order effects. 1. run a between-participants study. 1. run a longitudinal study. -Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. +Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. ## 1. Counterbalance conditions between participants -The basic idea here is simple. Every time a new participant clicks on a study link, you assign them randomly to one of the possible conditions. And you keep track of how many participants did each condition in the Batch Session data. +The basic idea here is simple. Every time a new participant clicks on a study link, you assign them randomly to one of the possible conditions. And you keep track of how many participants did each condition in the Batch Session data. -Have a look at the ["Randomize tasks between workers"](/Example-Studies) study in our examples for a full example that you can easily add as a first component in your study. +Have a look at the [Randomize tasks between workers](/Example-Studies) study in our examples for a full example that you can easily add as a first component in your study. ## 2. Run cross-sectional designs @@ -25,23 +26,23 @@ From the coding perspective, the exact same logic applies as for point 1. But pl ## 3. Write longitudinal studies -You might want to collect data from the same participant multiple times and, crucially, be able to link the multiple result data from a single participant. The first thing you need to do is make sure that the same *person* is assigned a single, unique ID. There are several options for this, and your exact solution may depend on how you are recruiting participants. +You might want to collect data from the same participant multiple times and, crucially, be able to link the multiple result data from a single participant. The first thing you need to do is make sure that the same person is assigned a single, unique ID. There are several options for this, and your exact solution may depend on how you are recruiting participants. ### Using Personal Multiple study links -If your sample size is relatively small and it is logistically doable, you could send individualized [Personal Multiple study links](Run-your-Study-with-Study-Links.html) to each participant. If a participant runs a study with this study link, JATOS will assign them a unique number. You can access the worker ID in your JavaScript through [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid) from the _jatos.js_ library. +If your sample size is relatively small and it is logistically doable, you could send individualized [Personal Multiple study links](Run-your-Study-with-Study-Links.html) to each participant. If a participant runs a study with this study link, JATOS will assign them a unique number. You can access the worker ID in your JavaScript through [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid) from the _jatos.js_ library. ### Using MTurk -If you are recruiting participants through a MTurk, it's straightforward: You can access MTurk's worker ID in your JavaScript through `jatos.urlQueryParameters.workerId`. Alternatively you can also use JATOS' [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid). +If you are recruiting participants through a MTurk, it's straightforward: You can access MTurk's worker ID in your JavaScript through `jatos.urlQueryParameters.workerId`. Alternatively you can also use JATOS' [`jatos.workerId`](jatos.js-Reference.html#jatosworkerid). ### Using Prolific -If you are usning Prolific to recruit participants, it's a bit more complicated. To access the worker ID, you first need to tell Prolific to include it in their query parameters. In Prolific, go to Study Settings and enable the option to include special query parameters in the URL. +If you are using Prolific to recruit participants, it's a bit more complicated. To access the worker ID, you first need to tell Prolific to include it in their query parameters. In Prolific, go to Study Settings and enable the option to include special query parameters in the URL. ![Prolific Screenshot](/img/Screenshot_ExtendURL_Prolific.png) -If you select these options in Prolific, you'll be able to collect the Prolific ID from your JavaScript by using `jatos.urlQueryParameters`, e.g. +If you select these options in Prolific, you'll be able to collect the Prolific ID from your JavaScript by using `jatos.urlQueryParameters`, e.g. ```javascript var prolificPid = jatos.urlQueryParameters.PROLIFIC_PID; @@ -49,7 +50,7 @@ var prolificPid = jatos.urlQueryParameters.PROLIFIC_PID; ### Using a General Multiple link with IDs assigned to individual workers -If you want a large sample of participants recruited outside of a marketplace (i.e. if you are using a [General Multiple link](Worker-Types.html#-general-multiple-worker), you could provide each new participant with a unique ID that they then have to store and provide (manually) in the following session. Note that, when a participant runs a study with a General Single JATOS stores cookies on their browser to prevent them from taking part twice in the same study. But these cookies are minimal and not intended to be used to identify participants or to link a browser to any given result data. +If you want a large sample of participants recruited outside of a marketplace (i.e. if you are using a [General Multiple link](Worker-Types.html#-general-multiple-worker), you could provide each new participant with a unique ID that they then have to store and provide (manually) in the following session. Note that, when a participant runs a study with a General Single JATOS stores cookies on their browser to prevent them from taking part twice in the same study. But these cookies are minimal and not intended to be used to identify participants or to link a browser to any given result data. ## Store bits of result data that are necessary for future sessions diff --git a/versioned_docs/version-3.7.1/Run_your_study/Deploy-to-a-server-installation.md b/versioned_docs/version-3.7.1/Run_your_study/Deploy-to-a-server-installation.md index 965fde874d..ddb9e7f1e4 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Deploy-to-a-server-installation.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Deploy-to-a-server-installation.md @@ -3,13 +3,14 @@ title: Deploy to a server installation slug: /Deploy-to-a-server-installation.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; -Usually you conveniently develop your study on your local computer where you have a [local installation of JATOS](Installation.html). Then just use the export and import buttons in your installations to transfer the study to your [JATOS server](Bring-your-JATOS-online.html). +Usually you conveniently develop your study on your local computer where you have a [local installation of JATOS](Installation.html). Then just use the export and import buttons in your installations to transfer the study to your [JATOS server](Bring-your-JATOS-online.html). If you have a server already, you will need to take your ready-to-run study from your local installation and deploy it to the server. In order to do this: -1. On your *local* JATOS installation, where your study is, click on the study you want to export on the left sidebar. -1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. -1. On your *server* installation, simply click Import. +1. On your **local** JATOS installation, where your study is, click on the study you want to export on the left sidebar. +1. On the Study bar, click Export. A pop-up window will appear. Save the **.jzip** file wherever you like on your computer. +1. On your **server** installation, simply click Import. Here's a little sketch of the same three steps above ![jzip workflow](/img/jzipWorkflow.png) @@ -21,7 +22,7 @@ Here's a little sketch of the same three steps above * A **.jzip** file is a normal .zip file. We just changed the name to make this process clearer. (JATOS users got confused and often tried to unzip the file they had downloaded, add HTML files in it, and re-zip it. This will lead to all sorts of problems. Don't do this. You should do all modifications of files and study properties from the JATOS GUI.) * In the process of exporting/importing you'll transfer all assets of your study (HTML/JS/CSS files, images, audio, etc) contained in the local study folder. You will **not** transfer result data. -* If you want to make changes to a study, we also recommend that you so in the local JATOS. There you have full access to the study assets and can change and edit them easily. Then again you can Export → Import to the JATOS server. +* If you want to make changes to a study, we also recommend that you so in the local JATOS. There you have full access to the study assets and can change and edit them easily. Then again you can ExportImport to the JATOS server. diff --git a/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md b/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md index c56887082f..7b5f2a0c46 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md +++ b/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md @@ -3,19 +3,20 @@ title: End page - After your study finished slug: /End-page-after-your-study-finished.html sidebar_position: 9 --- +import Hl from '@site/src/components/Highlight'; By default JATOS just shows the text "**This study is finished. Thank you for your participation.**" in English language, with no special formatting, after a study finshed. Maybe you want a different language or add a logo and different text or styling, then read on. ### 1. endPage.html -If you include a file named '_endPage.html_' in your study assets folder along with your other study's files, JATOS will automatically redirect to this page after the study finished. +If you include a file named **'_endPage.html_'** in your study assets folder along with your other study's files, JATOS will automatically redirect to this page after the study finished. -**Hint 1:** Be aware that in the '_endPage.html_' you cannot load or use any other files from the study assets folder. Because the study is already finished, JATOS won't allow you to access any other file from this folder, or from any of the JATOS sessions (study, batch and group) out of security reasons. Of course this doesn't prevent you from loading images or libraries (or any other resource) directly from the internet. +**Hint 1:** Be aware that in the **'_endPage.html_'** you cannot load or use any other files from the study assets folder. Because the study is already finished, JATOS won't allow you to access any other file from this folder, or from any of the JATOS sessions (study, batch and group) out of security reasons. Of course this doesn't prevent you from loading images or libraries (or any other resource) directly from the internet. -**Hint 2:** If you run the study with an **MTurk Worker** then you probably want to show the confirmation code to your worker. This is passed on to the _endPage.html_ in a cookie with the name *JATOS_CONFIRMATION_CODE*. +**Hint 2:** If you run the study with an MTurk Worker then you probably want to show the confirmation code to your worker. This is passed on to the **_endPage.html_** in a cookie with the name *JATOS_CONFIRMATION_CODE*. -**Hint 3:** If you run your study with the **JATOS GUI (Run button)** it won't show you the _endPage.html_ but redirect you back to JATOS' GUI instead. +**Hint 3:** If you run your study with the **JATOS GUI (Run button)** it won't show you the **_endPage.html_** but redirect you back to JATOS' GUI instead. ### 2. Study Properties' End Redirect URL @@ -24,9 +25,9 @@ Maybe you want to redirect to a different page, e.g. a Prolific's end page or yo ![screenshot](/img/Screenshot_end-redirect-url.png) -**Hint:** If you run the study with an **MTurk Worker** then you probably want to show the confirmation code to your worker. This is passed on as an URL query parameter *confirmationCode*. +**Hint:** If you run the study with an MTurk Worker then you probably want to show the confirmation code to your worker. This is passed on as an URL query parameter *confirmationCode*. -You can pass on arguments from the original study link URL to redirect URL. Squared brackets in the _End Redirect URL_ indicate that the string between those brackets is a parameter from the original study run link URL and let JATOS replace the the whole _[string]_ by the value of the parameter. +You can pass on arguments from the original study link URL to redirect URL. Squared brackets in the End Redirect URL indicate that the string between those brackets is a parameter from the original study run link URL and let JATOS replace the the whole _[string]_ by the value of the parameter. E.g. @@ -51,4 +52,4 @@ E.g. ### 3. In JavaScript with `jatos.endStudyAndRedirect` or `jatos.endStudyAjax` -If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two _jatos.js_ functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's **last component**. This is the most versatile way. +If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two **_jatos.js_** functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's last component. This is the most versatile way. diff --git a/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md b/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md index 60f96565a8..6a038dac02 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md @@ -3,14 +3,15 @@ title: Manage Results slug: /Manage-Results.html sidebar_position: 8 --- +import Hl from '@site/src/components/Highlight'; ## Results Pages -Once you collected data for a study, you can see and manage the results by clicking on one of the *Results* buttons. +Once you collected data for a study, you can see and manage the results by clicking on one of the Results buttons. ![Results Link](/img/ResultsLink_371.png) -The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. +The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. ![Results View screenshot](/img/ResultsView-Screenshot1.png) @@ -19,14 +20,14 @@ The image below is an example of a study results page, but there are result page ### View Result Data -Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on _show all_ one can see the whole data if it doesn't fit all in the box. +Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on show all one can see the whole data if it doesn't fit all in the box. ![Results View screenshot](/img/ResultsView-Screenshot3.png) ### Selecting Results -There is a checkbox on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. +There is a checkbox on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. ![Results View screenshot](/img/ResultsView-Screenshot2.png) @@ -37,13 +38,13 @@ The filter lets you search all all fields in the results table (the metadata). ![Results View screenshot](/img/ResultsView-Screenshot4.png) -If you type, for example, "Personal Single" in the *Filter* field, only the results ran by a Personal Single worker will appear on the table. You can then click on *Filtered* to select them and export only those results that you're interested in. +If you type, for example, Personal Single in the Filter field, only the results ran by a Personal Single worker will appear on the table. You can then click on Filtered to select them and export only those results that you're interested in. -For more eloborate filtering you can use Regular Expressions. Click on *RegEx* to activate this. +For more eloborate filtering you can use Regular Expressions. Click on RegEx to activate this. -By default filtering in case insensitive but you can turn on case sensitive filtering by clicking on *Aa*. +By default filtering in case insensitive but you can turn on case sensitive filtering by clicking on Aa. -Sometimes the simple filter is not precise enough or you want to combine multiple filters: For those cases the _Filter Builder_ offers complex criteria with logical conjunctions ('and', 'or'). It's also possible to filter for certain dates. +Sometimes the simple filter is not precise enough or you want to combine multiple filters: For those cases the Filter Builder offers complex criteria with logical conjunctions (**'and'**, **'or'**). It's also possible to filter for certain dates. ![Results View screenshot](/img/ResultsView-Screenshot10.png) @@ -52,7 +53,7 @@ Sometimes the simple filter is not precise enough or you want to combine multipl ### Export Result Data -Once you selected the results you're interested in, click *Export Results* and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select *All* to get all result data. +Once you selected the results you're interested in, click Export Results and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select *All* to get all result data. ![Results View screenshot](/img/ResultsView-Screenshot6.png) From 201edbfb13433fc8cb8d5d00f3390f981e9c4c57 Mon Sep 17 00:00:00 2001 From: Poulami <82175023+PoloOnTheGo@users.noreply.github.com> Date: Sun, 27 Feb 2022 11:19:34 +0100 Subject: [PATCH 5/5] Highlight commit 2 --- docs/Overview/Data-Privacy-and-Ethics.md | 8 +- docs/Overview/Get-started.md | 8 +- docs/Overview/Installation.md | 5 +- .../Run-an-experiment-with-JATOS-Workflow.md | 10 +-- ...ross-sectional-and-longitudinal-studies.md | 2 +- .../End-page-after-your-study-finished.md | 4 +- docs/Run_your_study/Manage-Results.md | 80 +++++++++---------- docs/Run_your_study/Restricting-study-flow.md | 18 ++--- .../Run-your-Study-with-Study-Links.md | 48 +++++------ docs/Run_your_study/Study-Log.md | 5 +- docs/Run_your_study/Tips-and-Tricks.md | 22 ++--- docs/Run_your_study/Use-Prolific.md | 9 ++- docs/Run_your_study/Worker-Types.md | 16 ++-- .../JATOS-on-DigitalOcean.md | 6 +- .../Serving_the_Internet/JATOS-on-a-server.md | 13 +-- docs/Serving_the_Internet/JATOS-with-Nginx.md | 4 +- .../Updating-a-JATOS-server-installation.md | 5 +- ...apt-pre-written-code-to-run-it-in-JATOS.md | 10 +-- .../Session-Data-Three-Types.md | 15 ++-- .../Write-your-own-Study-Basics-and-Beyond.md | 8 +- docs/Write_your_study/jsPsych-and-JATOS.md | 5 +- .../Overview/Data-Privacy-and-Ethics.md | 8 +- .../version-3.7.1/Overview/Get-started.md | 8 +- .../version-3.7.1/Overview/Installation.md | 5 +- .../Run-an-experiment-with-JATOS-Workflow.md | 10 +-- ...ross-sectional-and-longitudinal-studies.md | 2 +- .../End-page-after-your-study-finished.md | 4 +- .../Run_your_study/Manage-Results.md | 80 +++++++++---------- .../Run_your_study/Restricting-study-flow.md | 15 ++-- .../Run-your-Study-with-Study-Links.md | 63 ++++++++------- .../version-3.7.1/Run_your_study/Study-Log.md | 5 +- .../Run_your_study/Tips-and-Tricks.md | 23 +++--- .../Run_your_study/Use-Prolific.md | 9 ++- .../Run_your_study/Worker-Types.md | 19 ++--- .../Customize-JATOS-Home-Page.md | 3 +- .../JATOS-on-DigitalOcean.md | 5 +- .../Serving_the_Internet/JATOS-on-a-server.md | 13 +-- .../Updating-a-JATOS-server-installation.md | 5 +- ...apt-pre-written-code-to-run-it-in-JATOS.md | 11 +-- .../Write_your_study/Change-studys-members.md | 5 +- .../Write_your_study/Create-a-new-study.md | 5 +- .../Session-Data-Three-Types.md | 15 ++-- .../Write-your-own-Study-Basics-and-Beyond.md | 11 +-- 43 files changed, 321 insertions(+), 304 deletions(-) diff --git a/docs/Overview/Data-Privacy-and-Ethics.md b/docs/Overview/Data-Privacy-and-Ethics.md index b61b1b9936..89d0124ca0 100644 --- a/docs/Overview/Data-Privacy-and-Ethics.md +++ b/docs/Overview/Data-Privacy-and-Ethics.md @@ -20,15 +20,15 @@ Here are a few advantages and limitations of JATOS with regards to data privacy. * JATOS' main advantage is that you can store your participants' data in your own server (e.g. at your university). This means that you have full control over the data stored in your database, and no commercial company has access to it. JATOS does not share any data (except of course during a study run with the participant's browsers). Each JATOS installation is completely independent of any other JATOS installation. * By default, JATOS stores the following data: - * time (of the server running JATOS) at which the study -and each of its components- was started and finished - * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) - * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. + * time (of the server running JATOS) at which the study -and each of its components- was started and finished + * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) + * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. * JATOS will **not** store information like IP address or browser type (User-Agent or any other HTTP header field). ### Things you should consider in your studies -* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently jatos.js offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. +* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently **jatos.js** offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. * Use **encryption** with your [server instance](JATOS-on-a-server.html). Only with encryption no one else in the internet can read the private data from your study's participants. diff --git a/docs/Overview/Get-started.md b/docs/Overview/Get-started.md index 3fb86e3d74..7f4ffdfa0c 100644 --- a/docs/Overview/Get-started.md +++ b/docs/Overview/Get-started.md @@ -13,7 +13,7 @@ import Hl from '@site/src/components/Highlight'; 1. **Download and import an example study** - 1. Download one of the [Example Studies](/Example-Studies), e.g. the Go- / No-Go Task with jsPsych. Do not unzip the downloaded file. + 1. Download one of the [Example Studies](/Example-Studies), e.g. the **'Go- / No-Go Task'** with jsPsych. Do not unzip the downloaded file. 1. Import the study into JATOS: Go to JATOS' GUI in your browser and click on Import Study in the header. Choose the .jzip (or .zip) file you just downloaded. The imported study should appear in the sidebar on the left. @@ -26,9 +26,9 @@ import Hl from '@site/src/components/Highlight'; If you finished running through the study, you can check the results. * To see whole-study results, click on the Results button on the top of the page. - * To see results from individual components, click on the Results buttons on each component's row. + * To see results from individual components, click on the Results buttons on each component's row. - For example, you can see each result's details by clicking on the little arrow to the left of its row ([more information on how to mangage results](Manage-results.html)). + For example, you can see each result's details by clicking on the to the left of its row ([more information on how to mangage results](Manage-results.html)). _Here's a screenshot of a study's results view:_ ![Results View screenshot](/img/ResultsView-Screenshot3.png) @@ -38,7 +38,7 @@ import Hl from '@site/src/components/Highlight'; Now it's time to explore a little bit more. * You can click on any component's position button and drag it to a new position within the study. -* Each component has a Properties button. The component's HTML file may read the data in the field JSON data. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. +* Each component has a Properties button. The component's HTML file may read the data in the field JSON input. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. * Where are the actual HTML, JavaScript, and CSS files? They are the files that actually run your study, so make sure you can locate them. All these files, together with any images, sound files, etc. you might have, are called Study assets. They will be in `/path_to_my_JATOS/study_assets_root/name_of_my_study/`. _Here's a screenshot of a component's properties view:_ diff --git a/docs/Overview/Installation.md b/docs/Overview/Installation.md index 1f5bd24b64..1b5d34fa6b 100644 --- a/docs/Overview/Installation.md +++ b/docs/Overview/Installation.md @@ -3,7 +3,6 @@ title: Installation slug: /Installation.html sidebar_position: 3 --- -import Hl from '@site/src/components/Highlight'; ### Easy installation on your local computer @@ -13,12 +12,12 @@ A local installation is straightforward. Usually you first develop your study with JATOS on a local computer. Then in a second step you bring it to a server installation of JATOS. -With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. +With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. **For convenience JATOS is available as a bundle with Java.** To run JATOS, you need Java 11 installed on your computer (to be precise, you need a Java Runtime Environment, aka JRE). Chances are, you already have Java installed. To check whether Java is installed on your system, type `java -version` in your terminal (MacOS / Linux) or command window (Windows). -If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. +If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. ### Installation Windows diff --git a/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md b/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md index f91156d815..16eae9f9c6 100644 --- a/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md +++ b/docs/Overview/Run-an-experiment-with-JATOS-Workflow.md @@ -13,7 +13,7 @@ When you start working with studies online, it can be hard to see what exactly J ## Step 1: Create/edit HTML, JS, and CSS files (Prepare your study) -We recommend that you always start to work on a new study in a local installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). +We recommend that you always start to work on a new study in a **local** installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). The main advantage of this is that you have easy access to all your HTML files and assets and can move them around, delete, and replace without any fuss. Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) @@ -23,9 +23,9 @@ Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) Once your study scripts are complete and bug-free, you need to make them available through the Internet. For that you will need, of course, [a server](Bring-your-JATOS-online.html). If you have a server already, you will need to take your ready-to-run study from your local installation and deploy it to the server. In order to do this: -1. On your local JATOS installation, where your study is, click on the study you want to export on the left sidebar. -1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. -1. On your server installation, simply click Import. +1. On your **local** JATOS installation, where your study is, click on the study you want to export on the left sidebar. +1. On the Study bar, click Export. A pop-up window will appear. Save the **.jzip** file wherever you like on your computer. +1. On your **server** installation, simply click Import. Done. @@ -34,7 +34,7 @@ There are a few important details in [deploying your study to a server](Deploy-t Also have a look at [Bring your JATOS online](Bring-your-JATOS-online.html). ## Step 3: Collect data -Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. +Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. ## Step 4: Download and analyze data One of JATOS' features is that you can manage the results stored in the database without having to type SQL commands in a terminal. Instead, just do this [using the GUI](Manage-Results.html). diff --git a/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md b/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md index d617c02a0a..b5869e37ba 100644 --- a/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md +++ b/docs/Run_your_study/Cross-sectional-and-longitudinal-studies.md @@ -10,7 +10,7 @@ There are several situation in which you might want to store (some parts) of the 1. run a between-participants study. 1. run a longitudinal study. -Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. +Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. ## 1. Counterbalance conditions between participants diff --git a/docs/Run_your_study/End-page-after-your-study-finished.md b/docs/Run_your_study/End-page-after-your-study-finished.md index 7b5f2a0c46..299fbc25db 100644 --- a/docs/Run_your_study/End-page-after-your-study-finished.md +++ b/docs/Run_your_study/End-page-after-your-study-finished.md @@ -37,7 +37,7 @@ E.g. http://myjatosdomain/publix/v6UkpHR8Sfu?SONA_ID=123abc ``` -* And your _End Redirect URL_ (in study properties): +* And your End Redirect URL (in study properties): ``` https://rug.sona-systems.com/webstudy_credit.aspx?experiment_id=123&credit_token=1234567&survey_code=[SONA_ID] @@ -52,4 +52,4 @@ E.g. ### 3. In JavaScript with `jatos.endStudyAndRedirect` or `jatos.endStudyAjax` -If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two **_jatos.js_** functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's last component. This is the most versatile way. +If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two **_jatos.js_** functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's last component. This is the most versatile way. diff --git a/docs/Run_your_study/Manage-Results.md b/docs/Run_your_study/Manage-Results.md index 6a038dac02..b8376edd60 100644 --- a/docs/Run_your_study/Manage-Results.md +++ b/docs/Run_your_study/Manage-Results.md @@ -11,7 +11,7 @@ Once you collected data for a study, you can see and manage the results by click ![Results Link](/img/ResultsLink_371.png) -The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. +The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. ![Results View screenshot](/img/ResultsView-Screenshot1.png) @@ -20,14 +20,14 @@ The image below is an example of a study results page, but there are result< ### View Result Data -Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on show all one can see the whole data if it doesn't fit all in the box. +Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on show all one can see the whole data if it doesn't fit all in the box. ![Results View screenshot](/img/ResultsView-Screenshot3.png) ### Selecting Results -There is a checkbox on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. +There is a **checkbox** on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. ![Results View screenshot](/img/ResultsView-Screenshot2.png) @@ -53,68 +53,68 @@ Sometimes the simple filter is not precise enough or you want to combine multipl ### Export Result Data -Once you selected the results you're interested in, click Export Results and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select *All* to get all result data. +Once you selected the results you're interested in, click Export Results and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select All to get all result data. ![Results View screenshot](/img/ResultsView-Screenshot6.png) ### Export Result Files -Here you can download the result files that were uploaded during study runs. You can download single files by just clicking on them. Or similar to exporting result data select the lines you are interested in and download them with *Export Files* and *Selected*. Alternatively you can also select *All* to get all files. +Here you can download the result files that were uploaded during study runs. You can download single files by just clicking on them. Or similar to exporting result data select the lines you are interested in and download them with Export Files and Selected. Alternatively you can also select All to get all files. ![Results View screenshot](/img/ResultsView-Screenshot5.png) ### Export Metadata -Sometimes one is also interested in the metadata, that is what's in the actual table fields ("Result ID", "Start Time" , "Last Seen", ...). For this click on *Export Metadata* and the metadata of the selected results will be downloaded in CSV format. +Sometimes one is also interested in the metadata, that is what's in the actual table fields (Result ID, Start Time , Last Seen, ...). For this click on Export Metadata and the metadata of the selected results will be downloaded in CSV format. ![Results View screenshot](/img/ResultsView-Screenshot7.png) ## Delete Results -You can click *Delete* to remove all or only some selected results (result data + result files + metadata). Keep in mind **there's no undo function for this**. +You can click Delete to remove all or only some selected results (result data + result files + metadata). Keep in mind **there's no undo function for this**. ![Results View screenshot](/img/ResultsView-Screenshot8.png) ## Table Columns -You can show and hide the columns displayed in the table with the drop-down menu under the *Customize* button. +You can show and hide the columns displayed in the table with the drop-down menu under the Customize button. ![Results View screenshot](/img/ResultsView-Screenshot9.png) -* **Result ID** - An identifier assigned by JATOS to each study result. A study result is actually a set of component results, each of them with their own (different) *Component Result ID*. -* **UUID** - universally unique identifier - similar to Result ID but this ID is unique over different JATOS installations -* **Study Code** - The study code that was used to start this study run -* **Start Time** - Time (set at the server's time zone) at which the first component of the study was started. -* **End Time** - Time (set at the server's time zone) at which the last component of the study was finished. -* **Last Seen** - Each component running in a worker's browser sends a "heartbeat" regularly back to JATOS. Last Seen is the time of the last heartbeat received. The heartbeat stops either when the study is finished or when the browser tab is closed. The default period of the heartbeat is 2 minutes but you can change it through a [_jatos.js_ function](jatos.js-Reference.html#jatossetheartbeatperiod). -* **Duration** - Simply the time difference between the start and end time. -* **Batch** - Name of the batch the worker belongs to. -* **Worker ID** - Assigned by JATOS. Each worker has its own Worker ID. JATOS' admin user will always have Worker ID 1. You can click on a Worker ID to see all the worker's results. -* **Worker Type** - Displays the [Worker type](Worker-Types.html) that ran the study. -* **MTurk Worker ID** - Only applies to studies run by MTurk workers. An identifier given by Amazon Mechanical Turk's, not by JATOS. -* **MTurk Confirmation Code** - Only applies to studies run by MTurk workers. The Confirmation Code is generated by JATOS and given to the worker as proof of his work. -* **Group ID** - Only available for group studies. It identifies the group. -* **Files** - Indicates result file upload -* **Data Size** - (Component Results only) - Size of the result data as it is stored in the database -* **Files (Size)** - (Component Results only) - List of the uploaded result files with their size in brackets -* **State** +* **Result ID** - An identifier assigned by JATOS to each study result. A study result is actually a set of component results, each of them with their own (different) Component Result ID. +* **UUID** - universally unique identifier - similar to Result ID but this ID is unique over different JATOS installations +* **Study Code** - The study code that was used to start this study run +* **Start Time** - Time (set at the server's time zone) at which the first component of the study was started. +* **End Time** - Time (set at the server's time zone) at which the last component of the study was finished. +* **Last Seen** - Each component running in a worker's browser sends a "heartbeat" regularly back to JATOS. Last Seen is the time of the last heartbeat received. The heartbeat stops either when the study is finished or when the browser tab is closed. The default period of the heartbeat is 2 minutes but you can change it through a [_jatos.js_ function](jatos.js-Reference.html#jatossetheartbeatperiod). +* **Duration** - Simply the time difference between the start and end time. +* **Batch** - Name of the batch the worker belongs to. +* **Worker ID** - Assigned by JATOS. Each worker has its own Worker ID. JATOS' admin user will always have Worker ID 1. You can click on a Worker ID to see all the worker's results. +* **Worker Type** - Displays the [Worker type](Worker-Types.html) that ran the study. +* **MTurk Worker ID** - Only applies to studies run by MTurk workers. An identifier given by Amazon Mechanical Turk's, not by JATOS. +* **MTurk Confirmation Code** - Only applies to studies run by MTurk workers. The Confirmation Code is generated by JATOS and given to the worker as proof of his work. +* **Group ID** - Only available for group studies. It identifies the group. +* **Files** - Indicates result file upload +* **Data Size** - (Component Results only) - Size of the result data as it is stored in the database +* **Files (Size)** - (Component Results only) - List of the uploaded result files with their size in brackets +* **State** - Possible states for _study results_ are: - * PRE - [Preview of study](Restricting-study-flow.html#preview-links) (exists only in PersonalSingleWorker and GeneralSingleWorker) - * STARTED - Study started - * DATA_RETRIEVED - The very beginning of the study. It means the first component of the study was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) - * FINISHED - Study finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. - * ABORTED - Study aborted by worker and all result data and files were deleted. - * FAIL - Something went wrong, study stopped and cannot continue - - Possible states for _component results_ are: - * STARTED - Component started - * DATA_RETRIEVED - The very beginning of the component. It means the component was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) - * FINISHED - Component finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. - * RELOADED - Component was reloaded (usually by clicking the browser's reload button) - * ABORTED - This component's study was aborted by worker and all result data and files were deleted. - * FAIL - Something went wrong, the study stopped and cannot continue + Possible states for study results are: + * **PRE** - [Preview of study](Restricting-study-flow.html#preview-links) (exists only in PersonalSingleWorker and GeneralSingleWorker) + * **STARTED** - Study started + * **DATA_RETRIEVED** - The very beginning of the study. It means the first component of the study was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) + * **FINISHED** - Study finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. + * **ABORTED** - Study aborted by worker and all result data and files were deleted. + * **FAIL** - Something went wrong, study stopped and cannot continue + + Possible states for component results are: + * **STARTED** - Component started + * **DATA_RETRIEVED** - The very beginning of the component. It means the component was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) + * **FINISHED** - Component finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. + * **RELOADED** - Component was reloaded (usually by clicking the browser's reload button) + * **ABORTED** - This component's study was aborted by worker and all result data and files were deleted. + * **FAIL** - Something went wrong, the study stopped and cannot continue * **Messages** - A message that can be set together with [`jatos.endStudy`](jatos.js-Reference.html#jatosendstudy) or [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy). diff --git a/docs/Run_your_study/Restricting-study-flow.md b/docs/Run_your_study/Restricting-study-flow.md index 45bfdb32b3..7ada8a2b4e 100644 --- a/docs/Run_your_study/Restricting-study-flow.md +++ b/docs/Run_your_study/Restricting-study-flow.md @@ -12,8 +12,8 @@ Let's first say what we understand under the _study flow_: **Study flow** - the intended order of a study's componenents as they are done by the participants running the study. This doesn't necessarily has to be the order of components like they are defined in the study page, meaning going forward one-by-one - instead the study flow can go backwards to a previous component, go in a loop over several components, or reload the current component. It is even possible to decide on-the-fly in your JavaScripts what the next component will be. In general and by default a component can go to any other component including itself. The _jatos.js_ functions to determine the study flow are `jatos.startNextComponent`, `jatos.startComponentByPos`, `jatos.startLastComponent` and `jatos.startComponent`. **Common restrictions** -- You want to prevent a participant from reloading the same component (by using the browser's reload button). -- You want to ensure a linear study flow and prevent participants from going backwards (by using the browser's back button). +- You want to prevent a participant from reloading the same component (by using the browser's reload button). +- You want to ensure a linear study flow and prevent participants from going backwards (by using the browser's back button). - You want to prevent a participant from running a study twice. - You want to allow participants to first have a peek into a study and preview it without actually starting the study and fully committing to it. @@ -22,26 +22,26 @@ Let's first say what we understand under the _study flow_: ## Allow reload or prevent a reload of the same component -A worker can press their browser's reload button and by default JATOS will respond with the same component again: by default, the worker can do a component multiple times. To prevent this each **component properties** has a checkbox Allow reload. +A worker can press their browser's reload button and by default JATOS will respond with the same component again: by default, the worker can do a component multiple times. To prevent this each **component properties** has a checkbox Allow reload. ![GUI Screenshot](/img/component-properties-reload.png) -If you want to prevent this behaviour uncheck the box. If a participant reloads the page, they will see an error message. Then the study run will be finished and put to state FAIL. Since each component properties has their own _Allow reload_ checkbox it can be defined differently for each component, e.g. reloading is allowed in the introduction but is prohibited in the actual experiment. +If you want to prevent this behaviour uncheck the box. If a participant reloads the page, they will see an error message. Then the study run will be finished and put to state **FAIL**. Since each component properties has their own Allow reload checkbox it can be defined differently for each component, e.g. reloading is allowed in the introduction but is prohibited in the actual experiment. -**Hint**: You should tell your workers in your study description if you disable reloads, in order to prevent them from accidentally pressing the reload button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. +**Hint**: You should tell your workers in your study description if you disable reloads, in order to prevent them from accidentally pressing the reload button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. -**Another hint**: The (unchecked) Allow reload and the (checked) Linear study flow properties can be combined to achieve a strictly increasing study flow. +**Another hint**: The (unchecked) Allow reload and the (checked) Linear study flow properties can be combined to achieve a strictly increasing study flow. ## Ensure a linear study flow -A worker can press their browsers back button and by default JATOS will response with the previous component, the one that was done before by the worker. This might allow a worker to divert from the intended study flow. To prevent this each **study properties** has a checkbox Linear study flow. +A worker can press their browsers back button and by default JATOS will response with the previous component, the one that was done before by the worker. This might allow a worker to divert from the intended study flow. To prevent this each **study properties** has a checkbox Linear study flow. ![Study Properties Screenshot](/img/study-properties-linear-flow_371.png) If you want to enforce a linear study flow check the box. Then, if a participant tries to go backwards in their browser, they will see an error message instead. The study run will be finished and put to state FAIL. -**Hint**: You should tell your participants in your study's description if you enforce a linear study flow to prevent them from accidentally pressing the back button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. +**Hint**: You should tell your participants in your study's description if you enforce a linear study flow to prevent them from accidentally pressing the back button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. **Another hint**: If you want to loop over components, un-check this box. @@ -57,7 +57,7 @@ Read more on the [different worker types available in JATOS](Worker-Types.html) ## Allow preview -Sometimes, when you hand out study links, your participants mindlessly click on the link right away and are not aware that they have already started the study. If they do not intend to run the study right away this is a problem with single-use study links (**General Single** or **Personal Single**). +Sometimes, when you hand out study links, your participants mindlessly click on the link right away and are not aware that they have already started the study. If they do not intend to run the study right away this is a problem with single-use study links (General Single or Personal Single). ![GUI Screenshot](/img/study-properties-allow-preview-371.png) diff --git a/docs/Run_your_study/Run-your-Study-with-Study-Links.md b/docs/Run_your_study/Run-your-Study-with-Study-Links.md index b71953c8a5..968baf6d80 100644 --- a/docs/Run_your_study/Run-your-Study-with-Study-Links.md +++ b/docs/Run_your_study/Run-your-Study-with-Study-Links.md @@ -11,7 +11,7 @@ To get to the Study Links page press on the button with the same name in your st ![Study Links Button screenshot](/img/study_links_1.png) -This Study Links page has only one batch, the Default one. A batch can have study links of different type, e.g. Personal Single, Personal Multiple etc: +This Study Links page has only one batch, the Default one. A batch can have study links of different type, e.g. Personal Single, Personal Multiple etc: ![Study Links page screenshot](/img/study_links_2.png) @@ -37,16 +37,16 @@ You can de-/activate a study link type by clicking in the checkboxes in the left ![Study Links page screenshot](/img/study_links_4.png) -Personal type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that the links are meant to be handed to individual workers (hence _Personal_). Personal Single links can be used once, whereas Personal Multiple can be used many times. +Personal type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that the links are meant to be handed to individual workers (hence Personal). Personal Single links can be used once, whereas Personal Multiple can be used many times. After clicking the Study Links button you get a new window where you can create and manage the study links of this type. ![Study Links page screenshot](/img/study_links_11.png) 1. This button creates one study link without a comment. This button is a shortcut to the New Study Links button. -1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. +1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. 1. This is the study code. [You can hand this to your workers](Run-your-Study-with-Study-Links.html#study-code--study-entry-page). -1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The Open Directly link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The Confirm First lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. +1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The Open Directly link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The Confirm First lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. 1. Use this checkbox to de-/activate a single study link. A deactivated study link can not be used to start a study run (but an already started study run can continue to run). ![Study Links page screenshot](/img/study_links_14.png) @@ -58,7 +58,7 @@ Use QR codes to make your study easier accessible with mobile phones. E.g. copy+ ![Study Links page screenshot](/img/study_links_5.png) -General type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that all workers (or at least many) get the same link (hence _General_). The General Single link can be used once whereas General Multiple can be used many times. +General type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that all workers (or at least many) get the same link (hence General). The General Single link can be used once whereas General Multipl can be used many times. Due to the nature of these types there is only one study link per type. Click on the button Study Link to get it. @@ -86,29 +86,29 @@ A study run can be started in JATOS in slightly different ways: ### Start directly with a study link -If you toogle the Study Link(s) button to 'Open Directly' the generated link will start the study run directly without any intermediate steps like the Study Entry page. The study link has the format `https://my.jatos.server/publix/study-code`, e.g. `https://cortex.jatos.org/publix/GwtCkuCY4bM`. This is fast for the participant but has the disadvantage that if they click the study link accidentally, at least if it is a single-use link (Personal Single or General Single), it will be invalidated and the participant is not allowed to run the study again (not without handing them a new study link). +If you toogle the Study Link(s) button to Open Directly the generated link will start the study run directly without any intermediate steps like the Study Entry page. The study link has the format `https://my.jatos.server/publix/study-code`, e.g. `https://cortex.jatos.org/publix/GwtCkuCY4bM`. This is fast for the participant but has the disadvantage that if they click the study link accidentally, at least if it is a single-use link (Personal Single or General Single), it will be invalidated and the participant is not allowed to run the study again (not without handing them a new study link). ### Study link + Study Entry page for confirmation -If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the button start the actual study run. +If you toggle the Study Link(s) button to Confirm First the generated link will first show the Study Entry page and only when clicked the button start the actual study run. -This is how the Study Entry page might look like (you can customize the message): +This is how the Study Entry page might look like (you can customize the message): ![Study Entry page screenshot](/img/study_entry_page_1.png) The study link has the format `https://my.jatos.server/publix/run?code=study-code`, e.g. `https://cortex.jatos.org/publix/run?code=GwtCkuCY4bM`. As you can see it uses the URL query parameter 'code' to pass on the study code. -The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. +The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. #### Customization of the message -By default the message on the Study Entry page is something like 'Press to start the experiment'. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties +By default the message on the Study Entry page is something like Press to start the experiment. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties ### Study code + Study Entry page -You can also just hand out the Study Code and let your participants enter it themselves in the Study Entry page. The URL to the Study Run page is `https://my.jatos.server/publix/run`. +You can also just hand out the Study Code and let your participants enter it themselves in the Study Entry page. The URL to the Study Run page is `https://my.jatos.server/publix/run`. It will show a field where the study code can be entered. And after pressing the button the study starts: @@ -121,13 +121,13 @@ The advantage of using the Study Entry page with the study codes is similar to a A batch is a collection of study links and their assoziated workers. Using different batches is useful to organize your study runs, separate their results and vary their setup. E.g. you could separate a pilot run from the "proper" experiment, or you could use different batches for different worker types. -Batches are organized in the Study Links page. Here you can create and delete batches, access each batch's properties and edit its **Batch Session Data** or look through their results. +Batches are organized in the Study Links page. Here you can create and delete batches, access each batch's properties and edit its Batch Session Data or look through their results. -Each study comes with a "Default" batch (although it can be renamed in its batch properties). +Each study comes with a Default batch (although it can be renamed in its batch properties). ![Study Links page screenshot](/img/study_links_12.png) -You can **deactivate** or **activate** a batch by clicking on the checkbox button in each batch row. A deactivated batch doesn't allow any study runs. +You can **deactivate** or **activate** a batch by clicking on the checkbox button in each batch row. A deactivated batch doesn't allow any study runs. ### Batch Properties @@ -136,23 +136,23 @@ Each batch has properties that can be changed: click on the Batch Properties ![Study Links page screenshot](/img/study_links_13.png) -* For each batch, you can limit the maximum number of workers that will ever be able to run a study in this batch by setting the **Maximum total workers**. +* For each batch, you can limit the maximum number of workers that will ever be able to run a study in this batch by setting the Maximum total workers. -* Additionally you can switch on or off study link types in the **Allowed types**. Unchecked types are not allowed to run a study. This has the same effect as de-/activating the type in the batch. Always check before you send out study links that the corresponding types are activated. +* Additionally you can switch on or off study link types in the Allowed types. Unchecked types are not allowed to run a study. This has the same effect as de-/activating the type in the batch. Always check before you send out study links that the corresponding types are activated. -* A batch can have a **JSON input** [similar to the one in the study or component properties](Write-your-own-Study-Basics-and-Beyond.html#study-json-input-and-component-json-input). The difference is that this one is only accessible from every study run in this batch. +* A batch can have a JSON input [similar to the one in the study or component properties](Write-your-own-Study-Basics-and-Beyond.html#study-json-input-and-component-json-input). The difference is that this one is only accessible from every study run in this batch. -* The **Group Properties** relate to [group studies](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). +* The Group Properties relate to [group studies](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). ### Groups -A batch is also the place where [JATOS groups](Write-Group-Studies-I-Setup.html) are handled. Here you can an get an overview of the Groups that belong to this batch: see what their member workers are or edit the **Group Session Data**. +A batch is also the place where [JATOS groups](Write-Group-Studies-I-Setup.html) are handled. Here you can an get an overview of the Groups that belong to this batch: see what their member workers are or edit the Group Session Data. ![Groups table](/img/groups_view.png) -* **Fixed** this button allows you to _fix_ a group. A fixed group doesn't allow new members to join. It keeps the group as it currently is. It has the same effect as the _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed) ([more info](Write-Group-Studies-II-JavaScript-and-Messaging.html#fixing-a-group)). -* **Active Workers** are the workers that are currently members in the group -* **Past Workers** the ones that were members at one point in the past -* **Results** shows only the study results that belong to this group -* **Group State** can be START, FINISHED, or FIXED +* **Fixed** this button allows you to _fix_ a group. A fixed group doesn't allow new members to join. It keeps the group as it currently is. It has the same effect as the _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed) ([more info](Write-Group-Studies-II-JavaScript-and-Messaging.html#fixing-a-group)). +* **Active Workers** are the workers that are currently members in the group +* **Past Workers** the ones that were members at one point in the past +* **Results** shows only the study results that belong to this group +* **Group State** can be START, FINISHED, or FIXED diff --git a/docs/Run_your_study/Study-Log.md b/docs/Run_your_study/Study-Log.md index eba03e9c29..d15b77dbd5 100644 --- a/docs/Run_your_study/Study-Log.md +++ b/docs/Run_your_study/Study-Log.md @@ -3,10 +3,11 @@ title: Study Log slug: /Study-Log.html sidebar_position: 10 --- +import Hl from '@site/src/components/Highlight'; JATOS stores a log file for each study (not to be confused with [JATOS' log](Troubleshooting.html#read-log-file-in-the-browser) which is for the whole application). This file has a line for every relevant event that happened in a study, most importantly when a component result was saved, exported or deleted. Also, it contains a hash - a string that is generated by the contents of the result data itself. This, in principle, would allow any JATOS user to show that the data have not been modified, and that no result was deleted between data collection and publication. -You can see the log by clicking on **More** in the study toolbar and then **Study Log**: +You can see the log by clicking on More in the study toolbar and then Study Log: ![Study Log button](/img/study_log_button_371.png) @@ -20,4 +21,4 @@ Then the log looks similar to this: * The following events are logged: **create/delete study**, **run/finish study**, **store result data**, **upload result file**, **export result data** * In case of storing result data or uploading a result file a hash of the data is logged. Since a hash changes if a result is altered or deleted, this can prove **data integrity** should it ever being questioned. * The study log is only as safe as the server machine on which JATOS is running. Anybody with access to the server can potentially modify the study log file and e.g. hide that data has been deleted. We can't prevent this, so it's important to have a safe server that only admins can access. -* The study log is in JSON format. Choose between **pretty** (like in the screenshot above) or **raw**. +* The study log is in JSON format. Choose between pretty (like in the screenshot above) or raw. diff --git a/docs/Run_your_study/Tips-and-Tricks.md b/docs/Run_your_study/Tips-and-Tricks.md index ff25b72d59..e83cc19d39 100644 --- a/docs/Run_your_study/Tips-and-Tricks.md +++ b/docs/Run_your_study/Tips-and-Tricks.md @@ -7,7 +7,7 @@ import Hl from '@site/src/components/Highlight'; ### Batch and Group Session do not work on Windows without HTTPS -The Batch and Group Session rely on WebSockets. Sometimes (rarely) a virus scanner prohibits unencryped WebSockets. This is only a problem on Windows, but not on Mac OS or Linux and only with certain virus scanner programs. If this happens you will see an error message in your brower's console: _Batch channel closed unexpectedly_. To solve this you can either turn on HTTPS on your JATOS server (recommended) or turn off the virus scranner on (all) your participants computers. +The Batch and Group Session rely on WebSockets. Sometimes (rarely) a virus scanner prohibits unencryped WebSockets. This is only a problem on Windows, but not on Mac OS or Linux and only with certain virus scanner programs. If this happens you will see an error message in your brower's console: Batch channel closed unexpectedly. To solve this you can either turn on HTTPS on your JATOS server (recommended) or turn off the virus scranner on (all) your participants computers. ### Run up to 10 studies in the same browser at the same time @@ -22,7 +22,7 @@ If you think about it, MTurk simply calls a JATOS [study link](Run-your-Study-wi #### Examples -* To run the study with ID 4 and batch with ID 2 with an **MTurk** worker on a local JATOS use +* To run the study with ID 4 and batch with ID 2 with an MTurk worker on a local JATOS use ``` http://localhost:9000/publix/myStudyCode?workerId=123456&assignmentId=abcdef @@ -39,19 +39,19 @@ If you think about it, MTurk simply calls a JATOS [study link](Run-your-Study-wi ### Lock your studies before running them -Each Study bar has a button that toggles between the 'Unlocked' and 'Locked' states. Locking a study prevents changes to its (or any of its components') properties, change the order of components, etc. +Each Study bar has a button that toggles between the Unlocked and Locked states. Locking a study prevents changes to its (or any of its components') properties, change the order of components, etc. ![](/img/study_locked.png) ### Do a General Single Run more than once in the same browser -The problem here is that a General Single Run is intended to work only once in the same browser. Although this is a feature to limit participants doing the same study twice, it can be a hassle for you as a study developer who just want to try out the General Single Run a second time. Luckily there is an easy way around: Since for a General Single Run all studies that the worker already participated in are stored in a browser cookie, it can be easily removed. Just **remove the cookie with the name JATOS_GENERALSINGLE_UUIDS** in your browser. You can find this cookie in every webpage hosted by a JATOS server. If it doesn't exist you probably never did a General Single run yet. +The problem here is that a General Single Run is intended to work only once in the same browser. Although this is a feature to limit participants doing the same study twice, it can be a hassle for you as a study developer who just want to try out the General Single Run a second time. Luckily there is an easy way around: Since for a General Single Run all studies that the worker already participated in are stored in a browser cookie, it can be easily removed. Just **remove the cookie with the name JATOS_GENERALSINGLE_UUIDS** in your browser. You can find this cookie in every webpage hosted by a JATOS server. If it doesn't exist you probably never did a General Single run yet. ### Abort study and keep some data -If the `jatos.abortStudy` function is called (usually after the worker clicks a "Cancel" button) all result data that had been sent to JATOS during this study run will be deleted. This includes result data from prior components of the study run. But sometimes you'll want to save a bit of information that should not be deleted: you might need the worker's email address to pay them. +If the `jatos.abortStudy` function is called (usually after the worker clicks a Cancel button) all result data that had been sent to JATOS during this study run will be deleted. This includes result data from prior components of the study run. But sometimes you'll want to save a bit of information that should not be deleted: you might need the worker's email address to pay them. 1. By using the build-in abort button with [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) and set the `msg` parameter. This message won't be deleted together with the other result data. This message can then be seen in every Study Result page in the 'Message' column. @@ -63,7 +63,7 @@ If the `jatos.abortStudy` function is called (usually after the worker clicks a }); ``` -1. By using [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and its message parameter. This message won't be deleted together with the other result data. This message can then be seen in every Study Result page in the 'Message' column. +1. By using [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and its message parameter. This message won't be deleted together with the other result data. This message can then be seen in every Study Result page in the Message column. E.g. @@ -74,7 +74,7 @@ If the `jatos.abortStudy` function is called (usually after the worker clicks a ### How to let a Personal Single Worker redo his study? -A Personal Single Worker is only allowed to run their study once. But sometimes you want to allow them to do it a second time (maybe they accidentally clicked the Cancel button). One way would be to just create another Personal Single Link and hand it to the worker. But there is another way without creating a second Link: you can simply delete the worker's result from one of the result pages. This will allow this Personal Single worker to redo this study. +A Personal Single Worker is only allowed to run their study once. But sometimes you want to allow them to do it a second time (maybe they accidentally clicked the Cancel button). One way would be to just create another Personal Single Link and hand it to the worker. But there is another way without creating a second Link: you can simply delete the worker's result from one of the result pages. This will allow this Personal Single worker to redo this study. ### Simulate slow network @@ -82,10 +82,10 @@ Usually one develops a study on a local JATOS or a remote JATOS with a good inte ### Personal/General Single links seem not to work when distributed via social networks -Problem: The study runs fine, but as soon as one distributes links for Personal Single or General Single runs via social networks like Twitter, Facebook and Reddit or chat tools like Slack and Google Hangout it stops working. The participants only get the message 'A problem occurred: Study can be done only once.' and in the results the study run appears as started but never finished (State DATA_RETRIEVED). +Problem: The study runs fine, but as soon as one distributes links for Personal Single or General Single runs via social networks like Twitter, Facebook and Reddit or chat tools like Slack and Google Hangout it stops working. The participants only get the message A problem occurred: Study can be done only once. and in the results the study run appears as started but never finished (State DATA_RETRIEVED). -The reason for this behaviour is that some of those tools open links that are posted in them before your participant can click on them. They do this to provide more information about the link, like a title and an image. Usually this is fine but Personal/General Single links work exactly once (if preview is not allowed) and a second request with the same link just responses with the forementioned error message. +The reason for this behaviour is that some of those tools open links that are posted in them before your participant can click on them. They do this to provide more information about the link, like a title and an image. Usually this is fine but Personal/General Single links work exactly once (if preview is not allowed) and a second request with the same link just responses with the forementioned error message. -1. Use [study links with confirmation](Run-your-Study-with-Study-Links.html#study-links---how-to-let-participants-run-your-study) - Choose the study link version with the button Confirm First. This link shows a 'study entry' page before the actual study starts. This page can be opened many times. +1. Use [study links with confirmation](Run-your-Study-with-Study-Links.html#study-links---how-to-let-participants-run-your-study) - Choose the study link version with the button Confirm First. This link shows a study entry page before the actual study starts. This page can be opened many times. -1. [Allow preview](Restricting-study-flow.html#allow-preview) - You can keep using Personal/General Single links and use a [preview link](Restricting-study-flow.html#preview-links) to allow opening the first component of your study as many times as one wishes. All following components can be opened only once again. +1. [Allow preview](Restricting-study-flow.html#allow-preview) - You can keep using Personal/General Single links and use a [preview link](Restricting-study-flow.html#preview-links) to allow opening the first component of your study as many times as one wishes. All following components can be opened only once again. diff --git a/docs/Run_your_study/Use-Prolific.md b/docs/Run_your_study/Use-Prolific.md index 5548a05547..312a79ac98 100644 --- a/docs/Run_your_study/Use-Prolific.md +++ b/docs/Run_your_study/Use-Prolific.md @@ -3,22 +3,23 @@ title: Use Prolific slug: /Use-Prolific.html sidebar_position: 6 --- +import Hl from '@site/src/components/Highlight'; It is very easy to use JATOS together with [Prolific](https://www.prolific.co/) to recruit participants. -This is what the _New Study_ page in Prolific looks like: +This is what the New Study page in Prolific looks like: ![Prolific screenshot](/img/Screenshot_Prolific_create_study.png) ### 1. Enter your JATOS study link -In the field under _What is the URL of your study?_ (first red box in the screenshot), enter a link to your JATOS study.You probably want a study link of either _General Single_ or a _General Multiple_ type (see [Run your Study with Study Links](Run-your-Study-with-Study-Links.html)). +In the field under What is the URL of your study? (first red box in the screenshot), enter a link to your JATOS study.You probably want a study link of either General Single or a General Multiple type (see [Run your Study with Study Links](Run-your-Study-with-Study-Links.html)). ### 2. (Optional) Consider passing Prolific URL parameters to your study -Prolific allows you to pass the parameters PROLIFIC PID, STUDY ID, and SESSION ID as URL parameters. Click on 'Show advanced' and then 'Add parameters' like in the screenshot. +Prolific allows you to pass the parameters PROLIFIC PID, STUDY ID, and SESSION ID as URL parameters. Click on Show advanced and then Add parameters like in the screenshot. ![Prolific screenshot](/img/Screenshot_Prolific_query_parameter.png) @@ -31,7 +32,7 @@ The second red box contains a link that will (re)direct the participant to a Pro **Choose one of the two ways** -1. With JATOS' UI (easiest and recommended): Put the Prolific link in the **End Redirect URL** field of your Study Properties +1. With JATOS' UI (easiest and recommended): Put the Prolific link in the End Redirect URL field of your Study Properties ![screenshot](/img/Screenshot_end-redirect-url.png) diff --git a/docs/Run_your_study/Worker-Types.md b/docs/Run_your_study/Worker-Types.md index 0e764592f1..6be22e5c0a 100644 --- a/docs/Run_your_study/Worker-Types.md +++ b/docs/Run_your_study/Worker-Types.md @@ -29,34 +29,34 @@ Jatos workers run a study (or any of its components individually) by clicking on ### Personal Single Worker -With a Personal Single study link **a study can be run only once** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). You can think of them as _personalized links with single access_. Each Personal Single study link corresponds to a Personal Single worker. +With a Personal Single study link **a study can be run only once** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). You can think of them as _personalized links with single access_. Each Personal Single study link corresponds to a Personal Single worker. -Usually you would send a Personal Single study link to workers that you contact individually. Personal Single study links are useful in small studies, where it's feasible to contact each worker individually, or (e.g.) you want to be able to pair up several results (either from the same or different studies) in a longitudinal design. +Usually you would send a Personal Single study link to workers that you contact individually. Personal Single study links are useful in small studies, where it's feasible to contact each worker individually, or (e.g.) you want to be able to pair up several results (either from the same or different studies) in a longitudinal design. [More about how to generate Personal type study links](Run-your-Study-with-Study-Links.html#personal-type-links) ### Personal Multiple Worker -With a Personal Multiple study link the worker can **run a study as many times as they want**. Each Personal Multiple study link corresponds to a Personal Multiple worker. +With a Personal Multiple study link the worker can **run a study as many times as they want**. Each Personal Multiple study link corresponds to a Personal Multiple worker. -You could send Personal Multiple study links to your pilot workers. +You could send Personal Multiple study links to your pilot workers. [More about how to generate Personal type study links](Run-your-Study-with-Study-Links.html#personal-type-links) ### General Single Worker -This study link type can be used **many times by different participants to run a study but only once per browser** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). Each time the link is used a new General Single worker is created on-the-fly. +This study link type can be used **many times by different participants to run a study but only once per browser** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). Each time the link is used a new General Single worker is created on-the-fly. -You could distribute a General Single study link through social media, like twitter, a mailing list or posting it on a public website. It is essentially useful for cases where you want to collect data from a large number of workers. +You could distribute a General Single study link through social media, like twitter, a mailing list or posting it on a public website. It is essentially useful for cases where you want to collect data from a large number of workers. -Keep in mind, however, that JATOS uses the browser's cookies to decide whether a study link was already used. If someone uses a different computer, a new browser, or simply deletes their browser's cookies, then JATOS will assume that it's an unused study link. So the same person could (with some effort) use a General Single link several times. +Keep in mind, however, that JATOS uses the browser's cookies to decide whether a study link was already used. If someone uses a different computer, a new browser, or simply deletes their browser's cookies, then JATOS will assume that it's an unused study link. So the same person could (with some effort) use a General Single link several times. ### General Multiple Worker -A General Multiple study link is the least restrictive type and can be used **many times by different participants to run a study**. The difference to a General Single is that the General Multiple study link can be used repeatedly **even in the same browser**. Each time a General Multiple study link is used a new General Multiple worker is created on-the-fly. +A General Multiple study link is the least restrictive type and can be used **many times by different participants to run a study**. The difference to a General Single is that the General Multiple study link can be used repeatedly **even in the same browser**. Each time a General Multiple study link is used a new General Multiple worker is created on-the-fly. ### MTurk (Sandbox) Worker diff --git a/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md b/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md index 4520177c32..d10c3253ab 100644 --- a/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md +++ b/docs/Serving_the_Internet/JATOS-on-DigitalOcean.md @@ -45,15 +45,15 @@ First we want to set up a simple JATOS server without encryption (HTTPS) or a do 1. [Optional] Add backups -1. Finally click the Create button +1. Finally click the _Create_ button 1. Try out your JATOS: Now the server is being created which can take a couple seconds (or minutes). Copy the server's (aka Droplet) IP address into your browser's address bar and if everything went well, you will see a JATOS login screen. 1. Log into JATOS with ‘admin’ and password ‘admin’ 1. The first thing you should do is change your admin password: - 1. Click on ‘Admin (admin) in top-right header - 1. Click ‘Change Password’ + 1. Click on Admin (admin) in top-right header + 1. Click Change Password **Voila, you have your own JATOS server.** diff --git a/docs/Serving_the_Internet/JATOS-on-a-server.md b/docs/Serving_the_Internet/JATOS-on-a-server.md index 4ac6c56ff8..4a96305c88 100644 --- a/docs/Serving_the_Internet/JATOS-on-a-server.md +++ b/docs/Serving_the_Internet/JATOS-on-a-server.md @@ -3,6 +3,7 @@ title: Install JATOS on a server slug: /JATOS-on-a-server.html sidebar_position: 5 --- +import Hl from '@site/src/components/Highlight'; There are [several ways to bring JATOS to the internet](Bring-your-JATOS-online.html). If you don't know much about server administration the [DigitalOcean](JATOS-on-DigitalOcean.html) page might be best for you. @@ -75,8 +76,8 @@ Every JATOS installation comes with an Admin user that has the default password 1. Start JATOS and in a browser go to JATOS login page `http://my-jatos-domain/jatos` 1. Login as 'admin' with password 'admin' -1. Click on 'Admin (admin)' in top-right header -1. Click 'Change Password' +1. Click on Admin (admin) in top-right header +1. Click Change Password ### 6. Check JATOS' test page @@ -166,15 +167,15 @@ If you want to keep it simple and you didn't change any of the folder paths then What has to be backed up in detail: -1. **Database** +1. **Database** * **MySQL** - If you use a MySQL database you might want to look into the `mysqldump` shell command. E.g., with `mysqldump -u myusername -p mydbname > mysql_bkp.out` you can backup the whole data into a single file. Restore the database with `mysql -u myusername -p mydbname < mysql_bkp.out`. * **H2** - There are at least two ways: one easy (but unofficial) and one official: 1. Copy & paste the db file - **It's important to stop JATOS before doing a backup or restoring a H2 database** this way. If you do not stop JATOS your [data might be corrupted](Troubleshooting.html#database-is-corrupted). You can just backup the folder `my-jatos-path/database`. 1. Via [H2's upgrade, backup, and restore tool](http://www.h2database.com/html/tutorial.html#upgrade_backup_restore) -1. **study_assets_root folder** - This is the folder where all the study's assets (e.g. HTML, JS, CSS, images) are stored. +1. **study_assets_root folder** - This is the folder where all the study's assets (e.g. HTML, JS, CSS, images) are stored. -1. **result_uploads folder** - This folder contains the files, that were uploaded during study runs. +1. **result_uploads folder** - This folder contains the files, that were uploaded during study runs. -1. **study_logs folder** - Contains the [study logs](Study-Log.html). +1. **study_logs folder** - Contains the [study logs](Study-Log.html). diff --git a/docs/Serving_the_Internet/JATOS-with-Nginx.md b/docs/Serving_the_Internet/JATOS-with-Nginx.md index 0343e1b5fa..4a9e63221b 100644 --- a/docs/Serving_the_Internet/JATOS-with-Nginx.md +++ b/docs/Serving_the_Internet/JATOS-with-Nginx.md @@ -72,7 +72,7 @@ http { ssl_prefer_server_ciphers on; # websocket location (JATOS' group and batch channel and the test page) - location ~ "/(jatos/testWebSocket|publix/[\d]+/(group/join|batch/open))" { + location ~ "/(jatos/testWebSocket|publix/[a-z0-9-]+/(group/join|batch/open))" { proxy_pass http://jatos-backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -172,7 +172,7 @@ http { server_name www.example.com; # websocket location (JATOS' group and batch channel and the test page) - location ~ "^/(jatos/testWebSocket|publix/[\d]+/(group/join|batch/open))" { + location ~ "^/(jatos/testWebSocket|publix/[a-z0-9-]+/(group/join|batch/open))" { proxy_pass http://jatos-backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; diff --git a/docs/Serving_the_Internet/Updating-a-JATOS-server-installation.md b/docs/Serving_the_Internet/Updating-a-JATOS-server-installation.md index 17553e8109..6f10dc4174 100644 --- a/docs/Serving_the_Internet/Updating-a-JATOS-server-installation.md +++ b/docs/Serving_the_Internet/Updating-a-JATOS-server-installation.md @@ -3,6 +3,7 @@ title: Updating a JATOS server installation slug: /Updating-a-JATOS-server-installation.html sidebar_position: 11 --- +import Hl from '@site/src/components/Highlight'; Updating the server instance is equivalent to doing it [locally](Update-JATOS.html), but make sure that you know what you're doing; especially if you have paired JATOS with a MySQL database. @@ -12,7 +13,7 @@ The easiest way to backup is to do a snapshot of the whole server. If you use an As with [updating of a local JATOS installation](Update-JATOS.html) you can do it automatically or manually. -After updating you can check the new JATOS installation with the test page: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +After updating you can check the new JATOS installation with the test page: go to AdministrationTests and check that all tests are OK. ## Automatic Update (recommended) @@ -45,5 +46,5 @@ This means that we have to configure the MySQL database or copy the embedded H2 * MySQL - For MySQL you don't have to change anything on the database side. 1. [Configure the new JATOS like the old one](Configure-JATOS-on-a-Server.html) - usually it's enough to copy the `production.conf` from the old `conf` folder into the new one 1. Start the new JATOS using `./loader.sh start` -1. Open JATOS' test page (_Administration_ ⇒ _Tests_) and check that everything is 'OK' +1. Open JATOS' test page (AdministrationTests) and check that everything is OK diff --git a/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md b/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md index ef21972c92..59389bded0 100644 --- a/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md +++ b/docs/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md @@ -13,9 +13,9 @@ You might have a task, experiment, survey, or study running in a browser. You mi ### Create the study in your local JATOS -1. Create a new study with the New Study button in JATOS' header. Choose a study title and a folder name. Leave the other fields empty for now and click 'Create'. JATOS will have created a new folder within your assets root folder (default is `/path_to_your_JATOS/study_assets_root/`). +1. Create a new study with the New Study button in JATOS' header. Choose a study title and a folder name. Leave the other fields empty for now and click Create. JATOS will have created a new folder within your assets root folder (default is `/path_to_your_JATOS/study_assets_root/`). 1. Copy all your files (HTML, JavaScripts, images, audio, ...) into your new study folder. -1. Back in the JATOS GUI, and within the newly created study, create a **new component** by clicking 'Components' and then 'New'. Choose a component title and set the HTML file name, to the name of the HTML file you just copied into the study folder. +1. Back in the JATOS GUI, and within the newly created study, create a **new component** by clicking Components and then New. Choose a component title and set the HTML file name, to the name of the HTML file you just copied into the study folder. 1. In your HTML, CSS and JavaScripts, for your paths you can choose between 1) relative paths or 2) absolute paths. **Relative paths are recommended** since they are shorter and do not change after an export-import of a study. 1. **Relative paths)** Just use the relative path within your study's folder. @@ -40,7 +40,7 @@ You might have a task, experiment, survey, or study running in a browser. You mi ``` - ✰ For absolute paths make sure you understand the difference between the `study_assets_root` folder and the placeholder `study_assets` in your path names. `study_assets_root` is the folder in your system (or in the server) where the assets (HTML, JS, CSS, images, etc) of **all** your JATOS studies will be stored. You can [configure](Configure-JATOS-on-a-Server.html#study-assets-root-path) the location of this folder. `study_assets`, on the other hand, is just a placeholder that will go in your HTML files. JATOS will interpret this and replace the placeholder with the path, (specific to the study) that you entered in the field 'Study assets directory name' in your Study's Properties. The advantage of this is that you can change the location or name of the assets for any study, or export-import a study into a different computer, and the study will still run without having to make any changes in the HTML code. + ✰ For absolute paths make sure you understand the difference between the `study_assets_root` folder and the placeholder `study_assets` in your path names. `study_assets_root` is the folder in your system (or in the server) where the assets (HTML, JS, CSS, images, etc) of **all** your JATOS studies will be stored. You can [configure](Configure-JATOS-on-a-Server.html#study-assets-root-path) the location of this folder. `study_assets`, on the other hand, is just a placeholder that will go in your HTML files. JATOS will interpret this and replace the placeholder with the path, (specific to the study) that you entered in the field Study assets directory name in your Study's Properties. The advantage of this is that you can change the location or name of the assets for any study, or export-import a study into a different computer, and the study will still run without having to make any changes in the HTML code. 1. Now it's time for a first glimpse: Click the Run button in either the study's or the component's toolbar. Your experiment should run like it did before without JATOS. Use the browser's developer tools to check for eventually missing files and other occurring errors. @@ -108,5 +108,5 @@ That's about it. Infos about other _jatos.js_ functions and variables you can fi ### Beyond the basics * Think about dividing your study into **several components**. You could have separate components e.g. for introduction, training, experiment and feedback. You could even consider splitting the experiment into several parts. One advantage is that if your participant stops in the middle of your study you still have the result data of the first components. Also, you can re-use components in different studies. -* Use the study's and component's '**JSON input data**'. With them you can change variables of your code directly through JATOS' GUI, which might come handy if someone isn't good in JavaScript. -* You can add a quit button to your study to allow the participant to [abort at any time](Data-Privacy-and-Ethics.html#things-you-should-consider-in-your-studies). +* Use the study's and component's JSON input data. With them you can change variables of your code directly through JATOS' GUI, which might come handy if someone isn't good in JavaScript. +* You can add a **quit button** to your study to allow the participant to [abort at any time](Data-Privacy-and-Ethics.html#things-you-should-consider-in-your-studies). diff --git a/docs/Write_your_study/Session-Data-Three-Types.md b/docs/Write_your_study/Session-Data-Three-Types.md index 4879bcd7c1..58a3df340b 100644 --- a/docs/Write_your_study/Session-Data-Three-Types.md +++ b/docs/Write_your_study/Session-Data-Three-Types.md @@ -3,6 +3,7 @@ title: Session Data - Three Types slug: /Session-Data-Three-Types.html sidebar_position: 9 --- +import Hl from '@site/src/components/Highlight'; ### When to use the sessions? @@ -14,9 +15,9 @@ sidebar_position: 9 Often you want to store information during a study run and share it with other components of the same study, or between workers of a group or batch. The three different session types let you transfer data in this way (shown by the curved arrows in the picture on the right). Workers can write into the sessions through _jatos.js_. -The data stored in the sessions are **volatile** - do not use the sessions to store data permanently. Instead, store any information that might be useful for data analysis in the **Result Data**. Unlike the data stored in the sessions, the Result Data are stored permanently in the JATOS server, and will never be deleted automatically. +The data stored in the sessions are **volatile** - do not use the sessions to store data permanently. Instead, store any information that might be useful for data analysis in the Result Data. Unlike the data stored in the sessions, the Result Data are stored permanently in the JATOS server, and will never be deleted automatically. -The data stored in the sessions are not exported or imported together with a study. If you want data to be exported with a study, use the **JSON Input Data** instead. +The data stored in the sessions are not exported or imported together with a study. If you want data to be exported with a study, use the JSON Input Data instead.
@@ -37,19 +38,19 @@ The data stored in the sessions are not exported or imported together with a stu We have an [example study](/Example-Studies), where we show the three different session types in action. Try it yourself: -1. Download and import the study. You'll find that the study contains two components: "First" and "Second". +1. Download and import the study. You'll find that the study contains two components: First and Second. -1. Run the study once: easiest is as a JATOS worker (just click 'Run' on the study bar, not on any of the component bars). +1. Run the study once: easiest is as a JATOS worker (just click Runon the study bar, not on any of the component bars). -1. The first component will prompt you for a name. It will then write the name you enter here into the **Study Session**. Because all components have access to the Study Session, the second component can read it and use your name in a chat window. +1. The first component will prompt you for a name. It will then write the name you enter here into the Study Session. Because all components have access to the Study Session, the second component can read it and use your name in a chat window. ![First component screenshot](/img/ChatExample_1.png) -1. When you click on 'Next', the second component will load. Here you will see two chat windows: The left one is called the group chat because it uses the Group Session; the right one is called batch chat because it uses the Batch Session. For now you're alone in these chat rooms. So, without closing this run and from new browser tabs, **run the study 2 more times (at least)**. You can choose any study link type you want. +1. When you click on Next, the second component will load. Here you will see two chat windows: The left one is called the group chat because it uses the Group Session; the right one is called batch chat because it uses the Batch Session. For now you're alone in these chat rooms. So, without closing this run and from new browser tabs, **run the study 2 more times (at least)**. You can choose any study link type you want. ![Second component screenshot](/img/ChatExample_2.png) -1. Now you have 3 simultaneous study runs. You will notice while writing into the group chat that two of your workers are in the same group - the third one has their own group. Why 2 per group? Because we [set the groups to a maximum of 2 members each](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). The group chat will use the **Group Session** to allow the 2 members of each group to communicate with each other. Members of other groups will not have access to the chats of this group. However, anything written into the **Batch Session** will be accesssible by all workers that are members of this batch, regardless of the group they're in. +1. Now you have 3 simultaneous study runs. You will notice while writing into the group chat that two of your workers are in the same group - the third one has their own group. Why 2 per group? Because we [set the groups to a maximum of 2 members each](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). The group chat will use the Group Session to allow the 2 members of each group to communicate with each other. Members of other groups will not have access to the chats of this group. However, anything written into the Batch Session will be accesssible by all workers that are members of this batch, regardless of the group they're in. ![Second component screenshot](/img/ChatExample_3.png) ![Second component screenshot](/img/ChatExample_4.png) diff --git a/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md b/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md index 893a805463..8e43a1e9a5 100644 --- a/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md +++ b/docs/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md @@ -14,11 +14,11 @@ After you [created a new study](Create-a-new-study.html) ... what comes next? If you have an empty study you want to add a component. A component corresponds to a webpage defined by an HTML file. A study can have more than one component - this is actually a strength of JATOS: e.g. one can combine different experiments into one, or easily add an survey to an existing experiment. -To add a component go to your study and click on Components -> New. +To add a component go to your study and click on Components -> New. ![New Component](/img/Screenshot_new-component_371.png) -Then in the following form you define the component's properties: enter the component's title and most importantly its 'HTML file path'. This is the path to the HTML file that starts this component. +Then in the following form you define the component's properties: enter the component's title and most importantly its HTML file path. This is the path to the HTML file that starts this component. ![New Component](/img/Screenshot_new-component-properites.png) @@ -71,7 +71,7 @@ E.g. you want to be able to quickly change * the number of trials * some parameter needed in the experiment -This you can achieve with the Study JSON Input or Component JSON Input because both can be easily edited in the Study Properties or Component Properties. +This you can achieve with the Study JSON Input or Component JSON Input because both can be easily edited in the Study Properties or Component Properties. ![Study Properties / JSON input](/img/Screenshot_studyJsonInput_371.png) @@ -95,7 +95,7 @@ you can access those fields in your JavaScript with `jatos.studyJsonInput.introd ## Study / Batch / Group Session -The sessions are there to help you exchange data within a study, batch or group. The Study Session allows to pass on data within the same study run, from one component to the next. With the Batch Session one can transfer data between study runs that belong to the same batch. There is a whole page dedicated to those sessions: [Session Data - Three Types](/Session-Data-Three-Types.html). +The sessions are there to help you exchange data within a study, batch or group. The Study Session allows to pass on data within the same study run, from one component to the next. With the Batch Session one can transfer data between study runs that belong to the same batch. There is a whole page dedicated to those sessions: [Session Data - Three Types](/Session-Data-Three-Types.html). ## Group Studies diff --git a/docs/Write_your_study/jsPsych-and-JATOS.md b/docs/Write_your_study/jsPsych-and-JATOS.md index 3281887739..3cb2a27557 100644 --- a/docs/Write_your_study/jsPsych-and-JATOS.md +++ b/docs/Write_your_study/jsPsych-and-JATOS.md @@ -4,7 +4,6 @@ slug: /jsPsych-and-JATOS.html hide_table_of_contents: true sidebar_position: 4 --- -import Hl from '@site/src/components/Highlight';
@@ -36,7 +35,7 @@ Every jsPsych version works slightly different. Here we explain the steps for js }); ~~~ -1. Wrap jsPsych's run in `jatos.onLoad` and if you want add a Cancel button with `jatos.addAbortButton`. +1. Wrap jsPsych's run in `jatos.onLoad` and if you want add a 'Cancel' button with `jatos.addAbortButton`. ~~~ javascript jatos.onLoad(() => { @@ -45,4 +44,4 @@ Every jsPsych version works slightly different. Here we explain the steps for js }); ~~~ -That's all. Have a look at the Simple Reaction Time Task in our [example studies](/Example-Studies) to see a full example with jsPsych 7. \ No newline at end of file +That's all. Have a look at the 'Simple Reaction Time Task' in our [example studies](/Example-Studies) to see a full example with jsPsych 7. \ No newline at end of file diff --git a/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md b/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md index b61b1b9936..89d0124ca0 100644 --- a/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md +++ b/versioned_docs/version-3.7.1/Overview/Data-Privacy-and-Ethics.md @@ -20,15 +20,15 @@ Here are a few advantages and limitations of JATOS with regards to data privacy. * JATOS' main advantage is that you can store your participants' data in your own server (e.g. at your university). This means that you have full control over the data stored in your database, and no commercial company has access to it. JATOS does not share any data (except of course during a study run with the participant's browsers). Each JATOS installation is completely independent of any other JATOS installation. * By default, JATOS stores the following data: - * time (of the server running JATOS) at which the study -and each of its components- was started and finished - * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) - * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. + * time (of the server running JATOS) at which the study -and each of its components- was started and finished + * the [worker type](Worker-Types.html) (MTurk, General single, Personal multiple, etc) + * in cases of MTurk workers, the confirmation code AND the MTurk worker ID. In these cases, if an MTurk worker participated in two of your studies, running in the same JATOS instance, **you will be able to associate the data across these two studies**. This is an important issue: MTurk workers might not be aware that you are the same researcher, and will not know that you have the chance to associate data from different studies. The best way to avoid this is to export all your study's data and delete it from the JATOS database once you are done with it. In this way, JATOS won't know that a worker already participated in another study and will create a new worker ID for them. * JATOS will **not** store information like IP address or browser type (User-Agent or any other HTTP header field). ### Things you should consider in your studies -* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently jatos.js offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. +* You should consider to add some button in your study pages to abort the study. Some ethics demand that any participant should have the **right to withdraw** at any time, without explanation. In this case all data of the participant gathered during the study should be deleted. Conveniently **jatos.js** offers the functions [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) that do exactly that. * Use **encryption** with your [server instance](JATOS-on-a-server.html). Only with encryption no one else in the internet can read the private data from your study's participants. diff --git a/versioned_docs/version-3.7.1/Overview/Get-started.md b/versioned_docs/version-3.7.1/Overview/Get-started.md index 3fb86e3d74..7f4ffdfa0c 100644 --- a/versioned_docs/version-3.7.1/Overview/Get-started.md +++ b/versioned_docs/version-3.7.1/Overview/Get-started.md @@ -13,7 +13,7 @@ import Hl from '@site/src/components/Highlight'; 1. **Download and import an example study** - 1. Download one of the [Example Studies](/Example-Studies), e.g. the Go- / No-Go Task with jsPsych. Do not unzip the downloaded file. + 1. Download one of the [Example Studies](/Example-Studies), e.g. the **'Go- / No-Go Task'** with jsPsych. Do not unzip the downloaded file. 1. Import the study into JATOS: Go to JATOS' GUI in your browser and click on Import Study in the header. Choose the .jzip (or .zip) file you just downloaded. The imported study should appear in the sidebar on the left. @@ -26,9 +26,9 @@ import Hl from '@site/src/components/Highlight'; If you finished running through the study, you can check the results. * To see whole-study results, click on the Results button on the top of the page. - * To see results from individual components, click on the Results buttons on each component's row. + * To see results from individual components, click on the Results buttons on each component's row. - For example, you can see each result's details by clicking on the little arrow to the left of its row ([more information on how to mangage results](Manage-results.html)). + For example, you can see each result's details by clicking on the to the left of its row ([more information on how to mangage results](Manage-results.html)). _Here's a screenshot of a study's results view:_ ![Results View screenshot](/img/ResultsView-Screenshot3.png) @@ -38,7 +38,7 @@ import Hl from '@site/src/components/Highlight'; Now it's time to explore a little bit more. * You can click on any component's position button and drag it to a new position within the study. -* Each component has a Properties button. The component's HTML file may read the data in the field JSON data. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. +* Each component has a Properties button. The component's HTML file may read the data in the field JSON input. This is a way to make changes in the details of the code (wording of instructions, stimuli, timing, number of trials, etc) without having to hard-code them into JavaScript. * Where are the actual HTML, JavaScript, and CSS files? They are the files that actually run your study, so make sure you can locate them. All these files, together with any images, sound files, etc. you might have, are called Study assets. They will be in `/path_to_my_JATOS/study_assets_root/name_of_my_study/`. _Here's a screenshot of a component's properties view:_ diff --git a/versioned_docs/version-3.7.1/Overview/Installation.md b/versioned_docs/version-3.7.1/Overview/Installation.md index 1f5bd24b64..1b5d34fa6b 100644 --- a/versioned_docs/version-3.7.1/Overview/Installation.md +++ b/versioned_docs/version-3.7.1/Overview/Installation.md @@ -3,7 +3,6 @@ title: Installation slug: /Installation.html sidebar_position: 3 --- -import Hl from '@site/src/components/Highlight'; ### Easy installation on your local computer @@ -13,12 +12,12 @@ A local installation is straightforward. Usually you first develop your study with JATOS on a local computer. Then in a second step you bring it to a server installation of JATOS. -With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. +With a local installation only you have access to JATOS - with a [server installation](Bring-your-JATOS-online.html) others can run your study via the internet too. This is especially true if you want to publish your study on Mechanical Turk. **For convenience JATOS is available as a bundle with Java.** To run JATOS, you need Java 11 installed on your computer (to be precise, you need a Java Runtime Environment, aka JRE). Chances are, you already have Java installed. To check whether Java is installed on your system, type `java -version` in your terminal (MacOS / Linux) or command window (Windows). -If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. +If you don't have Java installed, you can either download and install it (e.g. from [adoptium.net](https://adoptium.net/)) or download and install JATOS bundled with Java for your operating system. ### Installation Windows diff --git a/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md b/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md index f91156d815..16eae9f9c6 100644 --- a/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md +++ b/versioned_docs/version-3.7.1/Overview/Run-an-experiment-with-JATOS-Workflow.md @@ -13,7 +13,7 @@ When you start working with studies online, it can be hard to see what exactly J ## Step 1: Create/edit HTML, JS, and CSS files (Prepare your study) -We recommend that you always start to work on a new study in a local installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). +We recommend that you always start to work on a new study in a **local** installation of JATOS. That means, [download and run JATOS on your local computer](Installation.html#easy-installation-on-your-local-computer). The main advantage of this is that you have easy access to all your HTML files and assets and can move them around, delete, and replace without any fuss. Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) @@ -23,9 +23,9 @@ Learn more about [creating and editing HTML/JS code](Create-a-new-study.html) Once your study scripts are complete and bug-free, you need to make them available through the Internet. For that you will need, of course, [a server](Bring-your-JATOS-online.html). If you have a server already, you will need to take your ready-to-run study from your local installation and deploy it to the server. In order to do this: -1. On your local JATOS installation, where your study is, click on the study you want to export on the left sidebar. -1. On the Study bar, click Export. A pop-up window will appear. Save the .jzip file wherever you like on your computer. -1. On your server installation, simply click Import. +1. On your **local** JATOS installation, where your study is, click on the study you want to export on the left sidebar. +1. On the Study bar, click Export. A pop-up window will appear. Save the **.jzip** file wherever you like on your computer. +1. On your **server** installation, simply click Import. Done. @@ -34,7 +34,7 @@ There are a few important details in [deploying your study to a server](Deploy-t Also have a look at [Bring your JATOS online](Bring-your-JATOS-online.html). ## Step 3: Collect data -Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. +Read about [Study Links](Run-your-Study-with-Study-Links.html) to create links that you can distribute to your participants. You can do this in many different ways, decide which kind of [worker types](Worker-Types.html) you need. You can (but don't have to) use [MTurk](Connect-to-Mechanical-Turk.html) or [Prolific](Use-Prolific.html) to get participants. ## Step 4: Download and analyze data One of JATOS' features is that you can manage the results stored in the database without having to type SQL commands in a terminal. Instead, just do this [using the GUI](Manage-Results.html). diff --git a/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md b/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md index d617c02a0a..b5869e37ba 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Cross-sectional-and-longitudinal-studies.md @@ -10,7 +10,7 @@ There are several situation in which you might want to store (some parts) of the 1. run a between-participants study. 1. run a longitudinal study. -Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. +Whenever a participant clicks on a study link, JATOS internally starts a study run. Once the data from the last component are sumitted, the study run is finished and the data are no longer avalable to the client side. So, to run a cross-sectional or a longitudinal study, you need store data in a way that outlives the particular study run and is avalable to future runs. The [Batch Session data](Session-Data-Three-Types.html) does just this. ## 1. Counterbalance conditions between participants diff --git a/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md b/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md index 7b5f2a0c46..299fbc25db 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md +++ b/versioned_docs/version-3.7.1/Run_your_study/End-page-after-your-study-finished.md @@ -37,7 +37,7 @@ E.g. http://myjatosdomain/publix/v6UkpHR8Sfu?SONA_ID=123abc ``` -* And your _End Redirect URL_ (in study properties): +* And your End Redirect URL (in study properties): ``` https://rug.sona-systems.com/webstudy_credit.aspx?experiment_id=123&credit_token=1234567&survey_code=[SONA_ID] @@ -52,4 +52,4 @@ E.g. ### 3. In JavaScript with `jatos.endStudyAndRedirect` or `jatos.endStudyAjax` -If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two **_jatos.js_** functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's last component. This is the most versatile way. +If you want to determine dynamically (i.e. in JavaScript) the address of the webpage that your participants see after finishing a study, you can use one of the two **_jatos.js_** functions [`jatos.endStudyAndRedirect`](jatos.js-Reference.html#jatosendstudyandredirect) or [`jatos.endStudyAjax`](jatos.js-Reference.html#jatosendstudyajax) in the JavaScript of your study's last component. This is the most versatile way. diff --git a/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md b/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md index 6a038dac02..b8376edd60 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Manage-Results.md @@ -11,7 +11,7 @@ Once you collected data for a study, you can see and manage the results by click ![Results Link](/img/ResultsLink_371.png) -The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. +The image below is an example of a study results page, but there are result pages for components, batches or groups as well. There's quite a lot of information here, so we'll go through each piece. ![Results View screenshot](/img/ResultsView-Screenshot1.png) @@ -20,14 +20,14 @@ The image below is an example of a study results page, but there are result< ### View Result Data -Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on show all one can see the whole data if it doesn't fit all in the box. +Each study result has an arrow on the left. If you click on it, the result data for this study run will be displayed underneath the row. Since a study can have several components and each component produces its own result data there can be several result data each in its own row (like in the screenshot below). By clicking on show all one can see the whole data if it doesn't fit all in the box. ![Results View screenshot](/img/ResultsView-Screenshot3.png) ### Selecting Results -There is a checkbox on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. +There is a **checkbox** on the left side of each row to select/deselect a specific result. You can also use the buttons on the bar above to select/deselect all results in the table. Additionally you can select only the filtered ones or only the visible ones. ![Results View screenshot](/img/ResultsView-Screenshot2.png) @@ -53,68 +53,68 @@ Sometimes the simple filter is not precise enough or you want to combine multipl ### Export Result Data -Once you selected the results you're interested in, click Export Results and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select *All* to get all result data. +Once you selected the results you're interested in, click Export Results and *Selected* and you will download a text file that contains your results. Each line in this text file represents result data from one component. Alternatively you can also select All to get all result data. ![Results View screenshot](/img/ResultsView-Screenshot6.png) ### Export Result Files -Here you can download the result files that were uploaded during study runs. You can download single files by just clicking on them. Or similar to exporting result data select the lines you are interested in and download them with *Export Files* and *Selected*. Alternatively you can also select *All* to get all files. +Here you can download the result files that were uploaded during study runs. You can download single files by just clicking on them. Or similar to exporting result data select the lines you are interested in and download them with Export Files and Selected. Alternatively you can also select All to get all files. ![Results View screenshot](/img/ResultsView-Screenshot5.png) ### Export Metadata -Sometimes one is also interested in the metadata, that is what's in the actual table fields ("Result ID", "Start Time" , "Last Seen", ...). For this click on *Export Metadata* and the metadata of the selected results will be downloaded in CSV format. +Sometimes one is also interested in the metadata, that is what's in the actual table fields (Result ID, Start Time , Last Seen, ...). For this click on Export Metadata and the metadata of the selected results will be downloaded in CSV format. ![Results View screenshot](/img/ResultsView-Screenshot7.png) ## Delete Results -You can click *Delete* to remove all or only some selected results (result data + result files + metadata). Keep in mind **there's no undo function for this**. +You can click Delete to remove all or only some selected results (result data + result files + metadata). Keep in mind **there's no undo function for this**. ![Results View screenshot](/img/ResultsView-Screenshot8.png) ## Table Columns -You can show and hide the columns displayed in the table with the drop-down menu under the *Customize* button. +You can show and hide the columns displayed in the table with the drop-down menu under the Customize button. ![Results View screenshot](/img/ResultsView-Screenshot9.png) -* **Result ID** - An identifier assigned by JATOS to each study result. A study result is actually a set of component results, each of them with their own (different) *Component Result ID*. -* **UUID** - universally unique identifier - similar to Result ID but this ID is unique over different JATOS installations -* **Study Code** - The study code that was used to start this study run -* **Start Time** - Time (set at the server's time zone) at which the first component of the study was started. -* **End Time** - Time (set at the server's time zone) at which the last component of the study was finished. -* **Last Seen** - Each component running in a worker's browser sends a "heartbeat" regularly back to JATOS. Last Seen is the time of the last heartbeat received. The heartbeat stops either when the study is finished or when the browser tab is closed. The default period of the heartbeat is 2 minutes but you can change it through a [_jatos.js_ function](jatos.js-Reference.html#jatossetheartbeatperiod). -* **Duration** - Simply the time difference between the start and end time. -* **Batch** - Name of the batch the worker belongs to. -* **Worker ID** - Assigned by JATOS. Each worker has its own Worker ID. JATOS' admin user will always have Worker ID 1. You can click on a Worker ID to see all the worker's results. -* **Worker Type** - Displays the [Worker type](Worker-Types.html) that ran the study. -* **MTurk Worker ID** - Only applies to studies run by MTurk workers. An identifier given by Amazon Mechanical Turk's, not by JATOS. -* **MTurk Confirmation Code** - Only applies to studies run by MTurk workers. The Confirmation Code is generated by JATOS and given to the worker as proof of his work. -* **Group ID** - Only available for group studies. It identifies the group. -* **Files** - Indicates result file upload -* **Data Size** - (Component Results only) - Size of the result data as it is stored in the database -* **Files (Size)** - (Component Results only) - List of the uploaded result files with their size in brackets -* **State** +* **Result ID** - An identifier assigned by JATOS to each study result. A study result is actually a set of component results, each of them with their own (different) Component Result ID. +* **UUID** - universally unique identifier - similar to Result ID but this ID is unique over different JATOS installations +* **Study Code** - The study code that was used to start this study run +* **Start Time** - Time (set at the server's time zone) at which the first component of the study was started. +* **End Time** - Time (set at the server's time zone) at which the last component of the study was finished. +* **Last Seen** - Each component running in a worker's browser sends a "heartbeat" regularly back to JATOS. Last Seen is the time of the last heartbeat received. The heartbeat stops either when the study is finished or when the browser tab is closed. The default period of the heartbeat is 2 minutes but you can change it through a [_jatos.js_ function](jatos.js-Reference.html#jatossetheartbeatperiod). +* **Duration** - Simply the time difference between the start and end time. +* **Batch** - Name of the batch the worker belongs to. +* **Worker ID** - Assigned by JATOS. Each worker has its own Worker ID. JATOS' admin user will always have Worker ID 1. You can click on a Worker ID to see all the worker's results. +* **Worker Type** - Displays the [Worker type](Worker-Types.html) that ran the study. +* **MTurk Worker ID** - Only applies to studies run by MTurk workers. An identifier given by Amazon Mechanical Turk's, not by JATOS. +* **MTurk Confirmation Code** - Only applies to studies run by MTurk workers. The Confirmation Code is generated by JATOS and given to the worker as proof of his work. +* **Group ID** - Only available for group studies. It identifies the group. +* **Files** - Indicates result file upload +* **Data Size** - (Component Results only) - Size of the result data as it is stored in the database +* **Files (Size)** - (Component Results only) - List of the uploaded result files with their size in brackets +* **State** - Possible states for _study results_ are: - * PRE - [Preview of study](Restricting-study-flow.html#preview-links) (exists only in PersonalSingleWorker and GeneralSingleWorker) - * STARTED - Study started - * DATA_RETRIEVED - The very beginning of the study. It means the first component of the study was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) - * FINISHED - Study finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. - * ABORTED - Study aborted by worker and all result data and files were deleted. - * FAIL - Something went wrong, study stopped and cannot continue - - Possible states for _component results_ are: - * STARTED - Component started - * DATA_RETRIEVED - The very beginning of the component. It means the component was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) - * FINISHED - Component finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. - * RELOADED - Component was reloaded (usually by clicking the browser's reload button) - * ABORTED - This component's study was aborted by worker and all result data and files were deleted. - * FAIL - Something went wrong, the study stopped and cannot continue + Possible states for study results are: + * **PRE** - [Preview of study](Restricting-study-flow.html#preview-links) (exists only in PersonalSingleWorker and GeneralSingleWorker) + * **STARTED** - Study started + * **DATA_RETRIEVED** - The very beginning of the study. It means the first component of the study was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) + * **FINISHED** - Study finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. + * **ABORTED** - Study aborted by worker and all result data and files were deleted. + * **FAIL** - Something went wrong, study stopped and cannot continue + + Possible states for component results are: + * **STARTED** - Component started + * **DATA_RETRIEVED** - The very beginning of the component. It means the component was loaded in the worker's browser and started running. (It literally means the browser asked for the initialization data.) + * **FINISHED** - Component finished. All result data and files that were sent by the study in the browser were safely stored in JATOS. + * **RELOADED** - Component was reloaded (usually by clicking the browser's reload button) + * **ABORTED** - This component's study was aborted by worker and all result data and files were deleted. + * **FAIL** - Something went wrong, the study stopped and cannot continue * **Messages** - A message that can be set together with [`jatos.endStudy`](jatos.js-Reference.html#jatosendstudy) or [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy). diff --git a/versioned_docs/version-3.7.1/Run_your_study/Restricting-study-flow.md b/versioned_docs/version-3.7.1/Run_your_study/Restricting-study-flow.md index 3c8a315d6f..7ada8a2b4e 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Restricting-study-flow.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Restricting-study-flow.md @@ -3,6 +3,7 @@ title: Restricting study flow - reloading, linear studies, single-use workers an slug: /Restricting-study-flow.html sidebar_position: 4 --- +import Hl from '@site/src/components/Highlight'; ## Intro: Restricting study flow @@ -21,20 +22,20 @@ Let's first say what we understand under the _study flow_: ## Allow reload or prevent a reload of the same component -A worker can press their browser's reload button and by default JATOS will respond with the same component again: by default, the worker can do a component multiple times. To prevent this each **component properties** has a checkbox _Allow reload_. +A worker can press their browser's reload button and by default JATOS will respond with the same component again: by default, the worker can do a component multiple times. To prevent this each **component properties** has a checkbox Allow reload. ![GUI Screenshot](/img/component-properties-reload.png) -If you want to prevent this behaviour uncheck the box. If a participant reloads the page, they will see an error message. Then the study run will be finished and put to state FAIL. Since each component properties has their own _Allow reload_ checkbox it can be defined differently for each component, e.g. reloading is allowed in the introduction but is prohibited in the actual experiment. +If you want to prevent this behaviour uncheck the box. If a participant reloads the page, they will see an error message. Then the study run will be finished and put to state **FAIL**. Since each component properties has their own Allow reload checkbox it can be defined differently for each component, e.g. reloading is allowed in the introduction but is prohibited in the actual experiment. **Hint**: You should tell your workers in your study description if you disable reloads, in order to prevent them from accidentally pressing the reload button and failing your study. Consider also adding a warning (e.g. a pop-up) informing participants that they will not be able to continue with the study. -**Another hint**: The (unchecked) _Allow reload_ and the (checked) _Linear study flow_ properties can be combined to achieve a strictly increasing study flow. +**Another hint**: The (unchecked) Allow reload and the (checked) Linear study flow properties can be combined to achieve a strictly increasing study flow. ## Ensure a linear study flow -A worker can press their browsers back button and by default JATOS will response with the previous component, the one that was done before by the worker. This might allow a worker to divert from the intended study flow. To prevent this each **study properties** has a checkbox _Linear study flow_. +A worker can press their browsers back button and by default JATOS will response with the previous component, the one that was done before by the worker. This might allow a worker to divert from the intended study flow. To prevent this each **study properties** has a checkbox Linear study flow. ![Study Properties Screenshot](/img/study-properties-linear-flow_371.png) @@ -44,19 +45,19 @@ If you want to enforce a linear study flow check the box. Then, if a participant **Another hint**: If you want to loop over components, un-check this box. -**Yet another hint**: The (unchecked) _Allow reload_ and the (checked) _Linear study flow_ properties can be combined to achieve a strictly increasing study flow. +**Yet another hint**: The (unchecked) Allow reload and the (checked) Linear study flow properties can be combined to achieve a strictly increasing study flow. ## Single-use study links - prevent workers running the study twice -Often you want to prevent a participant from running the same study twice. To achieve this use the _single-use_ study link types: _Personal Single_ and _General Single_. +Often you want to prevent a participant from running the same study twice. To achieve this use the single-use study link types: Personal Single and General Single. Read more on the [different worker types available in JATOS](Worker-Types.html) and [about study links](Run-your-Study-with-Study-Links.html). ## Allow preview -Sometimes, when you hand out study links, your participants mindlessly click on the link right away and are not aware that they have already started the study. If they do not intend to run the study right away this is a problem with _single-use_ study links (**General Single** or **Personal Single**). +Sometimes, when you hand out study links, your participants mindlessly click on the link right away and are not aware that they have already started the study. If they do not intend to run the study right away this is a problem with single-use study links (General Single or Personal Single). ![GUI Screenshot](/img/study-properties-allow-preview-371.png) diff --git a/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md b/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md index 3b394d9b55..968baf6d80 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Run-your-Study-with-Study-Links.md @@ -3,6 +3,7 @@ title: Run your Study with Study Links slug: /Run-your-Study-with-Study-Links.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; Study Links in JATOS is the name of a page where one can generate study links for your particpants to run your study. You can also organize your participants into batches and handle their results there. In earlier versions of JATOS it was called Worker and Batch Manager. @@ -10,14 +11,14 @@ To get to the Study Links page press on the button with the same name in your st ![Study Links Button screenshot](/img/study_links_1.png) -This Study Links page has only one batch, the 'Default' one. A batch can have study links of different type, e.g. Personal Single, Personal Multiple etc: +This Study Links page has only one batch, the Default one. A batch can have study links of different type, e.g. Personal Single, Personal Multiple etc: ![Study Links page screenshot](/img/study_links_2.png) ## Study Links - How to let participants run your study -During development of your study you would usually run it with the "Run" button in the study page. But then, when you are done developing you want to let others run your study - you want participants (or workers as they are called in JATOS) do it. For this JATOS lets you create study links that you can hand out to your workers (e.g. via email or social media). +During development of your study you would usually run it with the Run button in the study page. But then, when you are done developing you want to let others run your study - you want participants (or workers as they are called in JATOS) do it. For this JATOS lets you create study links that you can hand out to your workers (e.g. via email or social media). **Generate study links and hand them to your workers** @@ -25,7 +26,7 @@ JATOS has different study link types and each type corresponds to a worker type ![Study Links page screenshot](/img/study_links_3.png) -Click on the "" button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). +Click on the button in the left of the batch row (red box) to expand the study link types (if it's not already expanded). ![Study Links page screenshot](/img/study_links_7.png) @@ -36,16 +37,16 @@ You can de-/activate a study link type by clicking in the checkboxes in the left ![Study Links page screenshot](/img/study_links_4.png) -Personal type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that the links are meant to be handed to individual workers (hence _Personal_). Personal Single links can be used once, whereas Personal Multiple can be used many times. +Personal type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that the links are meant to be handed to individual workers (hence Personal). Personal Single links can be used once, whereas Personal Multiple can be used many times. -After clicking the Study Links button you get a new window where you can create and manage the study links of this type. +After clicking the Study Links button you get a new window where you can create and manage the study links of this type. ![Study Links page screenshot](/img/study_links_11.png) -1. This button creates one study link without a comment. This button is a shortcut to the 'New Study Links' button. -1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. +1. This button creates one study link without a comment. This button is a shortcut to the New Study Links button. +1. Lets you create several study links and lets you add a comment to them. The comment is only a hint for you that you can use to destinguish your study links. You can create Personal type study links in bulk by changing the Amount value. 1. This is the study code. [You can hand this to your workers](Run-your-Study-with-Study-Links.html#study-code--study-entry-page). -1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. +1. This is your actual study link. Hand this to your workers. There are two links that can be toggled by a button: 1) [The Open Directly link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The Confirm First lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. 1. Use this checkbox to de-/activate a single study link. A deactivated study link can not be used to start a study run (but an already started study run can continue to run). ![Study Links page screenshot](/img/study_links_14.png) @@ -57,13 +58,13 @@ Use QR codes to make your study easier accessible with mobile phones. E.g. copy+ ![Study Links page screenshot](/img/study_links_5.png) -General type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that all workers (or at least many) get the same link (hence _General_). The General Single link can be used once whereas General Multiple can be used many times. +General type links can be either Single or Multiple. You can find more details about them in the [Worker Types](Worker-Types.html) page, but the gist is that all workers (or at least many) get the same link (hence General). The General Single link can be used once whereas General Multipl can be used many times. -Due to the nature of these types there is only one study link per type. Click on the button Study Link to get it. +Due to the nature of these types there is only one study link per type. Click on the button Study Link to get it. ![Study Links page screenshot](/img/study_links_15.png) -There are two links that can be toggled by a button: 1) [The 'Open Directly' link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The 'Confirm First' lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. +There are two links that can be toggled by a button: 1) [The Open Directly link starts the study right away](Run-your-Study-with-Study-Links.html#start-directly-with-a-study-link). 2) [The Confirm First lets your worker confirm first with a button press](Run-your-Study-with-Study-Links.html#study-link--study-entry-page-for-confirmation). Use the button to copy the link to the clipboard or to get the QR code. Use QR code to make your study easier accessible with mobile phones. E.g. copy+paste the QR code image into an email or print it out and post it on a bulletin board. ### MTurk type links @@ -85,31 +86,31 @@ A study run can be started in JATOS in slightly different ways: ### Start directly with a study link -If you toogle the Study Link(s) button to 'Open Directly' the generated link will start the study run directly without any intermediate steps like the Study Entry page. The study link has the format `https://my.jatos.server/publix/study-code`, e.g. `https://cortex.jatos.org/publix/GwtCkuCY4bM`. This is fast for the participant but has the disadvantage that if they click the study link accidentally, at least if it is a single-use link (Personal Single or General Single), it will be invalidated and the participant is not allowed to run the study again (not without handing them a new study link). +If you toogle the Study Link(s) button to Open Directly the generated link will start the study run directly without any intermediate steps like the Study Entry page. The study link has the format `https://my.jatos.server/publix/study-code`, e.g. `https://cortex.jatos.org/publix/GwtCkuCY4bM`. This is fast for the participant but has the disadvantage that if they click the study link accidentally, at least if it is a single-use link (Personal Single or General Single), it will be invalidated and the participant is not allowed to run the study again (not without handing them a new study link). ### Study link + Study Entry page for confirmation -If you toggle the Study Link(s) button to 'Confirm First' the generated link will first show the Study Entry page and only when clicked the '' button start the actual study run. +If you toggle the Study Link(s) button to Confirm First the generated link will first show the Study Entry page and only when clicked the button start the actual study run. -This is how the Study Entry page might look like (you can customize the message): +This is how the Study Entry page might look like (you can customize the message): ![Study Entry page screenshot](/img/study_entry_page_1.png) The study link has the format `https://my.jatos.server/publix/run?code=study-code`, e.g. `https://cortex.jatos.org/publix/run?code=GwtCkuCY4bM`. As you can see it uses the URL query parameter 'code' to pass on the study code. -The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the '' button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. +The advantage of using the Study Entry page is, that participants accidentally clicking on a study link (e.g. in in an email or on Twitter) without the intention of actually running the study (just out of curiousity) will now **not** automatically start the study run but be shown the Study Entry page where they have to press the button for confirmation. At least single-use links (Personal Single or General Single) can be used only once. Here the study entry page acts as a kind of barrier preventing the invalidation of the link. #### Customization of the message -By default the message on the Study Entry page is something like 'Press to start the experiment'. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties +By default the message on the Study Entry page is something like Press to start the experiment. You might want to change the language or add some more introductory text. You can do this in the study's Study Properties ### Study code + Study Entry page -You can also just hand out the Study Code and let your participants enter it themselves in the Study Entry page. The URL to the Study Run page is `https://my.jatos.server/publix/run`. +You can also just hand out the Study Code and let your participants enter it themselves in the Study Entry page. The URL to the Study Run page is `https://my.jatos.server/publix/run`. -It will show a field where the study code can be entered. And after pressing the '' button the study starts: +It will show a field where the study code can be entered. And after pressing the button the study starts: ![Study Entry page screenshot](/img/study_entry_page_3.png) @@ -120,9 +121,9 @@ The advantage of using the Study Entry page with the study codes is similar to a A batch is a collection of study links and their assoziated workers. Using different batches is useful to organize your study runs, separate their results and vary their setup. E.g. you could separate a pilot run from the "proper" experiment, or you could use different batches for different worker types. -Batches are organized in the Study Links page. Here you can create and delete batches, access each batch's properties and edit its **Batch Session Data** or look through their results. +Batches are organized in the Study Links page. Here you can create and delete batches, access each batch's properties and edit its Batch Session Data or look through their results. -Each study comes with a "Default" batch (although it can be renamed in its batch properties). +Each study comes with a Default batch (although it can be renamed in its batch properties). ![Study Links page screenshot](/img/study_links_12.png) @@ -131,27 +132,27 @@ You can **deactivate** or **activate** a batch by clicking on the checkbox butto ### Batch Properties -Each batch has properties that can be changed: click on the Batch Properties button in each batch's row. +Each batch has properties that can be changed: click on the Batch Properties button in each batch's row. ![Study Links page screenshot](/img/study_links_13.png) -* For each batch, you can limit the maximum number of workers that will ever be able to run a study in this batch by setting the **Maximum total workers**. +* For each batch, you can limit the maximum number of workers that will ever be able to run a study in this batch by setting the Maximum total workers. -* Additionally you can switch on or off study link types in the **Allowed types**. Unchecked types are not allowed to run a study. This has the same effect as de-/activating the type in the batch. Always check before you send out study links that the corresponding types are activated. +* Additionally you can switch on or off study link types in the Allowed types. Unchecked types are not allowed to run a study. This has the same effect as de-/activating the type in the batch. Always check before you send out study links that the corresponding types are activated. -* A batch can have a **JSON input** [similar to the one in the study or component properties](Write-your-own-Study-Basics-and-Beyond.html#study-json-input-and-component-json-input). The difference is that this one is only accessible from every study run in this batch. +* A batch can have a JSON input [similar to the one in the study or component properties](Write-your-own-Study-Basics-and-Beyond.html#study-json-input-and-component-json-input). The difference is that this one is only accessible from every study run in this batch. -* The **Group Properties** relate to [group studies](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). +* The Group Properties relate to [group studies](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). ### Groups -A batch is also the place where [JATOS groups](Write-Group-Studies-I-Setup.html) are handled. Here you can an get an overview of the Groups that belong to this batch: see what their member workers are or edit the **Group Session Data**. +A batch is also the place where [JATOS groups](Write-Group-Studies-I-Setup.html) are handled. Here you can an get an overview of the Groups that belong to this batch: see what their member workers are or edit the Group Session Data. ![Groups table](/img/groups_view.png) -* **Fixed** this button allows you to _fix_ a group. A fixed group doesn't allow new members to join. It keeps the group as it currently is. It has the same effect as the _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed) ([more info](Write-Group-Studies-II-JavaScript-and-Messaging.html#fixing-a-group)). -* **Active Workers** are the workers that are currently members in the group -* **Past Workers** the ones that were members at one point in the past -* **Results** shows only the study results that belong to this group -* **Group State** can be START, FINISHED, or FIXED +* **Fixed** this button allows you to _fix_ a group. A fixed group doesn't allow new members to join. It keeps the group as it currently is. It has the same effect as the _jatos.js_' function [`jatos.setGroupFixed`](jatos.js-Reference.html#jatossetgroupfixed) ([more info](Write-Group-Studies-II-JavaScript-and-Messaging.html#fixing-a-group)). +* **Active Workers** are the workers that are currently members in the group +* **Past Workers** the ones that were members at one point in the past +* **Results** shows only the study results that belong to this group +* **Group State** can be START, FINISHED, or FIXED diff --git a/versioned_docs/version-3.7.1/Run_your_study/Study-Log.md b/versioned_docs/version-3.7.1/Run_your_study/Study-Log.md index eba03e9c29..d15b77dbd5 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Study-Log.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Study-Log.md @@ -3,10 +3,11 @@ title: Study Log slug: /Study-Log.html sidebar_position: 10 --- +import Hl from '@site/src/components/Highlight'; JATOS stores a log file for each study (not to be confused with [JATOS' log](Troubleshooting.html#read-log-file-in-the-browser) which is for the whole application). This file has a line for every relevant event that happened in a study, most importantly when a component result was saved, exported or deleted. Also, it contains a hash - a string that is generated by the contents of the result data itself. This, in principle, would allow any JATOS user to show that the data have not been modified, and that no result was deleted between data collection and publication. -You can see the log by clicking on **More** in the study toolbar and then **Study Log**: +You can see the log by clicking on More in the study toolbar and then Study Log: ![Study Log button](/img/study_log_button_371.png) @@ -20,4 +21,4 @@ Then the log looks similar to this: * The following events are logged: **create/delete study**, **run/finish study**, **store result data**, **upload result file**, **export result data** * In case of storing result data or uploading a result file a hash of the data is logged. Since a hash changes if a result is altered or deleted, this can prove **data integrity** should it ever being questioned. * The study log is only as safe as the server machine on which JATOS is running. Anybody with access to the server can potentially modify the study log file and e.g. hide that data has been deleted. We can't prevent this, so it's important to have a safe server that only admins can access. -* The study log is in JSON format. Choose between **pretty** (like in the screenshot above) or **raw**. +* The study log is in JSON format. Choose between pretty (like in the screenshot above) or raw. diff --git a/versioned_docs/version-3.7.1/Run_your_study/Tips-and-Tricks.md b/versioned_docs/version-3.7.1/Run_your_study/Tips-and-Tricks.md index ac737ea0c2..e83cc19d39 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Tips-and-Tricks.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Tips-and-Tricks.md @@ -3,10 +3,11 @@ title: Tips & Tricks slug: /Tips-and-Tricks.html sidebar_position: 11 --- +import Hl from '@site/src/components/Highlight'; ### Batch and Group Session do not work on Windows without HTTPS -The Batch and Group Session rely on WebSockets. Sometimes (rarely) a virus scanner prohibits unencryped WebSockets. This is only a problem on Windows, but not on Mac OS or Linux and only with certain virus scanner programs. If this happens you will see an error message in your brower's console: _Batch channel closed unexpectedly_. To solve this you can either turn on HTTPS on your JATOS server (recommended) or turn off the virus scranner on (all) your participants computers. +The Batch and Group Session rely on WebSockets. Sometimes (rarely) a virus scanner prohibits unencryped WebSockets. This is only a problem on Windows, but not on Mac OS or Linux and only with certain virus scanner programs. If this happens you will see an error message in your brower's console: Batch channel closed unexpectedly. To solve this you can either turn on HTTPS on your JATOS server (recommended) or turn off the virus scranner on (all) your participants computers. ### Run up to 10 studies in the same browser at the same time @@ -21,7 +22,7 @@ If you think about it, MTurk simply calls a JATOS [study link](Run-your-Study-wi #### Examples -* To run the study with ID 4 and batch with ID 2 with an **MTurk** worker on a local JATOS use +* To run the study with ID 4 and batch with ID 2 with an MTurk worker on a local JATOS use ``` http://localhost:9000/publix/myStudyCode?workerId=123456&assignmentId=abcdef @@ -38,19 +39,19 @@ If you think about it, MTurk simply calls a JATOS [study link](Run-your-Study-wi ### Lock your studies before running them -Each Study bar has a button that toggles between the 'Unlocked' and 'Locked' states. Locking a study prevents changes to its (or any of its components') properties, change the order of components, etc. +Each Study bar has a button that toggles between the Unlocked and Locked states. Locking a study prevents changes to its (or any of its components') properties, change the order of components, etc. ![](/img/study_locked.png) ### Do a General Single Run more than once in the same browser -The problem here is that a General Single Run is intended to work only once in the same browser. Although this is a feature to limit participants doing the same study twice, it can be a hassle for you as a study developer who just want to try out the General Single Run a second time. Luckily there is an easy way around: Since for a General Single Run all studies that the worker already participated in are stored in a browser cookie, it can be easily removed. Just **remove the cookie with the name JATOS_GENERALSINGLE_UUIDS** in your browser. You can find this cookie in every webpage hosted by a JATOS server. If it doesn't exist you probably never did a General Single run yet. +The problem here is that a General Single Run is intended to work only once in the same browser. Although this is a feature to limit participants doing the same study twice, it can be a hassle for you as a study developer who just want to try out the General Single Run a second time. Luckily there is an easy way around: Since for a General Single Run all studies that the worker already participated in are stored in a browser cookie, it can be easily removed. Just **remove the cookie with the name JATOS_GENERALSINGLE_UUIDS** in your browser. You can find this cookie in every webpage hosted by a JATOS server. If it doesn't exist you probably never did a General Single run yet. ### Abort study and keep some data -If the `jatos.abortStudy` function is called (usually after the worker clicks a "Cancel" button) all result data that had been sent to JATOS during this study run will be deleted. This includes result data from prior components of the study run. But sometimes you'll want to save a bit of information that should not be deleted: you might need the worker's email address to pay them. +If the `jatos.abortStudy` function is called (usually after the worker clicks a Cancel button) all result data that had been sent to JATOS during this study run will be deleted. This includes result data from prior components of the study run. But sometimes you'll want to save a bit of information that should not be deleted: you might need the worker's email address to pay them. 1. By using the build-in abort button with [`jatos.addAbortButton`](jatos.js-Reference.html#jatosaddabortbutton) and set the `msg` parameter. This message won't be deleted together with the other result data. This message can then be seen in every Study Result page in the 'Message' column. @@ -62,7 +63,7 @@ If the `jatos.abortStudy` function is called (usually after the worker clicks a }); ``` -1. By using [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and its message parameter. This message won't be deleted together with the other result data. This message can then be seen in every Study Result page in the 'Message' column. +1. By using [`jatos.abortStudy`](jatos.js-Reference.html#jatosabortstudy) and its message parameter. This message won't be deleted together with the other result data. This message can then be seen in every Study Result page in the Message column. E.g. @@ -73,7 +74,7 @@ If the `jatos.abortStudy` function is called (usually after the worker clicks a ### How to let a Personal Single Worker redo his study? -A Personal Single Worker is only allowed to run their study once. But sometimes you want to allow them to do it a second time (maybe they accidentally clicked the 'Cancel' button). One way would be to just create another Personal Single Link and hand it to the worker. But there is another way without creating a second Link: you can simply delete the worker's result from one of the result pages. This will allow this Personal Single worker to redo this study. +A Personal Single Worker is only allowed to run their study once. But sometimes you want to allow them to do it a second time (maybe they accidentally clicked the Cancel button). One way would be to just create another Personal Single Link and hand it to the worker. But there is another way without creating a second Link: you can simply delete the worker's result from one of the result pages. This will allow this Personal Single worker to redo this study. ### Simulate slow network @@ -81,10 +82,10 @@ Usually one develops a study on a local JATOS or a remote JATOS with a good inte ### Personal/General Single links seem not to work when distributed via social networks -Problem: The study runs fine, but as soon as one distributes links for Personal Single or General Single runs via social networks like Twitter, Facebook and Reddit or chat tools like Slack and Google Hangout it stops working. The participants only get the message 'A problem occurred: Study can be done only once.' and in the results the study run appears as started but never finished (State DATA_RETRIEVED). +Problem: The study runs fine, but as soon as one distributes links for Personal Single or General Single runs via social networks like Twitter, Facebook and Reddit or chat tools like Slack and Google Hangout it stops working. The participants only get the message A problem occurred: Study can be done only once. and in the results the study run appears as started but never finished (State DATA_RETRIEVED). -The reason for this behaviour is that some of those tools open links that are posted in them before your participant can click on them. They do this to provide more information about the link, like a title and an image. Usually this is fine but Personal/General Single links work exactly once (if preview is not allowed) and a second request with the same link just responses with the forementioned error message. +The reason for this behaviour is that some of those tools open links that are posted in them before your participant can click on them. They do this to provide more information about the link, like a title and an image. Usually this is fine but Personal/General Single links work exactly once (if preview is not allowed) and a second request with the same link just responses with the forementioned error message. -1. Use [study links with confirmation](Run-your-Study-with-Study-Links.html#study-links---how-to-let-participants-run-your-study) - Choose the study link version with the button 'Confirm First'. This link shows a 'study entry' page before the actual study starts. This page can be opened many times. +1. Use [study links with confirmation](Run-your-Study-with-Study-Links.html#study-links---how-to-let-participants-run-your-study) - Choose the study link version with the button Confirm First. This link shows a study entry page before the actual study starts. This page can be opened many times. -1. [Allow preview](Restricting-study-flow.html#allow-preview) - You can keep using Personal/General Single links and use a [preview link](Restricting-study-flow.html#preview-links) to allow opening the first component of your study as many times as one wishes. All following components can be opened only once again. +1. [Allow preview](Restricting-study-flow.html#allow-preview) - You can keep using Personal/General Single links and use a [preview link](Restricting-study-flow.html#preview-links) to allow opening the first component of your study as many times as one wishes. All following components can be opened only once again. diff --git a/versioned_docs/version-3.7.1/Run_your_study/Use-Prolific.md b/versioned_docs/version-3.7.1/Run_your_study/Use-Prolific.md index 5548a05547..312a79ac98 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Use-Prolific.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Use-Prolific.md @@ -3,22 +3,23 @@ title: Use Prolific slug: /Use-Prolific.html sidebar_position: 6 --- +import Hl from '@site/src/components/Highlight'; It is very easy to use JATOS together with [Prolific](https://www.prolific.co/) to recruit participants. -This is what the _New Study_ page in Prolific looks like: +This is what the New Study page in Prolific looks like: ![Prolific screenshot](/img/Screenshot_Prolific_create_study.png) ### 1. Enter your JATOS study link -In the field under _What is the URL of your study?_ (first red box in the screenshot), enter a link to your JATOS study.You probably want a study link of either _General Single_ or a _General Multiple_ type (see [Run your Study with Study Links](Run-your-Study-with-Study-Links.html)). +In the field under What is the URL of your study? (first red box in the screenshot), enter a link to your JATOS study.You probably want a study link of either General Single or a General Multiple type (see [Run your Study with Study Links](Run-your-Study-with-Study-Links.html)). ### 2. (Optional) Consider passing Prolific URL parameters to your study -Prolific allows you to pass the parameters PROLIFIC PID, STUDY ID, and SESSION ID as URL parameters. Click on 'Show advanced' and then 'Add parameters' like in the screenshot. +Prolific allows you to pass the parameters PROLIFIC PID, STUDY ID, and SESSION ID as URL parameters. Click on Show advanced and then Add parameters like in the screenshot. ![Prolific screenshot](/img/Screenshot_Prolific_query_parameter.png) @@ -31,7 +32,7 @@ The second red box contains a link that will (re)direct the participant to a Pro **Choose one of the two ways** -1. With JATOS' UI (easiest and recommended): Put the Prolific link in the **End Redirect URL** field of your Study Properties +1. With JATOS' UI (easiest and recommended): Put the Prolific link in the End Redirect URL field of your Study Properties ![screenshot](/img/Screenshot_end-redirect-url.png) diff --git a/versioned_docs/version-3.7.1/Run_your_study/Worker-Types.md b/versioned_docs/version-3.7.1/Run_your_study/Worker-Types.md index 97c3876fd4..6be22e5c0a 100644 --- a/versioned_docs/version-3.7.1/Run_your_study/Worker-Types.md +++ b/versioned_docs/version-3.7.1/Run_your_study/Worker-Types.md @@ -3,6 +3,7 @@ title: Worker Types slug: /Worker-Types.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; ### Overview Following Amazon Mechanical Turk’s terminology, a worker in JATOS is a person who runs a study. Different worker types access a study in different ways. For example, some workers can run the same study multiple times, whereas others can do it only once. @@ -23,39 +24,39 @@ Following Amazon Mechanical Turk’s terminology, a worker in JATOS is a person **Jatos workers can run any study as many times as they want.** -Jatos workers run a study (or any of its components individually) by clicking on the _Run_ buttons in the GUI. Jatos workers are usually the **researchers trying out their own studies**. Each JATOS user (i.e., anybody with a JATOS login) has their own Jatos worker. They are not meant to be used by participants. +Jatos workers run a study (or any of its components individually) by clicking on the Run buttons in the GUI. Jatos workers are usually the **researchers trying out their own studies**. Each JATOS user (i.e., anybody with a JATOS login) has their own Jatos worker. They are not meant to be used by participants. ### Personal Single Worker -With a Personal Single study link **a study can be run only once** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). You can think of them as _personalized links with single access_. Each Personal Single study link corresponds to a Personal Single worker. +With a Personal Single study link **a study can be run only once** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). You can think of them as _personalized links with single access_. Each Personal Single study link corresponds to a Personal Single worker. -Usually you would send a Personal Single study link to workers that you contact individually. Personal Single study links are useful in small studies, where it's feasible to contact each worker individually, or (e.g.) you want to be able to pair up several results (either from the same or different studies) in a longitudinal design. +Usually you would send a Personal Single study link to workers that you contact individually. Personal Single study links are useful in small studies, where it's feasible to contact each worker individually, or (e.g.) you want to be able to pair up several results (either from the same or different studies) in a longitudinal design. [More about how to generate Personal type study links](Run-your-Study-with-Study-Links.html#personal-type-links) ### Personal Multiple Worker -With a Personal Multiple study link the worker can **run a study as many times as they want**. Each Personal Multiple study link corresponds to a Personal Multiple worker. +With a Personal Multiple study link the worker can **run a study as many times as they want**. Each Personal Multiple study link corresponds to a Personal Multiple worker. -You could send Personal Multiple study links to your pilot workers. +You could send Personal Multiple study links to your pilot workers. [More about how to generate Personal type study links](Run-your-Study-with-Study-Links.html#personal-type-links) ### General Single Worker -This study link type can be used **many times by different participants to run a study but only once per browser** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). Each time the link is used a new General Single worker is created on-the-fly. +This study link type can be used **many times by different participants to run a study but only once per browser** ([*But see Allow Preview](Restricting-study-flow.html#allow-preview)). Each time the link is used a new General Single worker is created on-the-fly. -You could distribute a General Single study link through social media, like twitter, a mailing list or posting it on a public website. It is essentially useful for cases where you want to collect data from a large number of workers. +You could distribute a General Single study link through social media, like twitter, a mailing list or posting it on a public website. It is essentially useful for cases where you want to collect data from a large number of workers. -Keep in mind, however, that JATOS uses the browser's cookies to decide whether a study link was already used. If someone uses a different computer, a new browser, or simply deletes their browser's cookies, then JATOS will assume that it's an unused study link. So the same person could (with some effort) use a General Single link several times. +Keep in mind, however, that JATOS uses the browser's cookies to decide whether a study link was already used. If someone uses a different computer, a new browser, or simply deletes their browser's cookies, then JATOS will assume that it's an unused study link. So the same person could (with some effort) use a General Single link several times. ### General Multiple Worker -A General Multiple study link is the least restrictive type and can be used **many times by different participants to run a study**. The difference to a General Single is that the General Multiple study link can be used repeatedly **even in the same browser**. Each time a General Multiple study link is used a new General Multiple worker is created on-the-fly. +A General Multiple study link is the least restrictive type and can be used **many times by different participants to run a study**. The difference to a General Single is that the General Multiple study link can be used repeatedly **even in the same browser**. Each time a General Multiple study link is used a new General Multiple worker is created on-the-fly. ### MTurk (Sandbox) Worker diff --git a/versioned_docs/version-3.7.1/Serving_the_Internet/Customize-JATOS-Home-Page.md b/versioned_docs/version-3.7.1/Serving_the_Internet/Customize-JATOS-Home-Page.md index 4392931535..bf9745fe08 100644 --- a/versioned_docs/version-3.7.1/Serving_the_Internet/Customize-JATOS-Home-Page.md +++ b/versioned_docs/version-3.7.1/Serving_the_Internet/Customize-JATOS-Home-Page.md @@ -3,6 +3,7 @@ title: Customize JATOS' Home Page slug: /Customize-JATOS-Home-Page.html sidebar_position: 12 --- +import Hl from '@site/src/components/Highlight'; ## Link to Terms of Use @@ -31,7 +32,7 @@ This welcome block can be fetched from **any HTTP server** that is able to serve ### With GitHub 1. Go to [https://github.com/JATOS/customized-home-page-template](https://github.com/JATOS/customized-home-page-template) -1. Click 'Use this template' button to create a copy of this repository +1. Click Use this template button to create a copy of this repository 1. Change the content of `foobar-university-welcome.html` to your needs 1. Add necessary files (e.g. logo images) to your repository 1. Configure JATOS: In your JATOS installation folder edit `conf/production.conf` - add `jatos.brandingUrl`: diff --git a/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-DigitalOcean.md b/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-DigitalOcean.md index 4afae3f9eb..d10c3253ab 100644 --- a/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-DigitalOcean.md +++ b/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-DigitalOcean.md @@ -3,6 +3,7 @@ title: JATOS on DigitalOcean slug: /JATOS-on-DigitalOcean.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; On this page we want to explain how to install JATOS on a server running on DigitalOcean. We tried to keep this tutorial as easy as possible: if everything runs smoothly you don't have to use the terminal at all. @@ -51,8 +52,8 @@ First we want to set up a simple JATOS server without encryption (HTTPS) or a do 1. Log into JATOS with ‘admin’ and password ‘admin’ 1. The first thing you should do is change your admin password: - 1. Click on ‘Admin (admin) in top-right header - 1. Click ‘Change Password’ + 1. Click on Admin (admin) in top-right header + 1. Click Change Password **Voila, you have your own JATOS server.** diff --git a/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-a-server.md b/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-a-server.md index 4ac6c56ff8..4a96305c88 100644 --- a/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-a-server.md +++ b/versioned_docs/version-3.7.1/Serving_the_Internet/JATOS-on-a-server.md @@ -3,6 +3,7 @@ title: Install JATOS on a server slug: /JATOS-on-a-server.html sidebar_position: 5 --- +import Hl from '@site/src/components/Highlight'; There are [several ways to bring JATOS to the internet](Bring-your-JATOS-online.html). If you don't know much about server administration the [DigitalOcean](JATOS-on-DigitalOcean.html) page might be best for you. @@ -75,8 +76,8 @@ Every JATOS installation comes with an Admin user that has the default password 1. Start JATOS and in a browser go to JATOS login page `http://my-jatos-domain/jatos` 1. Login as 'admin' with password 'admin' -1. Click on 'Admin (admin)' in top-right header -1. Click 'Change Password' +1. Click on Admin (admin) in top-right header +1. Click Change Password ### 6. Check JATOS' test page @@ -166,15 +167,15 @@ If you want to keep it simple and you didn't change any of the folder paths then What has to be backed up in detail: -1. **Database** +1. **Database** * **MySQL** - If you use a MySQL database you might want to look into the `mysqldump` shell command. E.g., with `mysqldump -u myusername -p mydbname > mysql_bkp.out` you can backup the whole data into a single file. Restore the database with `mysql -u myusername -p mydbname < mysql_bkp.out`. * **H2** - There are at least two ways: one easy (but unofficial) and one official: 1. Copy & paste the db file - **It's important to stop JATOS before doing a backup or restoring a H2 database** this way. If you do not stop JATOS your [data might be corrupted](Troubleshooting.html#database-is-corrupted). You can just backup the folder `my-jatos-path/database`. 1. Via [H2's upgrade, backup, and restore tool](http://www.h2database.com/html/tutorial.html#upgrade_backup_restore) -1. **study_assets_root folder** - This is the folder where all the study's assets (e.g. HTML, JS, CSS, images) are stored. +1. **study_assets_root folder** - This is the folder where all the study's assets (e.g. HTML, JS, CSS, images) are stored. -1. **result_uploads folder** - This folder contains the files, that were uploaded during study runs. +1. **result_uploads folder** - This folder contains the files, that were uploaded during study runs. -1. **study_logs folder** - Contains the [study logs](Study-Log.html). +1. **study_logs folder** - Contains the [study logs](Study-Log.html). diff --git a/versioned_docs/version-3.7.1/Serving_the_Internet/Updating-a-JATOS-server-installation.md b/versioned_docs/version-3.7.1/Serving_the_Internet/Updating-a-JATOS-server-installation.md index 17553e8109..6f10dc4174 100644 --- a/versioned_docs/version-3.7.1/Serving_the_Internet/Updating-a-JATOS-server-installation.md +++ b/versioned_docs/version-3.7.1/Serving_the_Internet/Updating-a-JATOS-server-installation.md @@ -3,6 +3,7 @@ title: Updating a JATOS server installation slug: /Updating-a-JATOS-server-installation.html sidebar_position: 11 --- +import Hl from '@site/src/components/Highlight'; Updating the server instance is equivalent to doing it [locally](Update-JATOS.html), but make sure that you know what you're doing; especially if you have paired JATOS with a MySQL database. @@ -12,7 +13,7 @@ The easiest way to backup is to do a snapshot of the whole server. If you use an As with [updating of a local JATOS installation](Update-JATOS.html) you can do it automatically or manually. -After updating you can check the new JATOS installation with the test page: go to _Administration_ ⇒ _Tests_ and check that all tests are 'OK'. +After updating you can check the new JATOS installation with the test page: go to AdministrationTests and check that all tests are OK. ## Automatic Update (recommended) @@ -45,5 +46,5 @@ This means that we have to configure the MySQL database or copy the embedded H2 * MySQL - For MySQL you don't have to change anything on the database side. 1. [Configure the new JATOS like the old one](Configure-JATOS-on-a-Server.html) - usually it's enough to copy the `production.conf` from the old `conf` folder into the new one 1. Start the new JATOS using `./loader.sh start` -1. Open JATOS' test page (_Administration_ ⇒ _Tests_) and check that everything is 'OK' +1. Open JATOS' test page (AdministrationTests) and check that everything is OK diff --git a/versioned_docs/version-3.7.1/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md b/versioned_docs/version-3.7.1/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md index 7c6236bb7b..59389bded0 100644 --- a/versioned_docs/version-3.7.1/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md +++ b/versioned_docs/version-3.7.1/Write_your_study/Adapt-pre-written-code-to-run-it-in-JATOS.md @@ -3,6 +3,7 @@ title: Adapt pre written code to run it in JATOS slug: /Adapt-pre-written-code-to-run-it-in-JATOS.html sidebar_position: 3 --- +import Hl from '@site/src/components/Highlight'; **Make Your Existing Code Run in JATOS - or How To Jatosify a Study** @@ -12,9 +13,9 @@ You might have a task, experiment, survey, or study running in a browser. You mi ### Create the study in your local JATOS -1. Create a new study with the '**New Study**' button in JATOS' header. Choose a study title and a folder name. Leave the other fields empty for now and click 'Create'. JATOS will have created a new folder within your assets root folder (default is `/path_to_your_JATOS/study_assets_root/`). +1. Create a new study with the New Study button in JATOS' header. Choose a study title and a folder name. Leave the other fields empty for now and click Create. JATOS will have created a new folder within your assets root folder (default is `/path_to_your_JATOS/study_assets_root/`). 1. Copy all your files (HTML, JavaScripts, images, audio, ...) into your new study folder. -1. Back in the JATOS GUI, and within the newly created study, create a **new component** by clicking 'Components' and then 'New'. Choose a component title and set the HTML file name, to the name of the HTML file you just copied into the study folder. +1. Back in the JATOS GUI, and within the newly created study, create a **new component** by clicking Components and then New. Choose a component title and set the HTML file name, to the name of the HTML file you just copied into the study folder. 1. In your HTML, CSS and JavaScripts, for your paths you can choose between 1) relative paths or 2) absolute paths. **Relative paths are recommended** since they are shorter and do not change after an export-import of a study. 1. **Relative paths)** Just use the relative path within your study's folder. @@ -39,10 +40,10 @@ You might have a task, experiment, survey, or study running in a browser. You mi ``` - ✰ For absolute paths make sure you understand the difference between the `study_assets_root` folder and the placeholder `study_assets` in your path names. `study_assets_root` is the folder in your system (or in the server) where the assets (HTML, JS, CSS, images, etc) of **all** your JATOS studies will be stored. You can [configure](Configure-JATOS-on-a-Server.html#study-assets-root-path) the location of this folder. `study_assets`, on the other hand, is just a placeholder that will go in your HTML files. JATOS will interpret this and replace the placeholder with the path, (specific to the study) that you entered in the field 'Study assets directory name' in your Study's Properties. The advantage of this is that you can change the location or name of the assets for any study, or export-import a study into a different computer, and the study will still run without having to make any changes in the HTML code. + ✰ For absolute paths make sure you understand the difference between the `study_assets_root` folder and the placeholder `study_assets` in your path names. `study_assets_root` is the folder in your system (or in the server) where the assets (HTML, JS, CSS, images, etc) of **all** your JATOS studies will be stored. You can [configure](Configure-JATOS-on-a-Server.html#study-assets-root-path) the location of this folder. `study_assets`, on the other hand, is just a placeholder that will go in your HTML files. JATOS will interpret this and replace the placeholder with the path, (specific to the study) that you entered in the field Study assets directory name in your Study's Properties. The advantage of this is that you can change the location or name of the assets for any study, or export-import a study into a different computer, and the study will still run without having to make any changes in the HTML code. -1. Now it's time for a first glimpse: Click the '**Run**' button in either the study's or the component's toolbar. Your experiment should run like it did before without JATOS. Use the browser's developer tools to check for eventually missing files and other occurring errors. +1. Now it's time for a first glimpse: Click the Run button in either the study's or the component's toolbar. Your experiment should run like it did before without JATOS. Use the browser's developer tools to check for eventually missing files and other occurring errors. ### Edit your HTML and JavaScript @@ -107,5 +108,5 @@ That's about it. Infos about other _jatos.js_ functions and variables you can fi ### Beyond the basics * Think about dividing your study into **several components**. You could have separate components e.g. for introduction, training, experiment and feedback. You could even consider splitting the experiment into several parts. One advantage is that if your participant stops in the middle of your study you still have the result data of the first components. Also, you can re-use components in different studies. -* Use the study's and component's '**JSON input data**'. With them you can change variables of your code directly through JATOS' GUI, which might come handy if someone isn't good in JavaScript. +* Use the study's and component's JSON input data. With them you can change variables of your code directly through JATOS' GUI, which might come handy if someone isn't good in JavaScript. * You can add a **quit button** to your study to allow the participant to [abort at any time](Data-Privacy-and-Ethics.html#things-you-should-consider-in-your-studies). diff --git a/versioned_docs/version-3.7.1/Write_your_study/Change-studys-members.md b/versioned_docs/version-3.7.1/Write_your_study/Change-studys-members.md index f22ce8d886..d35de3bd5e 100644 --- a/versioned_docs/version-3.7.1/Write_your_study/Change-studys-members.md +++ b/versioned_docs/version-3.7.1/Write_your_study/Change-studys-members.md @@ -3,12 +3,13 @@ title: Change study's members slug: /Change-studys-members.html sidebar_position: 7 --- +import Hl from '@site/src/components/Highlight'; Each experimenter with access to the JATOS server (though the GUI) is a JATOS User. Users can create, modify and delete the studies they are members of. They can also export and delete results. A study in JATOS is allowed to have more than one users, also called members. Each member has the same rights, e.g. can run the study, create new Workers, add/change/delete components, export/delete results. Especially each member can add new members or remove existing members. -Each study has a **Change Users** button in its study toolbar. +Each study has a Change Users button in its study toolbar. ![Change study's members button](/img/change_studys_members_button.png) @@ -16,7 +17,7 @@ In this menu you can add single users by their username. Of course this works on A single user is removed by unchecking the checkbox in front of its name. -Additionally it is possible, if your admins allow it, to add all JATOS users at once or remove all members at once. Then you will see the _Add All_ and _Remove All_ buttons. +Additionally it is possible, if your admins allow it, to add all JATOS users at once or remove all members at once. Then you will see the Add All and Remove All buttons. ![Change study's members](/img/change_studys_members.png) diff --git a/versioned_docs/version-3.7.1/Write_your_study/Create-a-new-study.md b/versioned_docs/version-3.7.1/Write_your_study/Create-a-new-study.md index 098e9f841c..e061de4159 100644 --- a/versioned_docs/version-3.7.1/Write_your_study/Create-a-new-study.md +++ b/versioned_docs/version-3.7.1/Write_your_study/Create-a-new-study.md @@ -3,6 +3,7 @@ title: Create a new study slug: /Create-a-new-study.html sidebar_position: 1 --- +import Hl from '@site/src/components/Highlight'; There are different ways to create a new study for JATOS: use a builder, with jsPsych, from scratch or by modifying an existing study. Then afterwards continue with [Write your own Study - Basics and Beyond](Write-your-own-Study-Basics-and-Beyond.html) or [Adapt Pre written Code to run it in JATOS](Adapt-pre-written-code-to-run-it-in-JATOS.html). @@ -23,11 +24,11 @@ Experiment builders like [OpenSesame/OSWeb](OSWeb-and-JATOS.html) and [lab.js](l Writing your own study gives your the most freedom since it allows you to do whatever is possible in a modern browser. But you will have to program your own code in JavaScript, HTML and CSS. -Press the **New Study** button in the header of your local JATOS. Then edit the study properties and add new components manually. All source code for your study has to got into the study assets folder you defined in the the study properties. The study assets folder is usually located in your JATOS installation folder. +Press the New Study button in the header of your local JATOS. Then edit the study properties and add new components manually. All source code for your study has to got into the study assets folder you defined in the the study properties. The study assets folder is usually located in your JATOS installation folder. ### Modify an existing study -Take an existing study (e.g. from [Example Studies](/Example-Studies)) as a prototype and modify it bit by bit. Press on the **Import** button in the header and select the file of the study. Then see the source code in your study assets folder, which is usually in your JATOS installation folder. +Take an existing study (e.g. from [Example Studies](/Example-Studies)) as a prototype and modify it bit by bit. Press on the Import button in the header and select the file of the study. Then see the source code in your study assets folder, which is usually in your JATOS installation folder. diff --git a/versioned_docs/version-3.7.1/Write_your_study/Session-Data-Three-Types.md b/versioned_docs/version-3.7.1/Write_your_study/Session-Data-Three-Types.md index 4879bcd7c1..58a3df340b 100644 --- a/versioned_docs/version-3.7.1/Write_your_study/Session-Data-Three-Types.md +++ b/versioned_docs/version-3.7.1/Write_your_study/Session-Data-Three-Types.md @@ -3,6 +3,7 @@ title: Session Data - Three Types slug: /Session-Data-Three-Types.html sidebar_position: 9 --- +import Hl from '@site/src/components/Highlight'; ### When to use the sessions? @@ -14,9 +15,9 @@ sidebar_position: 9 Often you want to store information during a study run and share it with other components of the same study, or between workers of a group or batch. The three different session types let you transfer data in this way (shown by the curved arrows in the picture on the right). Workers can write into the sessions through _jatos.js_. -The data stored in the sessions are **volatile** - do not use the sessions to store data permanently. Instead, store any information that might be useful for data analysis in the **Result Data**. Unlike the data stored in the sessions, the Result Data are stored permanently in the JATOS server, and will never be deleted automatically. +The data stored in the sessions are **volatile** - do not use the sessions to store data permanently. Instead, store any information that might be useful for data analysis in the Result Data. Unlike the data stored in the sessions, the Result Data are stored permanently in the JATOS server, and will never be deleted automatically. -The data stored in the sessions are not exported or imported together with a study. If you want data to be exported with a study, use the **JSON Input Data** instead. +The data stored in the sessions are not exported or imported together with a study. If you want data to be exported with a study, use the JSON Input Data instead.
@@ -37,19 +38,19 @@ The data stored in the sessions are not exported or imported together with a stu We have an [example study](/Example-Studies), where we show the three different session types in action. Try it yourself: -1. Download and import the study. You'll find that the study contains two components: "First" and "Second". +1. Download and import the study. You'll find that the study contains two components: First and Second. -1. Run the study once: easiest is as a JATOS worker (just click 'Run' on the study bar, not on any of the component bars). +1. Run the study once: easiest is as a JATOS worker (just click Runon the study bar, not on any of the component bars). -1. The first component will prompt you for a name. It will then write the name you enter here into the **Study Session**. Because all components have access to the Study Session, the second component can read it and use your name in a chat window. +1. The first component will prompt you for a name. It will then write the name you enter here into the Study Session. Because all components have access to the Study Session, the second component can read it and use your name in a chat window. ![First component screenshot](/img/ChatExample_1.png) -1. When you click on 'Next', the second component will load. Here you will see two chat windows: The left one is called the group chat because it uses the Group Session; the right one is called batch chat because it uses the Batch Session. For now you're alone in these chat rooms. So, without closing this run and from new browser tabs, **run the study 2 more times (at least)**. You can choose any study link type you want. +1. When you click on Next, the second component will load. Here you will see two chat windows: The left one is called the group chat because it uses the Group Session; the right one is called batch chat because it uses the Batch Session. For now you're alone in these chat rooms. So, without closing this run and from new browser tabs, **run the study 2 more times (at least)**. You can choose any study link type you want. ![Second component screenshot](/img/ChatExample_2.png) -1. Now you have 3 simultaneous study runs. You will notice while writing into the group chat that two of your workers are in the same group - the third one has their own group. Why 2 per group? Because we [set the groups to a maximum of 2 members each](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). The group chat will use the **Group Session** to allow the 2 members of each group to communicate with each other. Members of other groups will not have access to the chats of this group. However, anything written into the **Batch Session** will be accesssible by all workers that are members of this batch, regardless of the group they're in. +1. Now you have 3 simultaneous study runs. You will notice while writing into the group chat that two of your workers are in the same group - the third one has their own group. Why 2 per group? Because we [set the groups to a maximum of 2 members each](Write-Group-Studies-I-Setup.html#group-settings-in-each-batchs-properties). The group chat will use the Group Session to allow the 2 members of each group to communicate with each other. Members of other groups will not have access to the chats of this group. However, anything written into the Batch Session will be accesssible by all workers that are members of this batch, regardless of the group they're in. ![Second component screenshot](/img/ChatExample_3.png) ![Second component screenshot](/img/ChatExample_4.png) diff --git a/versioned_docs/version-3.7.1/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md b/versioned_docs/version-3.7.1/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md index 823572bd0e..8e43a1e9a5 100644 --- a/versioned_docs/version-3.7.1/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md +++ b/versioned_docs/version-3.7.1/Write_your_study/Write-your-own-Study-Basics-and-Beyond.md @@ -3,6 +3,7 @@ title: Write your own Study - Basics and Beyond slug: /Write-your-own-Study-Basics-and-Beyond.html sidebar_position: 2 --- +import Hl from '@site/src/components/Highlight'; After you [created a new study](Create-a-new-study.html) ... what comes next? @@ -13,15 +14,15 @@ After you [created a new study](Create-a-new-study.html) ... what comes next? If you have an empty study you want to add a component. A component corresponds to a webpage defined by an HTML file. A study can have more than one component - this is actually a strength of JATOS: e.g. one can combine different experiments into one, or easily add an survey to an existing experiment. -To add a component go to your study and click on Components -> New. +To add a component go to your study and click on Components -> New. ![New Component](/img/Screenshot_new-component_371.png) -Then in the following form you define the component's properties: enter the component's title and most importantly its 'HTML file path'. This is the path to the HTML file that starts this component. +Then in the following form you define the component's properties: enter the component's title and most importantly its HTML file path. This is the path to the HTML file that starts this component. ![New Component](/img/Screenshot_new-component-properites.png) -Click on 'Create' and you are done. If you add more than one component you can change the order in which they run by drag-and-drop on the position button. +Click on Create and you are done. If you add more than one component you can change the order in which they run by drag-and-drop on the position button. ## Mandatory lines in your components' HTML @@ -70,7 +71,7 @@ E.g. you want to be able to quickly change * the number of trials * some parameter needed in the experiment -This you can achieve with the Study JSON Input or Component JSON Input because both can be easily edited in the Study Properties or Component Properties. +This you can achieve with the Study JSON Input or Component JSON Input because both can be easily edited in the Study Properties or Component Properties. ![Study Properties / JSON input](/img/Screenshot_studyJsonInput_371.png) @@ -94,7 +95,7 @@ you can access those fields in your JavaScript with `jatos.studyJsonInput.introd ## Study / Batch / Group Session -The sessions are there to help you exchange data within a study, batch or group. The Study Session allows to pass on data within the same study run, from one component to the next. With the Batch Session one can transfer data between study runs that belong to the same batch. There is a whole page dedicated to those sessions: [Session Data - Three Types](/Session-Data-Three-Types.html). +The sessions are there to help you exchange data within a study, batch or group. The Study Session allows to pass on data within the same study run, from one component to the next. With the Batch Session one can transfer data between study runs that belong to the same batch. There is a whole page dedicated to those sessions: [Session Data - Three Types](/Session-Data-Three-Types.html). ## Group Studies