nus-cs2103-AY2324S2 / pe-dev-response

0 stars 0 forks source link

User is forced to delete logs before deleting contacts #4550

Open nus-se-script opened 5 months ago

nus-se-script commented 5 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.


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

gerteck commented 5 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

Duplicate status (if any):

--