This adds a basic UI overlay to every webpage that makes provenance information provided in provenance-id HTTP headers visible to users.
Initially, ▶ Prov appears in the top-left corner of the page. Clicking it toggles between the initial "hidden" state and showing a list of all HTTP responses associated with the page that contained provenance information (a provenance-id HTTP header) and their (numeric) provenance bucket IDs:
Interacting with the page in a way that causes more provenance-enriched HTTP responses to be returned, e.g., by clicking a particular movie, adds entries to the list (highlighted in red):
Clicking an entry in the list pops up a new tab showing the raw JSON fetched from the corresponding /prov/{id} endpoint:
The current UI is very basic and has several rough edges:
Obviously the raw JSON is ugly Fixed in #7
When popping up a raw JSON provenance tab, that tab will get its own ▶ Prov button in the top-left corner, which may even be populated by a favicon.ico fetch
Initial page loads correctly include the original top-level page URL (localhost:8080/library in the screenshots) due to message queueing, but refreshing the page loses them. Fixed in #9.
This adds a basic UI overlay to every webpage that makes provenance information provided in
provenance-id
HTTP headers visible to users.Initially,
▶ Prov
appears in the top-left corner of the page. Clicking it toggles between the initial "hidden" state and showing a list of all HTTP responses associated with the page that contained provenance information (aprovenance-id
HTTP header) and their (numeric) provenance bucket IDs:Interacting with the page in a way that causes more provenance-enriched HTTP responses to be returned, e.g., by clicking a particular movie, adds entries to the list (highlighted in red):
Clicking an entry in the list pops up a new tab showing the raw JSON fetched from the corresponding
/prov/{id}
endpoint:The current UI is very basic and has several rough edges:
Obviously the raw JSON is uglyFixed in #7▶ Prov
button in the top-left corner, which may even be populated by afavicon.ico
fetchInitial page loads correctly include the original top-level page URL (Fixed in #9.localhost:8080/library
in the screenshots) due to message queueing, but refreshing the page loses them.