Ko-Khan / pe

0 stars 0 forks source link

User is forced to delete logs before deleting contacts #5

Open Ko-Khan opened 2 months ago

Ko-Khan commented 2 months ago

Screenshot 2024-04-19 165048.png Users are forced to delete logs related to contactee before deleting logs. This can affect adversely organizations which wish to retain the logs as a form of record keeping. This may cause major inconvenience to users.

nus-pe-bot commented 2 months ago

Team's Response

Elder Scrolls' database is designed with A.C.I.D. properties in mind. If unclear of the definition of A.C.I.D. in the context of databases, please refer to [1] [2] [3] [4].

In particular, there is strong focus on consistency - ensuring the correctness of data. This system ensures that the data remains consistent and accurate after any transaction execution. It is reasonable and expected that any form of log record stored in the Elder Scrolls database is referring to existing persons, (i.e. a volunteer and befriendee), for the sake of correctness of the database. This naturally results in the rule that contacts with existing logs cannot be deleted, as it would corrupt the data of the database, violating consistency.

This is also reiterated in the UG:

image.png

What is treated as a bug is in fact the expected and correct behaviour. Hence, this bug report is rejected.

Additionally, the bug report is incorrect and confusing: Users are not forced to delete logs before deleting logs. They are required to delete any associated logs before deleting contacts of volunteers or befriendees to ensure consistency of the database.

[1] https://en.wikipedia.org/wiki/ACID [2] https://www.databricks.com/glossary/acid-transactions [3] https://www.techtarget.com/searchdatamanagement/definition/ACID [4] https://www.mongodb.com/basics/acid-transactions

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: Firstly, I apologize for any confusion my typo caused. I intended to say to say that users need to delete logs before deleting contacts.I did not say that the behavior I pointed out violated intended behavior, I said that intended behavior was a feature flaw. You rejected this saying that you forced this relationship to preserve correctness of database but I disagree. Just because volunteers or befriendees leave the organization does not mean that their past activities in the log simply disappear. Hence, by forcing this feature, you force users to choose to violate the integrity of their data, as the logs may be missing information of past activities due to this feature. This lowers the usability of the product, especially when it comes to the logs. Simply put, I do not see how deleting logs contributes to consistency, in my view, it only hurts the consistency of the record keeping, as logs no longer convey complete information to the user. This feature also does not reflect reality, as I said previously, past activities do not cease to exist because the volunteer or befriendee choses to leave.


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [x] I disagree **Reason for disagreement:** This is a feature flaw that affects every user who uses the product. This lowers the usability for everyone, as they are forced to choose between flexibility of removing contacts versus the integrity of their data. Hence, I am forced to maintain my position that this is a medium severity feature flaw.