Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide on the tech approach related to adding audit #732

Open
Tracked by #1612
mahalakshme opened this issue May 30, 2024 · 4 comments
Open
Tracked by #1612

Decide on the tech approach related to adding audit #732

mahalakshme opened this issue May 30, 2024 · 4 comments
Assignees

Comments

@mahalakshme
Copy link
Contributor

mahalakshme commented May 30, 2024

Need:

  • There are multiple approaches to be do audit. This card aims to find the suitable approach for our product with respect to the requirements we have, easy maintenance and tech versions.

AC:

Have the below requirements/considerations when finding the approach.

  • We would be in need to programmatically access the revisions as well to be able to show them in the UI in DEA and app designer. (so not just checking in DB)
  • We also want to audit hard deletes.
  • In the version info, we need date time modified as well as who modified it, and the old data
  • Identify what will be the pros and downsides of doing for all tables vs selective tables
  • How does any related component - like sync, ETL, reporting will impact?
  • Is it possible to do without updating our current code to get the latest revision of entry?
  • Hibernate Envers seems to be a good approach. Validate the same by comparing the pros and cons with other available approaches technically. You can also add a POC if you think that might help for future stories.
  • Are all available features of the recommended approach available in the sping boot and java version we are using or will we face more tech debt by adding this when upgrading.

References:

https://www.baeldung.com/database-auditing-jpa
Spring Boot Auditing using Spring Data Envers - https://www.youtube.com/watch?v=W1Rtn28lHU8
Auditing with Spring Data JPA - https://www.youtube.com/watch?v=Pc7Une_5rMs

@mahalakshme mahalakshme transferred this issue from avniproject/avni-product May 30, 2024
@mahalakshme mahalakshme changed the title Decide on the technical info related to adding audit Decide on the tech approach related to adding audit May 31, 2024
@petmongrels petmongrels self-assigned this Jun 6, 2024
@petmongrels
Copy link
Contributor

@mahalakshme
Copy link
Contributor Author

@petmongrels why solutions like Hibernate Envers is not a good one?

@petmongrels
Copy link
Contributor

it doesn't capture direct database update

@mahalakshme
Copy link
Contributor Author

@petmongrels oh yeah right, forgot that case somehow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Code Review Ready
Development

No branches or pull requests

2 participants