Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-82854

Log for analytics callback should store the raw data

XMLWordPrintable

    • MOODLE_404_STABLE, MOODLE_405_STABLE
    • MOODLE_405_STABLE
    • Hide
      Requirements
      1. The Moodle instance is visible from outside (e.g. using ngrok)
      2. That the Bigbluebutton server is set up to enable analytics events (Free registration will work).

      Testing the raw data is included

      1. Make sure that in Admin > Plugins > BigBlueButton > Experimental Settings : Register live sessions is checked (bigbluebuttonbn_meetingevents_enabled)
      2. Create a course with completion tracking and enrol a student
      3. Create a BigBlueButton activity in the course.
      4. Join the meeting
      5. Exit the meeting
      6. On the feedback dialogue, press OK. (Optionally, set a rating)
      7. Ensure that the table bigbluebuttonbn_logs has two new records. Callback and Summary. The Callback log should now have 4 keys instead of 3 in the "meta" column, which includes a "data" key :
        E.g.

        {
            "internalmeetingid": "xxxxxx",
            "callback": "meeting_events",
            "meetingid":"xxxxxx",
            "data": {...}

       

      Show
      Requirements The Moodle instance is visible from outside (e.g. using ngrok) That the Bigbluebutton server is set up to enable analytics events ( Free registration will work). Testing the raw data is included Make sure that in Admin > Plugins > BigBlueButton > Experimental Settings : Register live sessions is checked (bigbluebuttonbn_meetingevents_enabled) Create a course with completion tracking and enrol a student Create a BigBlueButton activity in the course. Join the meeting Exit the meeting On the feedback dialogue, press OK. (Optionally, set a rating) Ensure that the table bigbluebuttonbn_logs has two new records. Callback and Summary. The Callback log should now have 4 keys instead of 3 in the " meta " column, which includes a " data " key : E.g. { "internalmeetingid": "xxxxxx", "callback": "meeting_events", "meetingid":"xxxxxx", "data": {...} }   

      When receiving the BigBlueButton Callback with analytics, the plugin process the payload and creates some entries in the `bigbluebuttonbn_logs` table.

      • One EVENT_CALLBACK type record with the basic information related to the callback itself
      • Multiple EVENT_SUMMARY type records with the stats of the user in the live session. (One per user in the session, this is preprocessed)

      The issue is that the information related to the meeting itself is discarded, and that is needed for reporting.

      Of course, that same information can be fetched from a getRecordings request when the meeting was recorded, but since BigBlueButton does not implement a getEvents action, for those meetings that were not recorded, that information is lost.

       What is needed is a minor change so the raw data is stored as part of the Callback record, so other plugins or subplugins can still be able to identify the meeting general information, such as start time, end time, duration, and some of the metadata inherent to the meeting itself.

            jfederico Jesus Federico
            jfederico Jesus Federico
            Shamiso Jaravaza Shamiso Jaravaza
            Jun Pataleta Jun Pataleta
            Kim Jared Lucas Kim Jared Lucas
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 35 minutes
                35m

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.