opt-in participant survey reminders
Add a feature for opt-in survey reminders.
- Ongoing survey reminders:
Participants opt-in to regular email (research specified options: at least, every day, every 2 days, every 7 days) while a survey is designated as “ongoing”.
=> Participant interface: link to manage frequency of reminder e-mails from the google_survey 'view' page.
=> Researcher interface: allow them to specify possible reminder frequencies (default to 1/2/7/14/30 days?). Maybe allow them to put custom text in the reminder e-mails.
New table: google_survey_reminders (user_id, google_survey_id, frequency)
New fields on google_surveys table (reminder_email_subject, reminder_email_text, allowed_reminder_frequency_days)
In the reminder e-mail:
- Option to select: "no symptoms" link with a single click; one use link.
- for each link store generation date and when clicked date. Links can only be clicked once.
=> Participant interface: allow them to download the "bypass csv" (but call it whatever is in the title_for_bypass_field). The CSV will have these fields: timestamp link generated, timestamp link clicked, huid.
=> Researcher interface: template the links used in the reminder e-mails so that they can write all the text. Create a default template text instead of an empty body. Call the template strings %BYPASS_URL% and %SURVEY_URL%.
New fields on google_surveys table (bypass_field_title, required when reminder_email_frequency is not empty)
New table: google_survey_bypasses (user_id, google_survey_id, token, used => default null). The created_at field will have the meaning of token_generation_timestamp). Each new reminder e-mail being sent will generate a new record in this table. The CSV output will only include records with used != null, and for user_id's that are not marked as 'test' users.