/
Instructions.md
43 lines (37 loc) · 3.87 KB
/
Instructions.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Implementing the Google Script Data Collector
For the Google option, you will need to go to Google Drive and create three spreadsheets in Google Sheets.
One sheet will be used to store the raw data (`database`), one sheet will be used to store spliced data (`splicedDataset`),
which will then be used to check compliance, and one sheet will be used to store compliance rates (`compliance`). For each
spreadsheet, note the ID of the sheet. The sheet id is used to tell the web app where to write the data and is found in
the URL for the Google sheet. It is a long string of letters, numbers, and symbols that appears before “`/edit#gid=…`”
You can also create a Google Document that will act as a log of the web app’s activities.
1. Go to [Google Script](http://www.google.com/script/start/).
2. Select a Blank Project in the top left of the menu of the pop-up dialog. You can copy and paste the script from [this page](https://script.google.com/d/1P5dCtwPQxsXYFcN68sE8egkfyhKs0WDcXqFDXm3jactwxvbUXP8sLJlR/edit?usp=sharing)
or from [GitHub](https://github.com/sabrinathai/ExperienceSampler/blob/master/Google-Script-Data-Collector/DataCollector.gs).
3. You will then replace the variables `databaseID`, `splicedDatabaseID`, `complianceID`, and `DocumentID`, in the example code with the ids you stored for the raw data spreadsheet, the spliced data spreadsheet, the compliance data spreadsheet, and the web app log,
respectively.
4. Change the end date by adding the appropriate number of days to it. It is currently set for two weeks.
5. Save the script.
You are now ready the test and potentially deploy the data storage web app.
1. Click on the debug icon, which looks like a bug and is located beside the dropdown menu titled **Select function**.
2. The script will then ask for Authorization. Select `Review Permissions`.
3. Click on your Google Account
4. You will see "This app is not verified" on the screen. Click on `Advanced` underneath it.
5. Scroll down and click on `Go to Untitled project (unsafe)` Note: the name of the project may vary depending on how you have named your project.
6. Then click `Allow`. You will most likely get an email from Google notifying you that an unverified app has been made.
7. To deploy as a web app, a project version needs to be created.
8. Go to `Publish` then `Deploy as web app`.
9. In the dropdown menu for Who has access to the app, select `Anyone, even anonymous`.
10. Then click `Deploy`. Copy the URL that appears below `Current web app URL`. You need this URL to input into your ExperienceSampler
code so that the app knows where to send the data.
## saveData functions
Next, you will need to tell the ExperienceSampler where to send the data by locating the saveData
and saveDataLastPage functions in the `index.js` file and copying and pasting the URL for the Google web app.
The only difference between the `saveData` and `saveDataLastPage` functions is that participants will be notified whether the data was
sent to the server successfully when the `saveDataLastPage` function is executed but not when the `saveData` function is executed. These
functions ensure that the data is being sent to the server as often as possible so that participant data files are as up-to-date as
possible. This allows for the most accurate records of response compliance (i.e., using the `saveData` function) that can be checked
daily using our automated compliance checking program but not annoy participants by notifying them every time their data has been
sent successfully. We chose to only notify participants when they would naturally expect to receive such confirmation – when they
have completed the survey. If you choose not to notify participants, then you only need to implement the saveData function; however,
we would advise you to use the `saveDataLastPage` function during testing to ensure that your data is being sent and saved correctly.