This page describes how to create a custom visualization type that can be added to the Looker Marketplace and accessed by other Looker users. You can also create a custom visualization directly in your project without making it available to other Looker users.
Please note that you must be a member of the Looker Partner Network or a Looker customer to submit content to the Looker Marketplace.
The Looker Marketplace is a central location for finding, deploying, and managing many types of Looker content, such as Looker Blocks™, applications, visualizations, and other plug-ins.
With the Looker Marketplace feature enabled, you can install Looker Marketplace plug-ins, which include visualization types that you can add to Looker’s native visualization library. Visualizations installed through the Marketplace are supported by the Looker team. It’s recommended that you install visualizations through this method rather than the method described on the Admin settings - Visualizations documentation page.
To develop a custom visualization and make it available to all Looker users through the Looker Marketplace, follow these steps:
- Develop a visualization.
- Create a Looker project for the visualization.
- Push the Looker project to Git.
- Check the functionality of the visualization.
- Provide Marketplace resources.
- Submit the visualization to Looker.
- Maintain the visualization.
Developing a visualization type
Identify a visualization type that you’d like to develop. (Confirm that this visualization is not already listed in the Marketplace or as a native Looker visualization.)
Develop your custom visualization in JavaScript using the Looker Visualization API, the Looker visualization testbed, or your own environment. Capture your work in a GitHub repository.
Creating a Looker project for the visualization
Create a Looker project to represent your custom visualization. The project should contain the following files:
LICENSE file: Lists the license or licenses with which the visualization is distributed, using the text
“This Looker visualization is distributed with the following license:…”.README.md
file: Provides a description of your visualization, how it works, and any additional information.- JavaScript (
.js
) file: Contains a condensed version of the JavaScript code that you used to produce your visualization. With the Marketplace, JS files are included within the project, which allows for proper versioning and package management. Manifest (
manifest.lkml
) file: Specifies anid
(a unique identifier) and alabel
(shown in the Looker UI for this visualization). For example:constant: vis_id { value: "default_id" export: override_optional } constant: vis_label { value: "default_label" export: override_optional } visualization: { id: "@{vis_id}" label: "@{vis_label}" file: "my_local.js" sri_hash: "my_sri_hash" dependencies: [] }Marketplace.json
file: Configures the Marketplace listing for the custom visualization and includes a label for how the visualization will appear in the Marketplace, the location of theimage_uri
, a tagline that describes the use case for the visualization, and also defines the Marketplace field constants that users input during installation. For example:
Pushing the project to Git
Integrate the project to Git and push the project containing all the required files to the remote Git service. Deploy to production through the Looker UI.
Checking the functionality of the visualization
You can test the new visualization by applying it to an appropriate Explore or Look on your instance:
- Navigate to the Look or Explore.
- If on a Look, click Edit to edit the Look.
- Click the three-dot menu in the visualization type menu to open the drop-down list of visualizations.
- Select your custom visualization.
- Click Save to save the change to the Look. Note any dashboards that may be impacted by this change.
Looker requires these functions in the visualizations available from the Looker Marketplace:
Function | Required |
---|---|
Support for drilling into visualization | Yes |
Ability to inherit Looker’s color palettes | Yes |
Responsiveness to browser and screen size | Yes |
Consistent font family: font-family : Helvetica , Arial , sans-serif |
Yes |
Font sizing | Yes |
Ability to toggle Value Labels and Axis Labels in the visualization configuration panel | Yes |
Visualization of pivoted data | Yes (when applicable) |
Visualization updates based on user interactivity using the updateAsync function or is update |
Yes |
Clear error messages (for example, This visualization requires 1 dimension and 2 measures) |
Yes |
All options in visualization configuration panel make an apparent change to the visualization | Yes |
Use of field’s value formatting by default |
Yes (when applicable) |
Error is thrown when a query returns no results | Yes |
Drafting content for the Marketplace listing
Each listing of Marketplace content is a card that shows a thumbnail and brief description of the content. Each listing also features a simple webpage that shows:
- Detailed information about the visualization
- Common use cases
- A list of fields that are required to use the visualization (for example, “This visualization requires at least 2 dimensions and 1 measure.”)
- The visualization library you used
- A GIF file demonstrating the visualization’s function
- Any other information that a user would find important
For example, here is the Marketplace listing for a Sankey visualization:
Submitting the visualization for review
Send the web copy, a link to the GitHub repository, and the associated screenshots to your Partner Manager or to Looker’s product team through your designated Account Manager. Looker will review the submission and provide edits and feedback (if applicable). Once any edits have been addressed, Looker will post the visualization to the Looker Marketplace within one to two weeks.
Maintaining the visualization
Once your visualization is deployed and available for Looker users, it is expected that your team will evaluate and rectify any reported errors. Users will submit these as comments in the Github repo where the visualization is hosted. Looker requests that you respond to these comments within 30 calendar days, or the visualization will be removed from the Marketplace.
If you need to make updates to your visualization, push the changes to the block’s Github repository and then contact your Partner Manager or Account Manager, providing one to three sentences that describe what this update accomplished. When Looker publishes this change, the visualization listing will prompt users to update the visualization the next time they use it.