Skip to main content

Dashboards

Dashboards allow you to design a layout for data and datasets in your workspace. These are fully customizable and render custom HTML and CSS, letting you format them as required.


You can create dashboards of your datasets in the Matataika app, by defining a few settings and then providing your dashboard content in your workspace's workspace.yml file.

Example workspace.yml:

version: workspaces/v0.2
name: My workspace
domains:
- meltano.com
- example.co.uk
default_data_store: Warehouse
state_data_store: Warehouse
dataset_paths:
- analyze/datasets
- .meltano/analyze/datasets
channel_paths:
- analyze/channels
pipeline_paths:
- pipelines
plugin_paths:
- plugins
data_store_paths:
- datastores
app_properties:
WELCOME_DATASET_ALIAS: welcome
DASHBOARD_PAGE_TITLE: Data Observability Dashboard
DASHBOARD_CONTENT: |-
<div style={{'display':'flex', 'padding-bottom': '30px', 'justify-content': 'center'}}>
<div style={{'border-right': '2px solid #D3D3D3'}}>
<h2>Test results breakdown</h2>
<DatasetChart alias="data-observability/test-results-breakdown"/>
</div>
<div>
<h2>Tables health</h2>
<DatasetLink alias="data-observability/table-health-breakdown">
<DatasetChart alias="data-observability/tables-health" />
</DatasetLink>
</div>
</div>
APP_MENU_ITEMS: |-
[
{"name": "dashboard", "faIcon": "chart-bar", "label": "Dashboard"},
{"name": "explore", "faIcon": "hashtag", "label": "Explore"},
{"name": "channels", "faIcon": "database", "label": "Channels"},
{"name": "library", "faIcon": "list", "label": "Library"},
{"name": "starred", "faIcon": "star", "label": "Starred"},
{"name": "help", "faIcon": "question-circle", "label": "Help"}
]
default_data_store: Warehouse
dataset_paths:
- analyze/datasets
- .meltano/analyze/datasets
channel_paths:
- analyze/channels
pipeline_paths:
- pipelines
plugin_paths:
- plugins
data_store_paths:
- datastores

Dashboard Settings

Note that these settings are nested under app_properties.

SettingDescription
DASHBOARD_PAGE_TITLEDashboard page title
DASHBOARD_CONTENTYour dashboard content as HTML
APP_MENU_ITEMSCurrently you have to provide an override for all pages showing in the app, including your new dashboard page.

A list of faIcons for your Dashboard can be found here: FontAwesome Icons v5. You can use any free icons as your dashboard icon, or to change the icon of an existing page.

Dashboard Components

DatasetChart

Allows you to choose any dataset in your workspace by its alias, and render it on your dashboard.

Prop | Type | Description | Required | Default --- | --- | --- | --- alias | String | The dataset alias to fetch for render | If dataset not specified | dataset | Object | The dataset to render | If alias not specified | showTable | Boolean | Show the dataset data as a table | No | false

DatasetData

Allows you to render custom JSX in the context of a dataset and its data.

PropTypeDescriptionRequiredDefault
aliasStringThe dataset alias to fetch for renderIf dataset not specified
datasetObjectThe dataset to renderIf alias not specified
renderFunctionThe JSX content to render (args: dataset, data)Yes

Wraps elements or text and create an internal link to a dataset in your workspace (no page reload).

PropTypeDescriptionRequiredDefault
aliasStringThe dataset aliasYes

Back

Renders a back button.

DownloadDataset

Download a dataset from the workspace.

PropTypeDescriptionRequiredDefault
aliasStringThe dataset alias to fetch for renderIf dataset not specified
datasetObjectThe dataset to renderIf alias not specified
tooltipStringThe text displayed on hoverNoDownload {dataset title OR dataset alias}

DownloadResource

Download a resource from the workspace.

PropTypeDescriptionRequiredDefault
pathStringThe resource pathYes
tooltipStringThe text displayed on hoverNoDownload {path}