Reminder Feature:
This feature allows a form designer to be able to enable automated submission reminders at the form level for a given submission period. Once the submission period is set, the option to enable automated notifications will be enabled for users to choose to use it or not.
If checked on, the system will send 3 notifications:
1 at the start of the submission period
1 halfway through the submission period
1 a day prior to the submission period
Reminders would only be sent to the identified “Submitters“ who haven’t submitted the data for the given period.
A generic template will be used for the notifications. The content should always include the link to the form. Future possible enhancements (post-MVP):
Have a dedicated notification section to allow for more fine-tuning of the functionality
Priority: High (not critical but easy to add to the scope of the MVP)
Health Authorities have to notify operators manually every submission period to let them know they must submit their data on time.
Each submission period is 45 days long. They send a notification at the start, then send reminders to the people who haven’t submitted until the end of the period.
This is very time-consuming as they do not have an easy way to track submissions. They have to prepare the email with the correct recipients making sure they’re not sending it to someone who’s already submitted it.
How to use it
This feature’s development has been made in three parts, first the frontend part, next the back-end, and the last one the cronjob.
In the front end, after creating a form save it and go to this form management, after publishing a version of it, the Schedule setting checkbox is enabled, now you can check it, after doing that the section FORM SCHEDULE SETTINGS appear. it will contain a list of inputs to configure the period.
First, we have the open submission date input as the starting date of the period.
We 3 types of periods represented by 3 radios button
One with no end date so we can close at any time
One with a specific date to end
The last type we can set up a submission period
You have to choose one to continue.
Accord the type you choose, you can see a checkbox to active late submission when we check it we have 2 new inputs one for the term and the other for the interval.
NB: we only see this checkbox for late submission when we choose the second and the third type.
If you check the last type of period 2 new inputs appear and a checkbox for the repeat period.
With the 2 inputs, we can config the during of the period one input for the term and the other for the interval.
And the checkbox is to active repeat period, check it, 3 new fields appear to config the repeat period according to the frequency that we want and the last input is for the end date.
We have a checkbox for active customs closing messages when we check it we have a new text area for that.
The last checkbox allows enabling reminder submission, when you check it you are active now the mail reminder all submitters of this form will receive emails from the reminder on the opening day of the form, in the middle if they don’t yet, and a last one the day before the form close. NB those emails depend also on the type period by example for the first type that one without closed we send only one mail the first one.
Reminder notification is a service of chefs that allows the system to send reminder emails to the submitter of a specific form during the open submission period. Generally, it sends three emails, one on the first day of opening, the second in the middle, and the last one day before the end of the period.
We have three types of form schedules that trigger reminder emails:
form without an End Date
form with a Start and End Date
form with a Repeat Section
When the form has no end date, we send only one email the first, but if the date is after the current date.
When the form has a start and end date or a repeat period, we send three emails, but according to the length of the period. For example, if the date is less than three days, we send only one email the first. If it is between 4-6 days, we send two emails, the first and the last. If the period is more than six days, we send three emails, one at the start, one in the middle and the day before the end of the period.
What is a period?It is a moment when a form is open for submission, containing a start date and an end date. There are two types of periods. A simple one includes only a start and end date. The second one also has a start and end date but repeats according to an interval.
Technical Details:
Open Shift can be responsible to handle Schedule/Cron Job (In order to send Bulk Emails). The cronjob triggers every day at 8 AM O’clock
Common Components - Digital Government - Province of British Columbia (Common Hosted Email Service) can be used to send bulk emails.
CHES Service file : app\src\components\chesService.js
Use of chesService : app\src\forms\email\emailService.js
API Documentation Common Hosted Email Service API - Documentation v1 (http://gov.bc.ca )
Need multiple Login accounts for testing
In order to create multiple accounts, We need to enable login by BCeID (Identity provider) module. Here is rocket chat help thread BCDevXHQ for this.
In order to create (Bypass Identity providers) local users need some changes into KeyCloak admin console. (More info in the document attached)
Schedule Feature:
This feature allows the form designer to schedule form submissions. By enabling this feature form designer can Limit the submissions to a form by selecting Open and Close submission dates or a specific period. The schedule feature can be enabled by clicking on the "Form Submission Schedule" checkbox under the Form schedule settings on form settings. One thing to remember is that this feature can only be available to the forms that have at least one version published. Three scenarios can schedule a form submission.
By enabling this radio box "Keep open until manually unpublished" the form submission will work normally, the only limit a form designer can use is to select an "Open submissions date" so basically form will be open on a specific date and will be available until the form get unpublished manually.
"Schedule a closing date" is another option where the form designer can select a specific closing date for a form submission. Selecting the Open and Close date form will open submissions for a specific selected period only. Plus, the form designer can allow end users to submit the form with a Grace period. To do so, the Form designer can use the "Allow late submissions" option and choose a specific interval.
Upon closing a form, the Form designer can set a custom message for the end user as well. That can be seen on the front end once the form gets closed for a specific period. This feature can be used by clicking on the "Set custom closing message" checkbox.
Last option "Set up submission period" will act similarly to the previous one but setting up this option is a bit different. Here Form designer has to choose a period and interval to close the form submission. The first input accepts a Positive integer/number and the next one accepts a period that could be Days, Weeks, Months, etc. So form will be open from the Open submission date to the Period selected by the form designer. Again form designers can allow end users to give a grace period for submission by enabling allow late submission option.
One advanced feature here is to set up a Repeat period, Where a Form Designer can set up a form availability repeatedly. By means, the form designer can select a particular repetition to occur for the current form by inputting a positive number in the very first input box that says "Every" as a placeholder, then using the second drop box to select a period, and the last thing using an End date when the repetition should end.
Upon closing a form, the Form designer can set a custom message for the end user as well. That can be seen on the frontend once the form gets close for a specific period. This feature can be used by clicking on the "Set custom closing message" checkbox.