...
Currently, only trackable collections and their progress are stored in user_activity_agg
table.
Below is the flow used to show scores in group aggregates.
AssessmentAggregator job changes:
...
activity_type | activity_id | user_id | context_id | agg | agg_last_updated | |
---|---|---|---|---|---|---|
Assessment | do_123(assessmentId)Course | collectionId | user_123 | cb:batch_123 | {'score:assessmentId_1': <best attempted score>, | {'score:assessmentId_1': ‘timestamp’, |
Group Aggregate API changes:
Create a new v2 endpoint and accept list of activityIds in the input and response is based on the activityId
Request:
...
Implementation steps:
Read the best score from assessment_aggregate table using courseId, userId, batchId and contentId from the event
Partial update the agg and agg_last_updated columns in user_activity_agg
Group Aggregate API changes:
The response contains the score aggregates also if the collection contains self assessments.
Response:
Code Block |
---|
{ "id": "api.group.activity.agg", "ver": "v2v1", "ts": "2021-04-0714 0517:5349:3230:742782+00000530", "params": { "resmsgid": null, "msgid": "62ae69c970b89413-edf7fe1f-4486482a-bbfcb92a-c84454add954e27d4af0ae4f", "err": null, "status": "success", "errmsg": null }, "responseCode": "OK", "result": { "assessmentId_1": { "activity": { "id": "assessmentId_1collectionId", "type": "AssessmentCourse", "agg": [ { "metric": "scoreenrolmentCount", "lastUpdatedOn": 15966477006131618390479814, "value": 1 <totla number of enrolments> } ] }, "groupId": "b0c4a645-807e-41c7-972e-5c48c5b5e5e7groupId", "members": [ { "agg": [ { { "metric": "score", "valuemetric": 20"completedCount", "lastUpdatedOn": 1596647700613 "value": 2, } ], "namelastUpdatedOn": "Creation", 1596647700613 "role": "admin", "status": "active", }, "createdBy": "874ed8a5-782e-4f6c-8f36-e0288455901e", "userId": "874ed8a5-782e-4f6c-8f36-e0288455901e" { } ] }, "metric": "score:assessmentId_21": {, "activity": { "id": "assessmentId_2", "typevalue": "Assessment"10, <best attempted score> "agg": [ { "lastUpdatedOn": 1618390479814 "metric": "score", "lastUpdatedOn": 1596647700613}, "value": 1 { } ] }, "groupIdmetric": "b0c4a645-807e-41c7-972e-5c48c5b5e5e7", score:assessmentId_2", "members": [ { "aggvalue": [20, <best attempted score> { "metriclastUpdatedOn": "score",1618390479814 "value": 30, } "lastUpdatedOn": 1596647700613 ], } ]"name": "", "name": "Creation", "role": "admin", "status": "active", "createdBy": "874ed8a5-782e-4f6c-8f36-e0288455901euserId", "userId": "874ed8a5-782e-4f6c-8f36-e0288455901e"userId" } ] ] } } } |