Curator Groups Are Now Platform-Agnostic

Justin Lyons
Experience Engineer
July 22, 2022

One group to rule them all,

                one group to find them,

one group to bring them all,

                and in Curator bind them.

I think Tolkien was on to something there! We need to use some sort of system to bring our users together. I don’t think an evil Ring will do … oh, right!  We have Curator groups!

Formerly, groups in Curator have been directly tied to Tableau, which was useful while Tableau was the only integrated analytic platform we supported. But now, we have Microsoft Power BI and ThoughtSpot and we’re constantly adding more. Some of you reading this might not even have Tableau! With that context in mind, we had to create a platform-agnostic system for grouping users in Curator.

Why Do We Need Platform-Agnostic Groups?

Before we get too deep into the new grouping system, let’s run through reasons why you would want to use groups in Curator in the first place!

  1. Restrict Access – While content that comes from platforms (e.g., Tableau dashboards) will automatically check the relevant platform for user permissions, you might also have created content in Curator using our Page Builder.  You want to add a permission layer over your Page Builder content?  Enter: Restrict Access. This can be found in the Curator Backend >Content >Navigation area in the individual menu items. If enabled, you can select specific groups in a whitelist fashion to grant permission to the related content! Anyone else SHALL NOT PASS!

    User Group Access

  2. Frontend Group Overrides – If you have a situation like multiple groups within your org or a multi-tenant client use case, you probably want each of these personas to have a different experience in Curator.  This can be as simple as using a different logo to a completely unique theme per group.  You can find these settings at your Curator Backend >Settings >Users >Frontend Group Overrides.

    Frontend Group

  3. Other – While Restrict Access and Frontend Group Overrides are the most used features related to groups, we have several others (Terms of Service and Org Chart editing to name a couple) and are building more as Curator continues to grow!

Making a Group in Curator

Now that you are salivating at the possibilities of grouping your users, let’s walk through creating one!

You can find your list of groups at your Curator Backend >Settings >Users >Frontend Groups.  

New Frontend Group

From here, you can delete your groups, change the sync settings (we’ll go into syncing more later), queue a sync for all the groups and create a new one. Let’s hit New Frontend Group.

Frontend Group naming

There’s a lot to see here so let’s step through each:

  1. Group Name – This one is self-explanatory! This will be the name you look for when setting Restrict Access or another group-based feature to have it applied to the relevant users.
  2. PlatformName Group – Below Group Membersthere should be one section per connected platform. These sections are where you can select platform groups to import their membership into this group. This is useful in several ways:
    1. You don’t have to select a bunch of users here that you’ve already selected in another platform. Use that extra time to get another cup of coffee!
    2. You can combine platform groups into one Curator group! This is very powerful if you have several platform groups that should have the same curator experience. For example, instead of having identical Frontend Group Overrides for “Sales VPs,” “HR VPs” and “Marketing VPs,” you can choose each of them here and have one “VPs” override!
  3. Group Members – You might have noticed we went out of order. We needed to know about the platform groups sections to fully understand the Group Members section. This is a list of all your users. The checkbox on the user’s row will be selected if they’re currently members and the Source column will tell you why. A user can be a member of a Curator group based on one or more analytic platform group memberships or if they’re manually selected here in Curator. The example below shows my user being a member of this group because I’m in our ThoughtSpot Administrative Group, which was selected in the ThoughtSpot Groups section.

    Group Members

  4. Note that the box by my user in the example is greyed out. This is because you can’t deselect if the membership is coming from a platform group. We did this to eliminate the possibility of confusion by having Curator membership that does not match your platform group membership (e.g., “I’m in this group on Tableau, but I’m not seeing what I should in Curator! Bah humbug!”).

Syncing Group Membership

When you’ve built a Curator group using platform group membership, API calls to those platforms need to be made to keep membership up to date. Luckily, this is all done automatically for users whenever they log into Curator. The API calls are made during the login flow to update their membership to be the most current whenever they are using the product!

Here’s a quick breakdown of the whole login flow:

  • Check credentials based on your authentication type. If the credentials are not approved, the flow stops here!
  • If the local user record doesn’t exist on Curator, it will automatically be created.
  • The various connected platform details (e.g., user IDs) are synced.
  • Membership for platform groups associated with Curator groups are checked and synced.
  • Insightful analytics are viewed in a world-class, branded website!

Some analytic platforms (especially when a large userbase is at play) can take an uncomfortable amount of time to respond to these API calls. This is uncommon but can happen, so we’ve built an alternative to the on-login membership syncing (step four of the login flow above) in the form of a scheduled group sync. You can see the settings for this at your Curator Backend >Integrations >Global Settings:

Platform Group Settings

Here you can set the group sync cadence and time. We recommend a daily sync during a low usage time like midnight. You can also completely disable the on-login sync with the Skip User Group Sync on Login switch. When you have the on-login sync disabled, it changes a couple things:

  • The page load time right after login should be quicker because the API calls to check membership aren’t happening. This also means that the membership isn’t updated on login, though, so be wary if you make changes midday that they won’t take effect until the next sync runs.
  • If a user logs in for the first time, Curator needs to ensure they already have their group membership sorted (because we aren’t doing it ad hoc on login) so the scheduled sync will also create the users on Curator. Normally, your user list will only reflect the individuals that have logged into Curator, but now there will be records for every user in a platform group being used in a Curator group whether they’ve logged in or not.

Again, most of the time you can leave the Group Sync Cadence at Never and the on-login sync enabled. We recommend this to ensure the most current membership when your users are enjoying Curator.

Wrapping Up

I’d say this journey through Curator groups is equally as adventurous and exciting as a journey across Middle Earth to destroy the One Ring in the fires of Mount Doom! We’ve learned what groups are useful for, how to create them and how to configure it to work with large userbases. If you have any more questions, please check out our documentation.