admin_power_pack

⚡ Admin Power Pack ⚡

The Admin Power Pack is a tool for Looker administrators to accomplish certain management tasks more efficiently. It is a Looker add-on application built using the Looker extension framework. Currently it offers utilities for extended functionality in two main areas: schedules and users. Key features include:

Usage

Schedules++

schedules++ screenshot

The Schedules++ Page enables admins to execute operations in bulk to modify schedules.

Global Actions

These actions will be applied across all schedules across the instance:

Schedules Table

The Schedules++ Page enables admins to execute operations in bulk and modify all schedules on a given Dashboard from a single point, without the need to sudo as users to modify their schedule plans.

The entire table is editable. Multiple rows can be edited at the same time. The “Revert” button will undo all local changes. Details contains metadata on the schedule plan, with links to System Activity and viewing the Dashboard with the schedule filters. Use the checkbox to the left to apply functions on specific rows:

Limitations with Schedules Table

Only schedules sent to email destinations for User Defined Dashboards (UDDs) will load in the table. This extension does not currently support:

Users++

users++ screenshot

The Users++ Page offers greater flexibility in filtering and bulk selecting user accounts, e.g. show users without email credentials or show users with duplicate names.

Users can also be bulk selected based on a provided list of ids, email addresses, or a Looker query. Once users have been selected there are actions not available in the base UI, such as create email credentials and delete SSO credentials.

The following functions are available via the Actions bar:

The Filters bar allows you to trim the displayed table of users to a specific subset of users, using the select menu, button group, and search bar. (Note that all filters are additive)

Common Workflows

Bulk Creating New Users

  1. Use the Bulk create from mapping function to upload a CSV of user emails, names, and User Attributes
  2. Select the newly created users by using the Select by email address function
  3. Use the Add users to groups and Set roles for users functions to add these new users to specific groups or roles
  4. Use the Bulk send email creds to send the Welcome Email to these users

Updating Email Addresses For Authentication Integration

  1. Follow the steps for enabling user authentication here
  2. If the “Merge by Email” option is not working due to differences in the email credential (e.g. case sensitivity or a different domain), use the Bulk update from mapping function to update email addresses from a CSV mapping
  3. Finish the authentication setup
  4. Use the Find & Replace Emails function in the Schedules tab to bulk update the destination email addresses for all schedules

Switching to a new Idp

  1. Notify users not to log in and disable the existing IdP authentication in Admin/Authentication
  2. Use the Auto-fill Email Credentials function to create email creds (many users may only have IdP or API based creds)
  3. Use the Bulk update from mapping function to update email creds to new email addresses
  4. Delete Creds from the old Idp
  5. Enable new IdP authentication in Admin/Authentication
  6. Notify users to log in
  7. Use the Find & Replace Emails function in the Schedules tab to bulk update the destination email addresses for all schedules

Installation

Requirements

This extension requires Looker release 7.8 or later. Be sure to enable the “Extension Framework” labs feature.

Note: Any user who has model access to the “admin_power_pack” model (possibly via the “All” model set) will be able to see the APP in the Browse dropdown menu. However:

However in order to avoid confusion, it is still recommended that only Looker admins have access to the admin_power_pack model. This may mean that the standard roles will need to be changed to not use the “All” model set.

Option 1 - Marketplace Install (easiest)

LookML Projects are backed by git repositories. This repo has been set up with all the other necessary LookML files in addition to the application javascript. You can install this extension via the Marketplace, however the project will be read-only so you will not be able to deploy any changes to the files.

  1. Create a New Database Connection
    • This is needed purely as a stub for the new project configuration. The APP does not communicate with any of your databases. This new connection will merely be a stub that does not point to a real system
    • Navigate to Admin => Connections. Select the “Add Connection” button
    • You can pick any dialect and fill in bogus values for the required fields. We recommend selecting PostgreSQL, host= “localhost”, database= “notreal”, user= “notreal”
    • Uncheck the “SQL Runner Precache” and then Add Connection. Don’t bother testing the connection
  2. Install via Marketplace Git URL (further details here)
    • Navigate to Marketplace => Manage
    • Click the three-dot menu, and select “Install via Git URL”. Enter the following:
      • Git Repository URL: https://github.com/looker-open-source/admin_power_pack.git
      • Git Commit SHA: master
      • Note: For Looker instances on a release before 22.4, use the commit SHA from the previous major release of the Admin Power Pack: 35eb28417ff5de04b1d9f09e19df000087feb501. This is due to breaking changes to the API 4.0 endpoints. For Looker instances on the 22.4+ release, use the current major release of the Admin Power Pack.
    • Accept the extension project permissions
    • Select the connection name used in Step 1 and click Install
  3. To update the APP for new releases, navigate to Marketplace => Manage, and remove and re-add the tool

Option 2 - Roll your own

The end result of this will be similar to the above, except that the git repo will be writable.

  1. Create a New Project
    • This is found under Develop => Manage LookML Projects, then select the New LookML Project button in top right corner
    • Give your project a name such as “admin_power_pack”
    • As the “Starting Point” select “Blank Project”. You’ll now have a new project with no files
  2. Create a project manifest based on this example
    • Use the url parameter to point to the GitHub Pages hosted version of this extension. This version will be updated regularly
    • Alternatively, use the file parameter to host the application javascript in the LookML repo and include the javascript file in the LookML project (See note above for instances on a release before 22.4)
  3. Create a new model file in your project named “admin_power_pack.model”
    • Provide a connection value (see above notes on models and connections)
    • Make sure to configure the model you created so that it has access to the connection. Develop => Manage LookML Projects => Configure button next to the new model
  4. Configure git for the project and deploy to production
    • You can use the “Create Bare Repository” option to create a repo that exists only on the Looker server. This is usually sufficient unless you have a critical need to store the code elsewhere
    • In that case, create a new repository on GitHub or a similar service, and follow the instructions to connect your project to git
    • Commit your changes and deploy them to production through the Projects page UI
    • Once deployed, you will now see “Admin Power Pack” in the Browse menu

Developing

Clone this repository.

Check that you have the node version listed in the .node-version file.

Run yarn install to install dependencies.

Run yarn start to start the dev server.

Follow the installation instructions, pointing the LookML project manifest to your dev server url instead.