What

A simple report that shows all Dataviews that are synced to Groups.


Why

While you can go to a single DataView and see any Groups it's synced-to, or go to a single Group/Role and see what Dataviews it is synced-from, I wanted a list to "show me all dataviews that are synced to groups, and vice-versa" on one screen... thus this report was born.


How

This is a very simple SQL query that gets plopped into a Dynamic Data block.

  1. Create a page on which you want this report to live. I added a new child page named SyncFinder to my Admin | Security page as that's where it made the most sense to me.

  2. Add a Dynamic Data block to an appropriate zone on the new page. I chose Right sidebar as the page layout and put the block in the Main zone.

  3. Edit the Dynamic Data block and copy/paste this SQL into the Query section of the block.
    SELECT '<a href="/page/145?DataviewId=' + CONVERT(varchar(50), Dataview.Id) + '">'+ CONVERT(varchar(50), Dataview.Name) + '</a>' AS Dataview, '<a href="/page/113?GroupId=' + CONVERT(varchar(50), [Group].Id) + '">' + CONVERT(varchar(50), [Group].Name) + '</a>' AS 'Synced to Group'
    FROM [Group]
    JOIN Groupsync ON [Group].Id = Groupsync.GroupId
    JOIN Dataview on Dataview.Id = Groupsync.SyncDataViewId
    ORDER BY Dataview.Name
    The other settings in the block don't matter much, but it's unlikely any of the Show Grid Actions or Show Grid Filter would be useful for this report, so I disabled them.

  4. Save the block, and you should have results in a grid showing each Dataview and the Groups they're synced-to.

Note that the Dataviews and Groups are links that take you to their respective places in Rock. This is even true for Security Roles that have Dataviews Synced to them... so don't be thrown by clicking on a role (group) and suddenly seeing it in the Group Viewer instead of the Security Roles page. (If you didn't know that "roles" are really just GROUPS, well now you do!)

If you want to give the report a description, just edit the Dynamic Data block and go to Properties () | Advanced Settings and add whatever you want to the block's Pre-HTML... for example:

            <div class="alert alert-info">
                This report shows all dataviews that are synced to groups.
            </div>