michaelyql / pe

0 stars 0 forks source link

Unable to edit existing Assignment information #4

Open michaelyql opened 2 weeks ago

michaelyql commented 2 weeks ago

Description

As a tutor, I am unable to edit the information for Assignments after they have been created.

For example, if I mix between the names of "Assignment 1001101" and "Assignment 1000101", and I have already marked the first assignment as completed for 30 out of 100 students, there is no way for me to go back and change it the name.

The only way is to delete the assignment and create a new one, and manually mark the assignment as complete for the students again.

There is also no command for bulk marking the assignments for multiple students, so even as a fast typist, a tutor would not be able to mark all the students quickly.

Steps to Reproduce

  1. Ensure that there is at least 1 student in the contact list.
  2. Create a new Assignment
  3. Mark the assignment as complete for any number of students
  4. Observe that there is no way to edit the assignment information, including the name and due date
  5. Delete and recreate the assignment, and observe that the marked completions are now deleted and no longer recoverable.

Screenshots

N/A

Implications

The tutor has no ability to make changes if he or she makes a mistake in the naming or the due date.

Suggestions

A new feature to edit existing assignment information would be very handy, and definitely needed by the tutors as they are bound to make mistakes.

Additionally, a new feature for bulk marking students completion of assignments would be very useful for a TA who is handling many students.

soc-se-bot commented 1 week ago

Team's Response

This issue is similar to the "tutorial" idea in the attached duplicated issue, for "assignment" in this case we believe that this is an intended behaviour of our application. We had a discussion on this before but decided that we are not implementing this feature in current version, but rather in the future.

The reasons are as follow:

  1. We do not find it creating any inconvenience as it is very rare to edit an existing assignment. This follows the NUS setting where assignment names do not change in the semester, hence a downgrade to severity.low.
  2. More importantly, there is a workaround which is that users can delete and re-create an assignment with the intended name and add relevant assignment details (if necessary).
  3. We also try to make assignment name immutable to ensure that no data is edited accidentally.

The 'Original' Bug

[The team marked this bug as a duplicate of the following bug]

No way to edit existing tutorial information, and deleting tutorial group wipes all attendance records.

Description

As a tutor, if I want to delete a tutorial group (maybe because the name of the tutorial was input wrongly), there is no way for me to easily edit the tutorial group's name or ID.

If I wanted to change the name of the tutorial, I would have to delete the tutorial and add all the students back into the same tutorial group again.

This would require manually adding back each student using the edit command, which is cumbersome.

Furthermore, when a tutorial group is removed, all the past attendances of students are removed as well.

This behaviour is also not reflected in the user guide for deleteTut, which can be misleading and lead to critical loss of data, especially since the action is irreversible.

Steps to Reproduce

  1. Create a new tutorial group, e.g. with ID T0001
  2. Add two students to the tutorial group, e.g. StdA and StdB
  3. Mark the attendance for the two students (doesn't matter which day)
  4. Delete the tutorial group created in step 1
  5. Observe that the attendances for the two students are deleted and there is no way to retrieve those results.

Screenshots

Before deleting the tutorial group

Screenshot 2024-11-15 at 5.01.24 PM.png

After deleting the tutorial group

Screenshot 2024-11-15 at 5.01.50 PM.png

Implications

This means that tutors are 'locked' in to the ID and name of the tutorial group when it was initially created, and there is no way for them to edit the details if they made a mistake.

This is especially so if there were already a few attendances marked – the tutor has no way to edit the incorrect information, unless he or she wants to manually create a new tutorial group and add back the students one by one, and additionally mark each of the deleted attendances one by one.


[original: nus-cs2103-AY2425S1/pe-interim#1761] [original labels: severity.Medium type.FeatureFlaw]

Their Response to the 'Original' Bug

[This is the team's response to the above 'original' bug]

Firstly, to clarify, we are only picking the first issue that you raise here, which is "No way to edit existing tutorial information" following the rules in CS2103T.

image.png

This is an intended behaviour of our application. We had a discussion on this before but decided that we are not implementing this feature in current version, but rather in the future. The reasons are as follow:

  1. We do not find it creating any inconvenience as it is very rare to edit an existing tutorial. This follows the NUS setting where tutorial names do not change in the semester, hence a downgrade to severity.low.
  2. More importantly, there is a workaround which is that users can delete and re-create a tutorial class with the intended name and add the attendance again.
  3. We also try to make tutorials immutable to ensure that no data is edited accidentally.

    Items for the Tester to Verify

    :question: Issue duplicate status

Team chose to mark this issue as a duplicate of another issue (as explained in the Team's response above)

Reason for disagreement: The linked issue is regarding unable to edit Tutorial information. This issue is regarding being unable to edit Assignment information.

Just because both issues are about the lack of an edit functionality does not mean they are the same.

They may appear to be the same issue since both Tutorials and Assignments are minimally implemented with only two or three fields, so there is not much information to edit to begin with.

However, if the classes were to grow bigger and contain more distinct fields, and each were to have its distinct purpose and functionality, then it would be obvious that the issues are not duplicates anymore.

An analogy is – imagine that there are two issues, one about not being able to edit user information (such as username, profile picture, date of birth, etc.) and one about not being able to edit tags for a blog post on a forum (for example).

Just because they are both lacking edit functionalities does not mean they are duplicates of each other.


## :question: Issue response Team chose [`response.NotInScope`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]
## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [x] I disagree **Reason for disagreement:** > 1. We do not find it creating any inconvenience as it is **very rare** to edit an existing assignment. This follows the NUS setting where assignment names do not change in the semester, hence a downgrade to severity.low. I disagree that editing Assignment information is "very rare" as the dev team has pictured it. I trust that you have had professors who have rescheduled the due date for an assignment, because students have requested an extension for the deadline, or because of some other reason. As a recent example, the professors for CS2100 extended the deadline for one of the quizzes this semester because they noted that the topic was rather heavy and thought that the students might need more time to digest the content. > 2. More importantly, **there is a workaround** which is that **users can delete and re-create an assignment** with the intended name and **add relevant assignment details** (if necessary). Imagine if most of the students had already completed the quiz, and their submission was marked as complete, but the professors had no way to change the deadline other than deleting the assignment for 600 students, adding a new assignment with the new date, and manually remarking each submission as complete. The time and effort wasted by the user to repopulate such data would be more than just a rare and minor inconvenience. > 3. We also try to make assignment name immutable to ensure that no data is edited accidentally. This does not detract from the fact that users are still unable to make basic edits to the assignment information. Implementation-wise, it is fine if you made the assignment name immutable to protect against data loss. But from the **user's perspective**, it does not make any sense to make the assignment information immutable, prohibiting them from making changes.