File Interaction
Last updated
Last updated
Unizin Homepage
unizin.orgHosted Services
My Learning AnalyticsCopyright © 2023, Unizin, Ltd.
The mart_course_offering.file_interaction mart keeps track of file interactions within a course offering. The mart_course_section.file_interaction mart serves the same purpose, except at the course section level.
mart_course_offering
mart_course_section
The following visualization shows the construction of this data mart defined in the UDP marts repository. More information on the repository and diagram can be found on this marts page.
udp_course_offering_id
INTEGER
The UDP ID of the Course offering associated with the file.
udp_file_id
INTEGER
The UDP ID of the file.
lms_int_file_id
STRING
The LMS internal ID of the file.
num_views
INTEGER
Number of times the file was viewed.
num_distinct_students
INTEGER
Number of unique students who viewed the file.
num_enrolled_students
INTEGER
Number of students enrolled in the Course offering associated with the file.
student_udp_id_array
ARRAY<INTEGER>
An array of the UDP IDs of the enrolled students in the Course offering associated with the file.
instructor_name_array
ARRAY<STRING>
An array of the instructor’s names for the Course offering associated with the file.
instructor_display
STRING
The array of the instructor’s names for the Course offering written as a string.
instructor_email_address_array
ARRAY<STRING>
An array of the instructor emails for the Course offering.
instructor_email_address_display
STRING
An array of the instructor emails for the Course offering written as a comma-separated string.
course_offering_subject
STRING
The subject of the Course offering associated with the file, i.e. MATH.
course_offering_number
STRING
The number of the Course offering, i.e. 310
lms_course_offering_id
STRING
The LMS ID of the Course offering.
course_offering_code
STRING
The code of the Course offering associated with the file, i.e. MATH 310.
academic_term_name
STRING
The name of the academic term, i.e. Fall 2020.
term_start_date
DATE
The start date for the academic term.
term_end_date
DATE
The end date for the academic term.
learner_activity_id
INTEGER
The UDP ID for the learner activity if the file is associated with a learner activity.
learner_activity_title
STRING
The title of the learner activity if the file is associated with a learner activity.
learner_activity_due_date
DATETIME
The due date of the learner activity if the file is associated with a learner activity.
uploader_id
INTEGER
The UDP ID for the person who uploaded the file.
quiz_id
INTEGER
The UDP ID for the quiz if the file is associated with a quiz.
quiz_title
STRING
The title of the quiz if the file is associated with a quiz.
quiz_due_date
DATETIME
The due date of the quiz if the file is associated with a quiz.
content_type
STRING
The type of content that defines the file.
content_sub_type
STRING
The subtype of content that defines the file.
display_name
STRING
The name displayed for the file.
owner_entity_type
STRING
The type of entity that owns the file.
size
NUMERIC
The size of the file in bytes.
created_date
DATETIME
The date the file was created.
unlocked_date
DATETIME
The date the file was unlocked.
updated_date
DATETIME
The date the file was last updated.
accessible_date
DATETIME
The date the file became accessible.
most_recent_version_date
DATETIME
The date of the most recent version of the file.
students_who_viewed_udp_id_array
INTEGER
An array of the UDP IDs of the students who viewed the file.
students_who_did_not_view_udp_id_array
INTEGER
An array of the UDP IDs of the students who did not view the file.
pct_class_viewed
FLOAT
The percentage of students enrolled in the Course offering who viewed the file.
The course section mart includes all the fields found in the course offering mart, along with three extra fields.
udp_course_section_id
INTEGER
The UDP ID of the Course section associated with the file.
lms_course_section_id
STRING
The LMS ID of the Course section associated with the file.
sis_course_section_id
STRING
The SIS ID of the Course section associated with the file.
The field num_views is the number of times the file has been viewed. We identify that a file has been viewed using events from the learning environment and the file table in the context store. First, we identify the subset of events in which an interaction with an object occurred. A student is considered to have interacted with an object when the object ID for an event is not null. We extract the object ID from the object.id field in the expanded events table in UDP’s event store. The number of times an object has been viewed is the number of events corresponding to the object. For this mart, however, we only want to include student interactions with files, not everything that is considered an object. Therefore, we only include objects that have an ID corresponding to a file ID found in the file table in the context store.
The field num_distinct_students is the number of distinct students who viewed the file. The way this is computed is similar to how the num_views field is computed. Again, we identify the subset of events in which an interaction with an object occurred, and only include objects that have an ID corresponding to a file ID found in the context store’s file table. However, for this field, we do not count all the events that correspond to the file, but instead count the number of distinct person IDs found in the events.
The field num_enrolled_students is the number of enrolled students in the Course offering associated with the file. This number is computed using the course_section_enrollment table in UDP’s context store, which keeps track of enrollments in Course sections. We count the number of enrollments with a role of ‘Student’ or ‘Observer’ and a role status that is not ‘Dropped’, ‘Withdrawn’, or ‘Not-enrolled’.
The field content_type describes the type of content that defines the file. This field is extracted from the content_type field in the file table in the context store. We extract the part of the string before the ‘/’ from the file table’s field to define this field. For instance, if the value in the file table is ‘application/pptx,’ then the value for this mart’s field will be ‘application’. Examples of common content type values are ‘Application’, ‘PDF’, ‘Text’, ‘Video’, ‘Audio’, ‘Image’, ‘MS Word’, and ‘MS Powerpoint’.
The field content_sub_type describes the subtype of content that defines the file. This field is also extracted from the content_type field in the file table in the context store. For this field, however, we extract the part of the string after the ‘/’ from the file table’s field to define it. So, if the value in the file table is ‘application/pptx’, the value for this mart will be ‘pptx’.
The field owner_entity_type defines the type of entity that owns the file. This field is found in the file table from the context store. Some possible values for this field are ‘learner activity’, ‘conversation message’, ‘course offering’, ‘learner group’, ‘quiz’, ‘quiz result’, ‘learner activity result’, and ‘person’.
This field defines the date that the file is made accessible to students. We determine this date based on the unlocked_date field, the date the file was unlocked. If the unlocked_date field is null, we then define the date based on the created_date field, the date the file was created.
This field defines the date the file was most recently updated. This date is determined based on the updated_date field, the date the file was last updated. If the updated_date field is null, then the date is defined by the created_date field, the date the file was created.
The field students_who_viewed_udp_id_array is an array of the UDP IDs of the students who viewed the file. This array is created using the same process as described for the num_views and num_distinct_students fields. First, we identify the subset of events in which an interaction with an object occurred, and only include objects that have an ID corresponding to a file ID found in the context store’s file table. Then, we extract the distinct UDP person IDs from these events into an array that identifies all the students that viewed the file. Since we only want to include students that are enrolled in the course associated with the file, we only keep IDs that are also in the student_udp_id_array field, the array of UDP IDs of students enrolled in the course.
The field students_who_did_not_view_udp_id_array is an array of the UDP IDs of the students who are enrolled in the course and did not view the file. This array includes all the UDP IDs that are represented in the student_udp_id_array field, the array of UDP IDs of students enrolled in the course, but not in the students_who_viewed_udp_id_array, the array of UDP IDs of students who viewed the file.
The field pct_class_viewed identifies the percentage of students in the course that viewed the file. This is the proportion of the number of students who viewed the file to the number of students enrolled in the course. This is calculated by dividing the array length of students_who_viewed_udp_id_array by the array length of student_udp_id_array.