Shawn,<br><br>Thanks a bunch. That helps me understand a few things. If I delete Dashboards from Attributes, I should also delete the subscriptions.<br><br>Kenn<br>LBNL<br><br><div class="gmail_quote">On Tue, Mar 1, 2011 at 12:53 PM, Shawn M Moore <span dir="ltr"><<a href="mailto:sartak@bestpractical.com">sartak@bestpractical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">(11/03/01 12:49), Kenneth Crocker wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I was wondering, what RT Tables contain Dashboards info and what are the<br>
connections/relationships?<br>
</blockquote>
<br></div>
How dashboards and subscriptions are stored in the database is something I want to fix for 4.2 but this information is valid for 3.8 and 4.0.<br>
<br>
<br>
Dashboards were modeled off saved searches, so they have a lot of structure in common - namely, RT::SharedSetting. Like saved searches, dashboards have a "privacy" which lets you control which user or group can interact with the dashboard. Global dashboards have a privacy of RT::System. The dashboard is saved as an attribute on the user or group (or RT::System) corresponding to the privacy. Dashboards have a Name and the interesting bit is the Content which is a hashref of pane name to portlets. Dashboards are not inherently aware of subscriptions at all.<br>

<br>
Dashboard subscriptions are stored again as attributes on the subscribing user (note that groups cannot subscribe to a dashboard). They have attributes like DashboardId, Frequency, and Recipient. When we generate dashboard mail we look through subscriptions which point to dashboards. If a dashboard has vanished (due to being deleted or changing privacy to something the subscriber can no longer see) then we generate the missing dashboard mail you saw.<br>

<br>
Unfortunately attributes don't have actor metadata so it's not easy to find out who created a dashboard or subscription.<br>
<br>
<br>
In the future, I want to give dashboards and subscriptions their own table, and permit multiple subscriptions by one user to a dashboard so that you can have whatever scheduling you need, such as every Monday and Thursday, or the 1st and 15th of the month, etc.<br>

<br>
If you have other specific questions fire away :)<br><font color="#888888">
<br>
Shawn<br>
</font></blockquote></div><br>