Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Jira Link : https://project-sunbird.atlassian.net/browse/SB-10786

Overview: 

Need to validate all the telemetry events of LMS service.


Points to be validate:

1 Following headers will be sent in all API calls and they should be added to the telemetry for all LOG events of type “api_access” and SEARCH event

  1. x-device-id

  2. x-channel-id

  3. x-app-id

      Not storing all these values

  1. x-channel-id stored under context as channel
  2. x-app-id read as X-app-id so every time it 's giving null.
  3. need too handle x-device-id

2 AUDIT events are required to be generated for all objects - For ex: User, Course, CourseBatch, Badge etc

     Generating AUDIT event for all objects.

3 Object or actor types should be in upper camel case. For ex: User, Content, Resource, Collection, Group, UserLocation etc. Distinct object types are listed in this sheet https://docs.google.com/spreadsheets/d/1se19XYQf7gxb3ZuPQL-ZcmWTn2utIKiBdNg2XMXMXAc/edit?usp=sharing and should one of the entry in the above sheet. (Reach out to me if any new type needs to be added)

     Sometimes sending in lower case and sometimes in upper camel case.

4 Object type should be there when object.id is not null.

     Working as expected.

5 Object rollups are mandatory whenever collection type objects are interacted with like Course, Textbook, Teacher aid etc

  1. object.rollup.l1 → should be root level id. For ex: textbook id, course id etc

  2. object.rollup.l2 → should be level 1 unit id

  3. object.rollup.l3 → should be level 2 unit/sub-unit id

  4. object.rollup.l4 → should be level 3 unit/sub-unit/topic id

  5. object.rollup.l1 is mandatory whenever events are generated in context of content objects. For ex: in ETB, any interactions in textbook view the object.id will be textbook id and object.rollup.l1 would also be textbook id. When a leaf content is opened, or downloaded or played, the object.id will be the resource id and object.rollup.l1 would be textbook id

      Working as expected.

6 SEARCH events needs to be generated for all searches generated within lms

  1. edata.type needs to be the type of search performed. for ex: location, user, org etc

               Working as expected.

  1. edata.size is mandatory - this should be the size of search results returned

                size we are sending is the total doc matching that filter criteria not the total doc returned by response.

  1. edata.topn should contain the top n (default configuration as 5) object ids returned by the search

                as of now its 2 not 5 (configurable)

7 Correlation data needs to be passed wherever applicable in all audit events. For ex: If a user is enrolled into a course batch and an AUDIT event is generated with object.id as UserEnrollment, CourseId and CourseBatchId should be added as “cdata” for the same.

        Working as expected.

8 Each batch created for sync should not have more than 200 events

        As of now its 100 not 200 (configurable)


Doubts & Clarification:

  1. CourseBatch, Badge object need to be corrected as instead of CourseBatch we are using Batch and for Badge we are using BadgeClass similarly for location & etc.
  2. What value to be stored in env and objectType field as of now env contains the object for which event is getting generated & objectType has value as User or Consumer.
  3. what value we need to pass in actor type for public and anonymous?
  4. Add validation for Object type should be there when object.id is not null.
  5. inside edata  need to pass object type like mentors and participants for batch create and add user to batch APIs.(suggestion)
  6. object.type should be user enroll or user or participants or mentors.
  • No labels