eCreds
Introduction
Currently, most of the teachers receive a paper attendance certificate post completion of the in-person training programs conducted by the state. In some states, teachers submit these certificates back to the school principal as a proof of attending the training program. Hence, they do not have a record of the trainings attended by them. Further, the paper certificates are liable to forgery and can be misused by the stakeholders to meet certain ends.
Teachers deem a certificate provided by a valid authority as an important artefact:
- serves as an evidence of completing a training
- collection of multiple certificates can potentially build teachers' learning profile
- permanence of the certificate since it is in a digitised format
- verifiability of certificates reduces the chances of forgery
Hence, the value of including this use case as an integral part of the teacher's online course journey.
Requirement Specifications
This section consists of requirement specifications for specific use cases in the User JTBD. The requirements for each use case are elaborated in detail through sub-sections for:
- Use case overview
- Overall process workflow
- Associated user stories
- Non-functional requirements
- Localization requirements
- Telemetry requirements
- Dependencies
- Impact on other products
- Impact on existing data
Overview
This use case deals with enabling state to:
- provide eCredentials to teachers upon completion of the course and
- print and ship certificates to teachers
Overall Process Workflow
User Story 1 Overview
As a course author, for the course authored by me, I want to configure course completion certificate to be issued upon completion of the course.
Main Scenario
Assertion of a certificate to a course will be done using a API from the back end. API will be used to carry out the following functions:
1) Associate a certificate template to the course
2) Update existing course certificate <if the certificate is already set>
3) Remove association between certificate and the course
A certificate can have the following components:
Name | Description | Optional/Mandatory |
---|---|---|
Completion date | will be the <month, year> when the teacher completed the training | System populated |
Issuer | will be the state body issuing the certificate (organization or institution) | Mandatory |
Recipient | will be the teacher name who has completed the course | System populated |
Signatory | will be name of the individual signing the certificate | Optional |
Signature | will be the digital signature image of the signatory | Optional |
Training program name | will be the name of the course which they have completed | System populated |
QR code | Will be unique per user | System populated |
Mapping of Components
A state can have single unique issuer.
- Certificate can have single signature. The signature will be digitally verified.
Issuer can have multiple signatories.
Each certificate will have unique QR code.
QR code mapping can be updated dynamically i.e., if a QR code is linked to user’s credentials it can later be updated to have a video or both.
The structural model for certification infra needs to be built on incredible spec. (https://github.com/sunbird-specs/inCredible/blob/master/v1/spec.md)
Pre-requisites
Course is published
Course has batches - batch can be an open batch or an invite only batch.
Certificate template is available
State has provided the details needed to assert the certificate
Issuing authority/Issuer name - The issuer will be an organisation or institution which is a competent authority to certify recipients. Note that the issuer is different from the signatory (i.e. the individual(s) who applies his/her signature to the credential).
Signatory - will be the name, designtation of the individual/authority signing the certificate.
Signature image - will be the digital signature image of the signatory.
Each state has their own public and private key generated by platform
Srl. No. | User Action (API) | Expected Result |
---|---|---|
1 | Attach a certificate template to a course which does not have any certificates attached | Certificate template to be added to the course |
2 | Attach certificate to a course which already has a certificate attached | Should fail with proper error message - This course already has a certificate attached to it. |
3 | Update certificate to a course which has a certificate attached | The updated certificate will be added to the course |
4 | Remove attached certificate from a course | Attached certificate will be disassociated |
5 | Update/Remove certificate when no certificate is attached to a course | Should fail with proper error message - This course does not have a certificate attached to it. |
Exception Scenarios
When issuing certificates to users, any changes to the certificate template will not be applied retrospectively. The latest certificate template at the time of issue/re-issue is provided to the users.Certificate Templates
possible certificate templates are shown in the below link
https://projects.invisionapp.com/d/main#/projects/prototypes/18060916
For Future Release
As a course creator, I want to assert certificates to courses created by me so that users receive the certificate upon course completion.
State can have multiple unique issuers.
JIRA Ticket ID
- SB-13591Getting issue details... STATUS
User Story 2 Overview
As a course mentor, I want to issue online certificates to my state teachers who have completed the course.
Pre Requisites
Course has a certificate attached to it
User is enrolled into the course batch (open or invite-only)
User's course progress is 100%
- User belongs to the same tenant as the course author (only state validated teachers receive the certificate)
Main Scenarios
Issuance of certificates to state teachers who have completed the course will be done using a API.
Scenario 1: Issue certificates to all state teachers who have completed the course
Sr. No | User Action (API) | Expected Result |
---|---|---|
1) | Issue certificate API | If pre-requisites are met then certificates are successfully issued. If certificate was already issued to the teacher then it is not issued again. Upon successful issue of certificate, the recipients are notified by SMS or email or both. The count of issued certificates is updated in the mentor's course dashboard. If certificate issue fails, a log of failed records and the reason for failure is stored in the log. |
Alternate Scenarios
Scenario: Re-issue of certificates
Pre Requisites
- User has already received a certificate
Sr. No | User Action (API) | Expected Result |
---|---|---|
1) | Re-issue certificate API | If pre-requisites are met then certificates are successfully re-issued. Upon successful re-issue of certificate, the recipients are notified by SMS or email or both. The count of issued certificates is NOT updated in the mentor's course dashboard. (this count maps to the users who have received the certs irrespective of the number of times they have been issued the same certificate) If certificate issue fails, a log of failed records and the reason for failure is stored in the log. |
Wireframes
N/A
JIRA Ticket ID
- SB-13592Getting issue details... STATUS
User Story Overview
As a course mentor, I want to issue online certificates to my state teachers who have completed the course.
Pre Requisites
Course batch (open or invite-only) has endedCourse has a certificate attached to itUser is enrolled into the course batch (open or invite-only)User's course progress is 100%Certificate issuer is either the course mentor for that batch or in case of open batch should be the author of the course with course mentor roleUser belongs to the same tenant as the course author (only state validated teachers receive the certificate)
Main Scenarios
Scenario 1: Issue certificates to all state teachers who have completed the course (Bulk issue)
|
|
|
---|---|---|
|
|
|
|
|
|
Scenario 2: Re-issue certificates to only a few selected state teachers who have completed the course
|
|
|
Exception Scenarios
Scenario 1:
The course dashboard UI can show only 10k users. Hence, if a batch has more than 10k users then not every teacher who has enrolled into the course shows up in the dashboard report. Hence, in this scenario, the mentor may not be able to re-issue certificates to a few teachers.
In this scenario, course mentor can filter the course dashboard view by course completion date and issue certificates.
|
|
|
---|---|---|
|
|
|
Wireframes
<to be added>
JIRA Ticket ID
User Story 3 Overview
As a course mentor, I want to view count of issued certificates and individual certificate status so that I'm aware of how many teachers in my state have received the certificates.
Pre Requisites
- Certificate was already issued to the user
- User belongs to the same tenant as the course author (only state validated teachers receive the certificate)
Main Scenarios
Course dashboard will be modified to include the following fields:
a) External ID: This is the state ID. It should be populated only for state validated teachers
b) Certificate Status: This column will have 3 possible values:
- Issued - for state teachers who have received the certificate
- Blank - for state teachers who have not yet received the certificate
- N/A - for non-state teachers (teachers who do not belong to the course author's tenant)
c) Count of issued certificates
Design
https://projects.invisionapp.com/d/main#/console/18050126/374684611/preview
JIRA Ticket ID
- SB-13593Getting issue details... STATUS
User Story Overview
As a course mentor, I want to download certificates issued to state teachers who have completed the course so that I can print and ship these certificates to the candidates.
Pre Requisites
Course batch (open or invite-only) has endedCourse has a certificate attached to itUser is enrolled into the course batch (open or invite-only)User's course progress is 100%Certificate issuer is either the course mentor for that batch or in case of open batch should be the author of the course with course mentor roleOnline certificates are already issued
Main Scenarios
Scenario 1: Download certificates issued to all teachers of my state who have completed the course (Bulk download)
|
|
|
---|---|---|
|
|
|
Scenario 2: Download certificates issued to few teachers of my state who have completed the course
|
|
|
---|---|---|
|
|
|
Exception Scenarios
Scenario 1:
The course dashboard UI can show only 10k users. Hence, if a batch has more than 10k users then not every teacher who has enrolled into the course shows up in the dashboard report. Hence, in this scenario, the mentor may not be able to download certificates of a few teachers.
In this scenario, course mentor can filter the course dashboard view by course completion date and download certificates.
Wireframes
<to be added>
JIRA Ticket ID
User Story 4 Overview
As a teacher, post completion of the course, I want to be informed when my certificate is issued so that I can download my certificate.
Pre Requisites
- User has completed the course
- Online certificates are already issued
Main Scenarios
Sr. No | User Action | Expected Result |
---|---|---|
1 | Course mentor issues online certificate to users | Users receive an email notification and an SMS informing them that their online certificates are generated and they download them from their profile page, if user profile has both email and mobile number. If user has provided only their mobile notification then sms is sent only to their mobile. |
2 | User clicks on download certificate option in user profile page | Certificate is downloaded as a pdf file. |
3 | Course mentor reissues online certificate to users | Users receive an email notification and an SMS informing them that their online certificates are generated and they download them from their profile page, if user profile has both email and mobile number. If user has provided only their mobile notification then sms is sent only to their mobile. If user has provided only their email then email notification is sent. Newly issued certificate is updated in the user profile page |
Email Template: <Updated in design link>
Subject:
From:
Mail text:
SMS Template:
SMS text:
Congratulations! You have successfully completed the training <name of the training> on <completion date>. You can download your certificate from the profile page.
Design
https://projects.invisionapp.com/d/main#/console/18060916/374743126/preview
JIRA Ticket ID
- SB-13594Getting issue details... STATUS
User Story 5 (Mobile story)
As a teacher, post completion of the course, I want to download my certificate to print and scan the QR code on the certificate to verify my credentials.
As a teacher, post completion of the course, I want to share my certificate with my superiors as proof of completing the online training.
Pre-requisites
User has completed the course
Online certificates are already issued
Srl. No. | User Action | Expected Result |
---|---|---|
1 | User clicks on download certificate option from the profile page | Certificate is downloaded |
2 | User scans the QR code from DIKSHA app | User views the certificate details with the video thumbnail. |
3 | User scans the QR code from generic scanner | User is taken to a link. User clicks on the link and is taken to the certificate details page. |
Exception Scenarios
In case of a re-issue, the older QR code is revoked. Hence, in this scenario, if the user scans the older QR code then they are informed in the certificate details page that the certificate is revoked.
Designs
https://projects.invisionapp.com/d/main#/projects/prototypes/18049283
JIRA Ticket ID
- SB-13595Getting issue details... STATUS
User Story 6
JIRA Ticket ID
- SB-14708Getting issue details... STATUS
As a teacher, post completion of the course, I would like to download my course completion certificate.
Pre-Requisites
- Course should have a certificate
- Teacher is a state validated teacher
- Teacher has completed the course
Sr No | User Action | Expected Result |
---|---|---|
1 | User completes the course | A batch job runs overnight to issue the certificates: a) User receives a notification (email or phone or both based on the details in the user profile page) when the certificate is issued to the teacher; b) User can download the certificate from the profile page (mobile & portal); |
Exception Scenarios
User who has already received a certificate will not receive another certificate unless explicitly a certificate re-issue is done or a user's progress changes from completed to in-progress (in the case of additional content being added).
If the issue of certificate fails for any reason, then update the certificate status in the course dashboard page with 'Issue failed'.
User Story 7
JIRA Ticket ID
- SB-14709Getting issue details... STATUS
As a state admin, I should be able to re-issue certificates to state teachers whose details are incorrect and reach out to me for correction of details in the certificate.
Pre-Requisites
- Course should have a certificate
- Teacher is a state validated teacher
- Teacher has completed the course
- Correction requested is a name correction
- Name correction:
- SSO: Name is corrected from the state portal and DIKSHA automatically reflects the new name
- Shadow DB: Name is corrected by the state admin on DIKSHA
- Self Signed up users: Only state validated users qualify for the certificate. Hence, these are out of scope
Workflow
Sr No | User Action | Expected Result |
---|---|---|
1 | Teacher reaches out to the state help desk for name corrections in the certificate | SSO: Name is corrected from the state portal and DIKSHA automatically reflects the new name Shadow DB: Name is corrected by the state admin on DIKSHA Self Signed up users: Only state validated users qualify for the certificate. Hence, these are out of scope |
2 | Teacher confirms to the state admin that the name details are now corrected | State admin raises a support ticket to re-issue the certificate |
3 | Implementation team runs a API to re-issue the certificate to the teacher | Teacher receives a notification (email, SMS or both dependent on the details provided by the teacher on the platform) informing them that the certificate is generated and can be downloaded from the profile page |
4 | Teacher downloads the certificate and scans the QR code | Certificate should have the corrected name; Teacher is able to verify the details upon scanning the QR code; |
5 | Teachers scans the previous certificate | A message will be shown informing that the QR code is revoked. |
Exception Scenarios
Teacher was issued a certificate but the course author added additional reading material to the course. Hence, the teachers' new progress is less than 100%. In this scenario the original certificate issued has to be revoked and new certificate has to be auto issued when the teacher completes the additional reading material.
Sr No | User Action | Expected Results |
---|---|---|
1 | Teacher completes the course | Teacher views the course name under trainings attended section (mobile and portal) Certificate is issued to the teacher; |
2 | Teacher scans the certificate QR code | Teacher verifies the details; |
3 | Course author adds additional reading material to the course | Teachers' course progress is reduced from 100%; Under trainings attended section the course name is removed; Certificate is revoked; |
4 | Teacher now scans the certificate QR code | A message will be shown informing that the QR code is revoked. |
5 | Teacher completes the additional reading material | Teachers' course progress is updated to 100%; Course name appears under trainings attended section(mobile and portal) A batch job runs overnight to issue the certificates: a) User receives a notification (email or phone or both based on the details in the user profile page) when the certificate is issued to the teacher; b) User can download the certificate from the profile page (mobile & portal); |
6 | Teacher downloads the certificate and scans the QR code | Teacher is able to verify the details upon scanning the QR code; |
Alternate Scenarios
Scenario: Re-issue of certificates
Pre Requisites
- User has already received a certificate
Sr. No | User Action (API) | Expected Result |
---|---|---|
1) | Re-issue certificate API | If pre-requisites are met then certificates are successfully re-issued. Upon successful re-issue of certificate, the recipients are notified by SMS or email or both. The count of issued certificates is NOT updated in the mentor's course dashboard. (this count maps to the users who have received the certs irrespective of the number of times they have been issued the same certificate) If certificate issue fails, a log of failed records and the reason for failure is stored in the log. |
Design
invisionapp Link
Responsive - https://projects.invisionapp.com/d/main#/console/18049283/385433531/preview
Desktop -
https://projects.invisionapp.com/d/main#/console/18049283/385433530/preview
User Story 8
JIRA Ticket ID
- SB-14711Getting issue details... STATUS
As a course mentor, I should be able to view which state teacher has received the certificate and who have not received the certificate in the course dashboard by the external ID. This is the only field through which state admin can uniquely identify their teachers.
Pre Requisites
- Certificate was already issued to the user
- User belongs to the same tenant as the course author (only state validated teachers receive the certificate)
Main Scenarios
1) Progress report (csv) will be modified to include the following field at the end of the existing columns:
a) Certificate Status: The possible values in this column are:
- Issued - for state teachers who have received the certificate
- Blank - for state teachers who have not yet received the certificate
- N/A - for non-state teachers (teachers who do not belong to the course author's tenant)
- Issue Failed - State teachers who have completed the course but system when issuing the certificate has failed to issue the certificate
Design
https://projects.invisionapp.com/d/main#/console/18050126/374684611/preview
User Story 9
JIRA Ticket ID
- SB-14845Getting issue details... STATUS
As a course creator, for the courses created by me, I should be able to attach more than one certificate template to a course so that users receive different certificates based on the defined filter criteria for each template. For example, a teacher who completed the course with less than 80% score in the assessments will get a completion certificate. However a teacher who completed the course with more than 80% score in the course assessments will get a merit certificate.
Pre Requisites
- Course is published
- Course has batches - batch can be an open batch or an invite only batch
- Certificate templates are available
- State has provided the details needed to assert the certificate
- Issuing authority/Issuer name - The issuer will be an organisation or institution which is a competent authority to certify recipients. Note that the issuer is different from the signatory (i.e. the individual(s) who applies his/her signature to the credential).
- Signatory - will be the name, designation of the individual/authority signing the certificate.
- Signature image - will be the digital signature image of the signatory.
- Each state has their own public and private key generated by platform
- Define the filter criterion for these templates (Progress (100%) + Assessment Score (<80%) to get completion certificate and) Progress (100%) + Assessment Score (>80%) to get merit certificate)
- The assessment score is calculated as the best of attempt score recorded against content type 'Assessment'
Main Scenario
Assertion of a certificate to a course will be done using a API from the back end. API will be used to carry out the following functions:
1) Associate a certificate template to the course
2) Update existing course certificate <if the certificate is already set>
3) Remove association between certificate and the course
Certificate Templates
<To be added>
User Story 10
JIRA Ticket ID
- SB-14846Getting issue details... STATUS
As a course mentor, for a course which has more than one template, I want to issue online certificates to my state teachers based on the filter criterion for the course. For example, if a course has two certificate templates. Criteria for one template is course progress should be 100% and criteria to receive second template is course progress of 100% plus assessment score of more than 80%.
Pre Requisites
Course has more than one certificate attached to it
- Course certificate templates have the filter criterion rules defined
User is enrolled into the course batch (open or invite-only)
User meets the filter criterion
- User belongs to the same tenant as the course author (only state validated teachers receive the certificate)
Main Scenarios
Issuance of certificates to state teachers who have met the criterion will be done using a API.
Scenario 1:
Sr. No | User Action (API) | Expected Result |
---|---|---|
1) | Issue certificate API | If pre-requisites are met then certificates are successfully issued. Users get the certificate template based on the filter criteria met by them. If certificate was already issued to the teacher then it is not issued again. Upon successful issue of certificate, the recipients are notified by SMS or email or both. The count of issued certificates is updated in the mentor's course dashboard. If certificate issue fails, a log of failed records and the reason for failure is stored in the log. |
Scenario 2:
Lets say a course has one assessment with 10 questions created with content type as 'Assessment' and some reading material.
User 1 has attempted the assessment thrice and has scored 6,7 and 8 but has not completed the course by batch end date.
Certificate status: Will not receive any certificate (not completed the course)
User 2 has attempted the assessment thrice and has scored 4,5 & 5 but has completed the course before batch end date.
Certificate status: Will receive completion certificate (in all the 3 attempts his score was less than 80%)
User 3 has attempted the assessment four times and has scored 8, 2, 3 & 1 but has completed the course before batch end date.
Certificate status: Will receive merit certificate (best of attempt score indicates that in the first attempt user has scored 80%)
If the course has more than one assessment then the scores will be averaged out to calculate the user's final assessment score.
Note:
For courses which have more than one certificate template, certificates will be issued at the end of the batch. This is to avoid users receiving multiple certificates for the same course.
The assessment score is calculated as the best of attempt score recorded against content type 'Assessment'.
User Story 11 - Send Email and SMS to the user, when "Certificate of Achievement" is issued
JIRA Ticket ID
- SB-15844Getting issue details... STATUS
Context:
Once a user completes an online course with more than a specified %, a Certificate of Achievement is issued. This certificate is different from the course completion certificate (which is issued for just completing the course). A user can only get either a completion or Merit certificate and not both.
So, when a user completes a course with a certain set %, there should be an email/SMS notification informing the user that the Certificate of Achievement is generated and that it can be downloaded from the Profile page. If user's profile has both email and mobile number, then notification on the same goes to both email address and mobile number. If the user has provided only his/her mobile number, notification is sent only to the mobile or if the user has provided only his/her email address, notification is sent only to the email address
Note: The email and SMS text that is sent to the user for receiving Course completion or Certificate of Achievement should be the same going forward. The differentiation between the two should be made available in the actual Certificate
As a teacher, I want to be alerted via an email or SMS as soon as I receive the Certificate of Achievement/Course completion so that I'm aware that I can now download my certificate.
Acceptance criteria:
Pre-condition:
# User has completed the course with merit (Score % >=set %) / without merit
# Certificate of Achievement/Course completion is issued
Main workflow:
Verify that
- The email sent to the user when Course completion certificate/Certificate of Achievement is issued is as mentioned in the link (Refer slide no: 3 for the email text in the below link)
- The SMS text sent to the user when Course completion certificate/Certificate of Achievement is issued is as mentioned in the link (Refer slide no:5 for the SMS text in the below link)
UI Design
User Story 12 -Update the email content that is sent to the user, when "Course completion" certificate is issued
JIRA Ticket ID
- SB-15841Getting issue details... STATUS
Context:
Once users completes an online course and certificate has been issued, they receive an email notification informing them that their online certificates are generated and that they can download them from their profile page. This current behavior remains the same, however the email text needs to be modified for a better user experience
Acceptance criteria:
Pre-condition:
User has completed the course
Course completion certificate is issued
Main workflow:
Verify that
The below email notification is sent to the user (Refer slide no:3 in the below link)
User Story 13 -Update the email content that is sent to the user, when "Course completion" certificate is issued
JIRA Ticket ID
- SB-16099Getting issue details... STATUS
Context:
Though a course is made open to all users (state + self signed up), currently when a certificate is issued, it goes to all the users who completed the course. Instead the Issuer should be able to choose to which users the certificates should be issued
As a certificate issuer, i should be able to choose to issue certificate to different user types , So that I can issue certificates to all users or state teachers only
Acceptance criteria:
Verify that:
The Issuer can choose to issue certificates to all the teachers/users or only state teachers (this will be part of the back end activity)
If the option to issue certificate to state teachers is selected, only the state teachers who completed the course receives course completion/Certificate of achievement is issued, as applicable
If the option to issue certificate to all the users is selected, all the self signed up users + state teachers who completed the course receives course completion/Certificate of achievement is issued, as applicable
User Story 14 - Include "Certificate Type" in the Course Progress Report CSV
JIRA Ticket ID
- SB-16580Getting issue details... STATUS
As a course mentor, I would want to know the type of certificate that has been issued to a State teacher, So that i can track the number of certificate types that has been issued in the state for the teachers
Pre conditions
Certificate has been issued to the user
Main workflow
Verify that
1. The below fields are added to the Progress report (CSV) at the end of the existing columns:
a) Certificate Status (Note: This is already available in the progress dashboard UI)
b) Certificate Type (Course completion, Certificate of Achievement)
2. Certificate Type is displayed irrespective of the Certificate status (Issued, Failed)
Localization Requirements
UI Element | Description | Language(s)/ Locales Required |
---|---|---|
Download certificate | Clicking this button will download the certificates | All languages supported in the platform |
Enter the certificate code here | All languages supported in the platform | |
Verify | All languages supported in the platform | |
Watch video | All languages supported in the platform | |
Return to courses | All languages supported in the platform |
Telemetry Requirements
Event Name | Description | Purpose |
---|---|---|
Click on download certificate (mobile app, mobile web and portal) | Track the usage of how many times the certificate is getting downloaded by device and device id so that we can get insights into the number of times the cert is downloaded and unique users downloading the certificate | |
Certificate QR code scan (mobile app, generic QR code scanner apps) | Track the usage of certificate QR code scan so that we get insights into the number of scans done for certificates and unique users scanning the certificate QR codes by the type of device (mobile app, generic QR code scanner app) | |
Click on 'Verify' (mobile app, generic QR code scanner apps, portal) | Track usage of how many users are entering the QR code to verify the certificate to get insights into the number of times the QR code is entered and unique users entering the QR codes | |
Certificate details | Track usage of successful validation of the QR code to get insights on the number of successful validations | |
Click on video | Track usage of number of users playing video by device and unique users playing the video | |
Click on Return to Courses | Track usage of number of users clicking on 'Return to Courses' and unique users clicking on 'Return to Courses' |
Non-Functional Requirements
Performance / Responsiveness Requirements | Load/Volume Requirements | Security / Privacy Requirements |
---|---|---|
Bulk issue of certificates should support batches with completion count upto 50k. |
Impact on other Products/Solutions
Product/Solution Impacted | Impact Description |
---|---|
Course dashboard page | introduction of new fields such as filter by completion date and functionality (issue certs) |
User profile page | introduction of course certificate download |
Impact on Existing Users/Data
User/Data Impacted | Impact Description |
---|---|
Key Metrics
Srl. No. | Metric | Purpose of Metric |
---|---|---|