Skip to content

PowerBI Custom Visual MVP

lmeyerov edited this page Oct 28, 2021 · 5 revisions

The custom visual will be:

  • installable .pbviz
  • video documentation: (1) installing and (2) using
  • creds: fields for graphistry account
  • configurable: handle pre-shaped data with no additional panel-level bindings
  • tested

Subsequent versions will support fancier bindings, transforms, auth, etc.

See below on each

MVP Components

Installable .pbviz

MVP:

  • Initially we need a hand-rolled installable via local dev script
  • Leo will test the install: is this possible w/ OS X, or will need something more?

Deferred:

  • Build automation: semvar, docker, CI/CD, PR attachment, ...
  • Signing
  • AppSource
  • Potentially separate handling of different extension modes

Video documentation

MVP:

  • 30s-3min video showing installation steps
  • 30s-3min video showing putting in graphistry creds
  • 30s-3min video showing binding some data to get a graph out

Later, we will do a blogpost, tutorial+video, reference docs, and additional side tutorials/videos/..

Account config

Initially, the dashboard creator will put in their graphistry creds:

  • username
  • password <- mark as a password field so browser can do ****
  • protocol + server: default "https" and "hub.graphistry.com"
    • if protocol is http, we emit a link instead of the iframe <-- server may not have TLS setup initially

This can be part of the panel fields

Later, we can look at fancier oauth2, sharing levels, etc

Configurable

Required:

Dashboard author picks fields for:

  • Edge value tables
  • from/to edge fields

Alternative mode:

  • Specify existing dataset id instead of using pbi data

Defaults:

  • iframe url parameters: ...&splashAfter=false&menu=false

Reach:

  • edge tooltip fields:
    • extra fields to appear in edges (so Graphistry's UI can point-and-click over them)
  • node value table
    • node id
    • node values
  • url config
    • menu: true/false
    • logoUrl

Later:

MVP Design - Summary

Required custom visual panel fields:

  • graphistry protocol ("https")
  • graphistry host ("hub.graphistry.com")
  • graphistry username
  • graphistry password (censored)
  • edge from_id
  • edge to_id
  • dataset id <-- alternative mode

Defaults:

  • urls: ...&splashAfter=false&menu=false

Reach targets for custom panel fields:

  • edge value field(s)
  • node id, node value field(s)

Visual result:

  • Ideally Graphistry's iframe at 100% width/height
  • Alternatively, URL (http)