Managing dashboards

You can either create a new dashboard, edit an existing dashboard if you have created one previously or share a dashboard. Use the sidebar buttons to do so.

Save/Load/Share Button

Saving a dashboard

A NeoDash dashboard is represented by a JSON file. For example, the default dashboard has the following structure:

{
  "title": "",
  "version": "3.0",
  "settings": {
    "pagenumber": 0,
    "editable": true,
    "fullscreenEnabled": true,
    "parameters": {}
  },
  "pages": [
    {
      "title": "Main Page",
      "reports": [
        {
          "title": "Hi there 👋",
          "query": "**This is your first dashboard!** \n \nYou can click (⋮) to edit this report, or add a new report to get started. You can run any Cypher query directly from each report and render data in a variety of formats. \n \nTip: try _renaming_ this report by editing the title text. You can also edit the dashboard header at the top of the screen.\n\n\n",
          "width": 3,
          "type": "text",
          "height": 3,
          "selection": {},
          "settings": {}
        },
        {
          "title": "",
          "query": "MATCH (n)-[e]->(m) RETURN n,e,m LIMIT 20\n\n\n",
          "width": 3,
          "type": "graph",
          "height": 3,
          "selection": {
            "Movie": "title",
            "Genre": "name"
          },
          "settings": {
            "nodePositions": {}
          }
        }
      ]
    }
  ]
}

There are three options for saving your dashboard in the save dialog:

  1. Save as a file. This triggers a download of the current dashboard as .json file.

  2. Save inside Neo4j. This stores a stringified representation of the dashboard as a node in the database. If you use a Neo4j multi-database, you can select the database to save the dashboard in.

  3. Copy and paste the JSON file directly.

Keep in mind that your currently active dashboard is stored in the browser cache. If you clear your cache (cookies), the dashboard is gone.

Loading a dashboard

A dashboard can be loaded in three ways:

  1. Load from a file. Select a .json file from your computer.

  2. Load from Neo4j. Select a dashboard node stored in the database. When you load from Neo4j, the list of dashboards is presented in reverse chronological order.

  3. Load a JSON file by pasting it directly into the editor.

Sharing a dashboard

You can share a dashboard with other users by generating a direct link to it. This link consists of:

  • The dashboard URL (either a direct URL or the name of the dashboard inside Neo4j).

  • The credentials of the database that the dashboard is reporting on. Be aware that the share link will contain the database credentials, which can be a security risk.

  • Whether the dashboard should be viewed in "editor mode" or "standalone mode". The latter configures NeoDash to run in a stripped down UI without any of the editor features enabled.

When creating a NeoDash deployment on a production database, it is not recommended to use the share feature. Instead, set up a dedicated standalone deployment of NeoDash. See Publishing for more infomation.

Dashboard access control

You can manage dashboard access by leveraging the native Neo4j role-based access control (RBAC) functionality. Attach additional labels to the currently selected dashboard node within this window, either by utilizing existing labels in your database or creating new ones, to regulate access permissions.

You can find the dashboard access control by clicking the three dots next to the dashboard name in the sidebar and selecting the Access Control option.

Combine this with restricted privileges on labels, assigned to certain roles. See Access control management for details.

Dashboard Access Control

Dashboard settings

You can access settings for the entire dashboard by clicking the Settings ⚙️ button in the dashboard sidebar.

This window can be used to control the followng settings:

Name Changeable Default value Description

Editable

Yes

On

If enabled, shows the dashboard in "editing mode". If not, shows it in "view mode". In "view mode", all editing is disabled, pages and reports can not be moved, edited or renamed.

Enable Fullscreen Report Views

Yes

On

If enabled, show the 🔳 Fullscreen button on the top-right of a report, letting users maximize a visualization.

Maximum Query Time (seconds)

Yes

20

The maximum time a query is allowed to take before being cancelled automatically. Increase this if you have complex analytical queries.

Disable Row Limiting

Yes

Off

If enabled, the automatic row limiting feature of dashboards is disabled.

Page Number

No

0

The current page number of the dashboard being viewed. This can only be changed by switching pages in the dashboard header.

Global Parameters

No

{}

The global parameters that are shared among all reports in the dashboard. See the next section for more on global parameters.

Parameters

Dashboard parameters are key-value pairs that can be used inside the queries of reports. A convention is that a dashboard parameter in NeoDash always starts with $neodash_.

Parameters can only be set (and unset) using the Parameter select report. After setting a parameter, it is available to all reports in the dashboard. A query that uses a dashboard parameter looks like this:

MATCH (m:Movie)<-[a:ACTED_IN]-(p:Person)
WHERE m.title = $neodash_movie_title
RETURN m, a, p

Deep-linking parameters

For browser-based NeoDash deployments, you set NeoDash parameters via URL parameters. For example, consider the following URL:

localhost:5005/?neodash_person_name=Adam

when a user visits it, the parameter $neodash_person_name is set to Adam after loading the dashboard.