...
There are 3 overarching use cases for which Prashnavali is being used for creation of good quality questions:-
Assessments
Practice Worksheets
Question Banks
The mentioned use cases require a quick turnaround time and close monitoring on the progress of the status and regular reminders to users to complete the assigned task. Just to add some colour:-
...
Currently, to send reminders to all contribution contributors & reviewers, the admin has to do these steps:-
Login to the contribution portal
Go to ‘My Projects’
Open the desired project (approx. 46 projects in chapter worksheets)
See the overall progress status of the project
Open the desired question set (approx 15-30 question sets per project in case of chapter worksheets)
See the progress in that particular question set
Send a reminder/nudge to all contribution org contributors & reviewers
Steps 3-7 need to be repeated for all projects & all question sets in that project
...
The proposed solution is:
Login to the sourcing portal
Go to “Create New Project”
Select content type
Fill the details of the project like name, description
Admin finds a default selected “Send Reminder” check box before moving to contribution and project end date
“Send Reminder” functionality has a description : “Send reminder messages to all assigned contribution org contributors/reviewers or both to remind them to contribute/review before contribution end date”
Go to ‘My Projects’
Open the desired project (approx. 46 projects in chapter worksheets)
Select a question set to check on progress
Send a reminder/nudge to all contribution org contributors & reviewers
Select contribution org contributors/ reviewers or both
Slide26-32 attached for wireframes of the solution
...
Technical solution:
Approach
Adding Checkbox to send Reminder
There will be one checkbox added to the UI on the project page by updating the sourcing project creation page.
This checkbox will only be visible to the users creating project type as Questionsets.
- Understand and propose updated to sourcing project creation page.
Have to add an system environment variable: isSendReminderEnable, this key will have a boolean value. By default, isSendReminderEnable: false.
Depending upon the system environment variable, the checkbox will be blank in the beginning. SourcingOrg Admin can enable it, if required.
The updated value of the checkbox will be stored in the config of sourcing project.
- Find out system variable file.
- Propose new variable to be added.
Adding a button “‘Send a Reminder”
Only if isSendReminderEnable: true in the config of collection, we’ll show the button “Send a Reminder” on the nomination page at question set level.
On click of this button we’ll open a modal which will have UI as given below:
https://docs.google.com/presentation/d/13_KfHUE53_jqaGS6WBpDactC4b9KK7UT/edit#slide=id.g13681ada685_0_155
Fetching User Details
To have a list of users, we’ll have the data from following API on click of Send Reminder button.
Nomination list(Existing API):API: program/v1/nomination/list
We are already hitting this API on opening of nomination page.
This API has Key: result[0].rolemapping, which will give us the userIds of contribution org contributors and reviewers.
For the complete details of users we will hit following API:
API: program/v1/contributor/search
With the help of the above mentioned API we will show
...
2 fields as contribution org contributors and reviewers on UI.
This checkbox will be disabled if users aren’t assigned to the project yet.
Sending Message
On selecting at least one
...
checkbox out of contributor and reviewer, a button to send a message will be enabled on modal.
On click of that button a template mail/SMS will be sent to selected users
...
.
For above mentioned functionality first we will hit search API to get the template of message and then SMS/Email API will get hit.Send SMS API:
API: user/v1/notification/email
Doc: http://docs.sunbird.org/latest/apis/notificationapi/#section/Authentication