opentdf / otdfctl

OpenTDF command line interface
BSD 3-Clause Clear License
7 stars 4 forks source link

Epic: CLI driven generation of a attribute map that is consumable in the browser for cheap (yet advanced) interactivity #61

Open jrschumacher opened 9 months ago

jrschumacher commented 9 months ago

Background

As a policy administrator, I need help visualizing how my Policy Objects relate to one another so I can understand what an ABAC platform actually does regarding my data.

There is a powerful visualization library in Javascript built expressly for data visualization: D3.js (see trees and clusters).

[!NOTE] If https://github.com/opentdf/platform/issues/110 is done first, we will be able to use the dumped JSON to pass into D3, otherwise we'll need to (potentially recursively) list all the Policy objects from each service and build it out client-side. That may mean it makes more sense to rely on provisioned fixture data to get this off the ground as an education tool rather than a Policy management utility.

Dependencies

Acceptance Criteria

  1. Determine a path forward, taking into consideration:
    • comparative LOE to build a D3 visualization into an SVG that is rendered in the terminal with interactivity
    • comparative LOE to build a static HTML file a user can double-click to render in their browser
  2. A self-documenting CLI command that builds the visualization with real data (see note: could be real data from DB or provisioned fixtures)
  3. Based on the outcome of 1, build the visualization with D3
jrschumacher commented 9 months ago

@jakedoublev will describe this ticket with acceptance criteria

jakedoublev commented 8 months ago

We could also use something like JSON Canvas instead of D3.js if that makes more sense.

jrschumacher commented 8 months ago

This library focuses on using a Go lib to generate visualizations: https://github.com/tmc/ent2d2

jrschumacher commented 7 months ago

We're waiting to look at work until @cassandrabailey293 and UX have had time to consider options.