tl-its-umich-edu / my-learning-analytics

My Learning Analytics (MyLA)
Apache License 2.0
36 stars 39 forks source link

Add filters to the Assignment Planning list of assignments #1114

Closed jennlove-um closed 3 years ago

jennlove-um commented 3 years ago

Describe your problem or feature you'd like added

Student feedback from UX testing indicated that they would like a way to sort or filter the list of assignments to make it more manageable.

Describe the solution you'd like

Add the following filters to the view:

Filters do not need to persist when students leave the view. The action of selecting a filter needs to be saved as an event to the MyLA event log to track usage for research purposes.

chrisrrowland commented 3 years ago

@jennlove-um Would it be reasonable to add graded and graded item type as columns so that the toggle could be added to the column header, or would it be preferable if the filters were elsewhere on the page?

jennlove-um commented 3 years ago

Graded item type might make sense as a column header, but graded would be odd considering we've already got that information in the Score / Out of column. Also, I'm a little wary of adding in more columns when we already have so many.

Would it be possible to put the filters above the columns between the bar and table? This would be similar in design to the way the filters are displayed on the Resources Accessed page.

chrisrrowland commented 3 years ago

It's certainly possible to put it elsewhere, that's why I'm asking. I'm not a UI expert.. Was just considering options. I had started putting it in the column headers since that is where I have traditionally seen table filters, and it didn't seem like it was occupying too much space (I hadn't added the assignment type yet, though)

This is what it looks like on an iPad sized device with the graded column added..

I can relatively easy put them above the table, though.

image

jennlove-um commented 3 years ago

I'm not a UI expert either, but I do like the intuitiveness of what you've done here. I'm still a little concerned about adding one more column with the type of assignment as to whether it will be cluttered. But if we have a mock up we can share with the research team, we could get some feedback from folks like Matt Kay, who does have UX expertise.

chrisrrowland commented 3 years ago

Need to figure out where canvas graded item type comes from

jennlove-um commented 3 years ago

There's not a simple field in the assignments_dim that indicates whether an assignment is a discussion , quiz, or assignment.

Here's what I've found out in looking at the Canvas data:

Assignments: There will always be an entry for these in the assignment_dim table but not in related tables below if it is not a graded discussion or quiz.

Discussions: Only graded discussions are assignments. They will have a foreign key to the assignment_id in the discussion_topic_fact table. Also, as far as I can tell, the the submission_type for these assignments in the assignment_dim table will always be "discussion_topic."

Quizzes Graded quizzes and surveys will have a foreign key to the assignment_id in the quiz_dim table.

The outstanding question I have at this point is about New Quizzes. Do these show up in the quiz table or do we need to handle them differently because new quizzes is an LTI and they show up as an external_tool type of assignment?

chrisrrowland commented 3 years ago

There was a slack discussion about splitting the 'filter by type of Canvas graded item: discussions, assignments, quizzes' functionality as a separate issue as the data model does not currently support this.

Likewise it was suggested that we add a filter for the assignment group, which the model already supports. Based on a sample size of 1, assignment groups can be pretty lengthy, so while adding a 'graded' column to the UI doesn't really take up a significant amount of space in the UI, it would if we added the group as a column.

Also since presumably group names come from a more finite list, I'm wondering if it would be preferable to have a dropdown selection for group, rather than a text input, which was how I had gone about the name filter.

If we want an assignment group filter, I do think it makes sense to put that outside of the table, at which point the graded toggle could go along side it, though I'm not sure it wouldn't be a bad idea to additionally add the graded column since it does provide concise info w/ a small footprint.

Thoughts?

jennlove-um commented 3 years ago

Per that discussion and the research into the data, I changed this request to add the ability to filter by assignment group instead of by the type of assignment.

The assignment group filter makes sense to have outside the table. A dropdown would work, but we should let students choose more than one group at a time.

chrisrrowland commented 3 years ago

What are your thoughts about

  1. Graded being a column in the table
  2. Assignment Group being displayed in some way?

The assignment group names can be very long and don't look good as a column. If you filter by an assignment group, though, or even more so if you filter by multiple assignment groups, you have no way to associate the assignment with the group you selected.. either for confirmation or information.

Do we want to add the group column but truncate the name and use a tooltip to show the full thing? I don't know if that is considered accessible or a good practice.

I have some other ideas but none seem particularly good.

image

jennlove-um commented 3 years ago

Let's not add the group to the table. I agree that the long names don't work there.

For this release, let's prioritize filtering by graded assignments and by assignment name. We're going to need some UI direction and feedback about group filtering.

chrisrrowland commented 3 years ago

What it looks like truncating to 30 characters with a group name column added.

image

chrisrrowland commented 3 years ago

@jennlove-um I had initially missed the event logging requirement on this issue.

We had a light slack discussion about this, and we currently have no pattern established for logging front end only events. (The current event logs are a result of server side events)

It was mentioned that there had been some previous interest in logging client side events in the past but it was not done.

Do we want to separate the logging into a new issue or is event analysis important to be included at the same time?

jennlove-um commented 3 years ago

@chrisrrowland I'm a little confused by the question. We don't currently track events for actions like hovering over something, but we do track events for taking filtering actions. So for the new filters, we should capture the events when students select to use them on the new Assignment Planning, just like we do with Resources Accessed.

We can separate logging the filter events into a separate issue, if it makes more sense, but either way, we should include that event logging in the release.

jonespm commented 3 years ago

The existing sliders make a backend to get different data. I believe that the filters suggested here are all client side and will just change the view. Unless there is some activity against the backend there isn't any events that can easily be logged currently.

jennlove-um commented 3 years ago

Got it. So these filters work differently than in the first version of Assignment Planning, which filtered the list of assignments displayed by the % impact on the grade?

If we don't have a way to capture the filtering because it's all client side, then we should add that as a new issue to figure out for the next release. Previous experience indicates that this data is important to the researchers.

On Mon, Nov 30, 2020 at 2:23 PM Code Hugger (Matthew Jones) < notifications@github.com> wrote:

The existing sliders make a backend to get different data. I believe that the filters suggested here are all client side and will just change the view. Unless there is some activity against the backend there isn't any events that can easily be logged currently.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tl-its-umich-edu/my-learning-analytics/issues/1114#issuecomment-735990288, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOML4DLIFPEEO7CRTOR5A3SSPWMNANCNFSM4S3XCA6Q .

-- Jennifer Love (she, her, hers http://www.mypronouns.org) Business Systems Analyst, ITS Teaching & Learning Information and Technology Services | University of Michigan

Need help with online instruction? Join the Teaching Online with Canvas Workshops: From Good to Great! https://its.umich.edu/training/canvas | Workshop Video Playlist https://www.mivideo.it.umich.edu/playlist/dedicated/137537371/1_bc51ybxg/1_fart74iy

How can we help you? For assistance with My Learning Analytics, please contact myla-help@umich.edu.

For other topics, contact the ITS Service Center https://its.umich.edu/help:

jennlove-um commented 3 years ago

Feedback from the review with researchers yesterday:

  1. Change the filter and column name text from "Assignment Group" to "Type" to match the language used in Canvas
  2. Change the tilter and column name text from "Assignment Name" to "Name" to shorten it.
  3. Change the Graded filter to allow students to select from all 3 options with checkboxes: Graded, Not Yet Graded, Unsubmitted

I've updated the description to match the refined requests.

pushyamig commented 3 years ago

I found a bug related to this change https://github.com/tl-its-umich-edu/my-learning-analytics/issues/1139

chrisrrowland commented 3 years ago

image

jennlove-um commented 3 years ago

Testing passes: Filters can be applied for assignment types (assignment groups), assignment names, and assignment statuses (graded, grade pending, unsubmitted). The filters can also be cleared using the Clear button.