-
Notifications
You must be signed in to change notification settings - Fork 70
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
Move System.privacy_declarations
embedded objects into their own DB table
#3036
Comments
Oh this is great! just leaving a note for the UI portion that we'll be able to fix this pesky thing once privacy declarations have their own ID fides/clients/admin-ui/src/features/system/privacy-declarations/PrivacyDeclarationAccordion.tsx Lines 98 to 102 in 2aa7858
|
hey @allisonking and @TheAndrewJackson, i'm looking for some perspective from the FE - as i rip this up a bit and put
thoughts? please let me know if i haven't explained myself clearly! and an extra cc to @ThomasLaPiana just to keep him in the loop on these changes to the |
hiya @adamsachs , I believe you're right that privacy declarations will continue working just fine if they continue to be nested in the system. I think a CRUD for privacy declarations would make things cleaner in some ways, but agree that it's not urgent. that said, our privacy declaration UI components are a little bit of a mess right now. once you have a working branch, I'd be happy to go in and test and make sure the privacy declarations are still behaving! |
I agree with @allisonking. CRUD endpoints would be nice but it's not urgent if the existing system API can be reused. We can make a note of it and take a look again in the future. Possibly when the Privacy declaration components are merged into one. |
that sounds good - i'll focus on the backward compatibility for now, and we can ensure nothing breaks. and then we can create a follow up item for refactoring. thanks both for the input! |
thank you for the CC @adamsachs ! This is a great improvement, and I have a feeling this will happen elsewhere (this isn't the only nested-type object that is stored in JSON) |
Is your feature request related to a specific problem?
Currently,
System.privacy_declarations
is a JSON column that contains a list of "privacy declarations" (otherwise known as "system data uses") associated with the given system. As these objects become more central to our application, having them stored as embedded JSON objects makes manipulating and referencing them significantly more cumbersome.Specifically, we have upcoming work in
fidesplus
to expand the custom fields functionality to integrate with these objects. With the current data structures, that would take a lot of refactoring of the custom fields functionality to support referencing these embedded objects; splitting the embedded objects into their own table, however, would make this a trivial update from the "custom fields" side.More generally, if we split these declarations out into their own table, we can index and query them based on their attributes, rather than having to always access them through individual systems, which can quickly become unsustainable if/when we have many systems and want to do any sort of aggregate reporting on the declarations.
Describe the solution you'd like
System
that the given privacy declaration is associated withDataUse
and other taxonomy elements referenced by the declaration. Currently they're just string literals, is there a reason we can't have a "hard" link to the other elements?System
Describe alternatives you've considered, if any
Leave things as they are. We'd then need to make changes on the custom field side to support what's needed.
Additional context
Similar to #3034 in many ways - these came from the same discussion. I think the issue here is a bit more pressing, per the custom fields initiative
The text was updated successfully, but these errors were encountered: