Help with Dashboards

To list,

I got an email from my system telling me I was subscribed to some missing
Dashboards followed by this:

DashboardID: 6307

I was wondering, what RT Tables contain Dashboards info and what are the
connections/relationships?

This way I can find out who created a dashboard and subscribed me to it,
etc.

Thanks.

Kenn
LBNL

Kenn

(11/03/01 12:49), Kenneth Crocker wrote:

I was wondering, what RT Tables contain Dashboards info and what are the
connections/relationships?

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.

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.

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.

Unfortunately attributes don’t have actor metadata so it’s not easy to
find out who created a dashboard or subscription.

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.

If you have other specific questions fire away :slight_smile:

Shawn

Shawn,

Thanks a bunch. That helps me understand a few things. If I delete
Dashboards from Attributes, I should also delete the subscriptions.

Kenn
LBNLOn Tue, Mar 1, 2011 at 12:53 PM, Shawn M Moore sartak@bestpractical.comwrote:

(11/03/01 12:49), Kenneth Crocker wrote:

I was wondering, what RT Tables contain Dashboards info and what are the
connections/relationships?

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.

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.

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.

Unfortunately attributes don’t have actor metadata so it’s not easy to find
out who created a dashboard or subscription.

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.

If you have other specific questions fire away :slight_smile:

Shawn