Using an agile approach to define the user's goals would be a good place to start. The following template for writing user stories really helps you work with the user in mind; As a (type of user), I want to (perform some action) so that I (can achieve some goal/result/value).”
The purpose of user stories is to explain the roles of users in a system, their desired activities, and what they intend to accomplish by successfully completing a user story.
For this story I would assume that would be; As a teacher or admin staff, I want to be able to view all the Case Notes in an organized way so that I can see how many Case Notes there are per student.
The acceptance criteria for this would be as follows;
Scenario: Teacher arrives on the class communication page. Based on their role, this teacher will be able to view a list of students in a table with the following columns; first name - last name - grade level - case notes
Given I am on the class communication page
and I click on a student's name
When I view the student's detail page
and I click on case notes for that student
Then I should see a list of case notes that I can sort by relevance (date, importance flags)
The user flow described below is a UI focused list of details to solve your teacher's goals. It describes having the teacher view a list of students first and then drilling into details of each student from there.
When the teacher or admin arrives on the class communication page, depending if you have user role levels set (permissions per different types of users), the base view should contain the following;
A title section at the top containing the following; Class Name /
Class Year / Class Time
A table view displaying the details of all the students under the
above class name with the following columns; First Name | Last Name |
Grade / % | Case notes
This type of view with sortable headers and pagination would allow the teachers to sort by relevance and by how many rows they would want to see on a page. The table cells in the "Case Notes" column could have a clickable badge/link displaying the number of case notes for that student.
When clicking on the badge, a dropdown (or accordion UI that would slide down in the table row/expandable row) would be triggered displaying a truncated list of the 5-10 most recent case notes for that student. The dropdown/accordion should also contain a "view all" link.
When clicking on the "view all" link, the teacher would be taken to the view that displays all case notes in a table with the following columns;
Date - allow the user to sort that view by most recent date
Case Note - truncated summary of that case note
Teacher/admin - this column would show the name of the teacher/admin who posted the case note
Bulk level Actions - delete, archive or "mark as read" and a way to flag a message so if another teacher views the list of messages,
the importance of that message can be highlighted
A comment field - allow the teacher to comment on the Case Note and save their comment.
Return or back arrow - A way to exit this view and return to the main screen