Who changed my Dashboard?!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 10:35 AM
In the transition from using Homepages to Dashboards, I decided I needed to create something that was usable for a wide audience. After tinkering with reports for weeks and gathering feedback from UAT, I finally felt like I created something that works for everyone in IT. So when I fire up my production instance in the morning to see a hideously specific report plastered at the top of the Home tab, I was a little upset. I was a little more upset when it happens two more times after telling all of my admins not to alter the dashboard without a user story, nevermind a change request.
I needed to find out who changed my Dashboard and see a log of dashboard changes in the system. It's not very obvious where to look when this happens. This was not an issue with homepages since any changes only applied to the individual and any modification to a widely shared homepage was on the Portal Pages record (Homepage Admin >> Pages).
Here are the tables associated with Dashboards. This is my interpretation based of the data since I cannot find documentation on these tables:
- Dashboard (pa_dashboards): Represents the options within the dropdown field to select which dashboard is shown (e.g. dashboard plug-in comes preloaded with Incident Management, Incident daily - 7d - 28d, Open Incidents Age Monitor, etc). Can be navigated to from Performance Analytics >> System >> Dashboard Administration.
- Dashboard Group (pa_dashboard_group): the grouping label for Dashboard records in the dropdown mentioned previously.
- Tab (pa_tabs): Selectable tab on the Dashboard that brings up the page of widgets you want to see.
- Dashboard Tab (pa_m2m_dashboard_tabs): The many-to-many table creating the relationship between a Dashboard record and a Tab record. Also determines whether said tab is the homepage and the order in which the tab is listed on the Dashboard.
- Portal Page (sys_portal_page): Similar to homepages, this is the CMS-type record that ties together what content is displayed in which areas of a page. For Homepages, these areas are dropzones determined by the layout of the page. For Dashboards, the areas are described using a Grid Canvas.
- Grid Canvas (sys_grid_canvas): Container that houses several Panes.
- Grid Canvas Pane (sys_grid_canvas_pane): Describes the exact X and Y axis positions as well as the size (height x width) of a referenced widget.
- Portal (sys_portal), Portal Preference (sys_portal_preferences): Records that further describe the content of a widget, and how it relates to the Pane. Honestly I'm a little confused on what role these records play. The fact is, these are generated when you create reports to add to a Dashboard.
Like any tables in the system, all of these records have the sys_created_on, sys_created_by, sys_updated_by and sys_updated_on fields. Since someone had added a report to an existing tab, the evidence appeared as a new Grid Canvas Pane record associated with my Tab (related through the Grid Canvas, then Portal Page and Dashboard Tab). I thought about creating an audit report that dot-walks all the way through the related records to flag a recent change but I'm guessing there is a database view needed somewhere in there. I will post any major roadblocks once I finally get around to doing it.
Hopefully this description of the components that make up a Dashboard as well as one particular use case comes in handy for someone else. If so, feel free to like it or mark it as helpful!
- 5,162 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-09-2022 03:41 AM
There's no removal update stored. The relevant records are just deleted.