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,058 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-13-2017 01:01 AM
Hi Dan,
This was very useful post for me. All these tables can confuse you somewhere and sometime. Did you further work on this? If yes then please share the knowledge. I would love to read that post as well.
Regards
Ramandeep
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2018 06:34 AM
The tables mentioned by the OP are not intended to be manipulated manually, hence why they are not documented.
Exercise caution when accessing those table manually. Some things may not be as obvious as they seem. For instance, the sys_grid_canvas_pane stores widget sizes not in pixels but in number of columns (max 12) and rows.
You should refrain from modifying those tables manually.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2018 06:44 AM
If you're the owner of a dashboard, or a system admin, you have the ability to limit who it is shared with and who can edit it.
Limiting who can edit a dashboard is one way to avoid the unpleasant surprise of your favorite dashboard suddenly being modified by someone else.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-07-2022 02:19 PM
I know this is an old conversation, but a user that had "can edit" on a Dashboard removed two reports from the dashboard. Does anyone know where that update is stored? The sys_grid_canvas_pane table was handy when reports were resized after removing one report, but where is the "removal" update(s) stored? Thanks.