Disjointed Datasets

Lee.M.415
Lee.M.415 Posts: 12 Analytics Builder Transition
edited November 4 in Higher Ed / Postsecondary

I'm trying to create a user access report that shows the date and time spent in courses. It would basically look something like this:

StudentID | StudentName | CourseName | Date Accessed | StartTime | EndTime | Total Time

Getting this is a bit difficult because I cannot find a dataset that contain this info nor ones that can be connected to combine this info.

I have three questions regarding data on user access to courses.

  1. Why aren't the CourseAccess and CourseAccessLog datasets connected with an id field?
  2. Why are these two not connected to UserLogins and SessionHistory with the sessionid? A student could visit multiple courses in one session.
  3. Why aren't ContentUserCompletion and ContentUserProgress connected to UserLogin and SessionHistory via SessionID? I could really ask this about all logs (quizattemptlog, assignmentsubmissiondetails, etc.).

Answers

  • Sreelakshmi.N.546
    Sreelakshmi.N.546 Posts: 124 🤝🏼 image

    Hi Lee,

    Thank you for reaching out to us through community!

    Brightspace Data Sets are designed as independent exports optimized for reporting

    Q1: CourseAccess is a summary dataset (aggregated per user and org unit).

    CourseAccessLog is an event-level dataset (each record represents a course access event). Instead of cross-table ID's, they are meant to be joined on logical keys:

    UserId, OrgUnitId, and sometimes a timestamp field (AccessedDate or AccessDate).

    So in short — they can be connected logically, but not via a unique shared primary key.

    Q2:

    A Brightspace session can span multiple courses and multiple services. The User Logins Brightspace Data Set returns a list of all login attempts for your organization . The session specific details are now isolated to Session History and the System Access log dataset.

    Q3

    ContentUserCompletion and ContentUserProgress, all those datasets capture learning events, not authentication sessions.

    • A ContentUserProgress record = learner viewed or completed an activity.
    • A SessionHistory record = learner logged in/out of the system.

    Since a student might:

    • Leave their session idle,
    • Access content asynchronously (e.g., mobile offline sync),
    • Or complete multiple items under one login,

    Linking via SessionId could be misleading and introduce inaccurate assumptions about learning time.

    So again — D2L separates system sessions (login/logout) from learning activity events (content, quiz, assignment).

    Thanks,

    Sreelakshmi