We would like to be able to generate dashboards to be embedded in customer pages (on our website), when the dashboard is given the customer ID as a global parameter. Customers should never see other customers’ data.
To do this effectively we require the following features:
That the public URL can be generated with pre-set global parameters encoded in the URL
That these can be generated from an API call programatically (i.e sent the dashboard ID and parameter value, return the encoded public URL).
That the page linked to by this URL does not have the global parameters visible or accessible to change (this could be an option sent in the API call).
I’m familiar with Python (and a little with Flask) and quite happy to help implement these (at least at the API level for now, they needn’t appear in the Web page option for generating the public dashboard URL right away).
How are the public dashboard URLs generated at the moment? Is it hashed and then stored in the database as a hash : dashboard lookup, or is it encrypted and then decrypted by the server on the fly to lookup the dashboard?
Also, is this process applied to the URL/dashboard ID + parameters or is the whole dashboard seralised and then hashed or encrypted (in the former case, we wouldn’t need to regenerate the public URLs if we change a graph on the dashboard for example).