# Dashboard Generation

{% hint style="warning" %}
When creating a Dashboard, a user must have at least one of the following Roles.

* Admin
* Editor
  {% endhint %}

## Create your first Dashboard

1. Access the ObX Web UI as discussed [here](/obx-r3-manual/front-end-engineering.md).
2. Login with your Admin or Editor credentials.
3. From the left bar menu, Hover your mouse to `Dashboard`  -> New Dashboard.
4. From the newly created Dashboard page, click on the `Add a new panel`this will open the Panel's [Query editor](/obx-r3-manual/front-end-engineering/dashboard-introduction.md#query-editors) and it's properties.
5. From the Query editor at the Top left corner, Select the Datasource you want to pull out the data from. If you have multiple datasources attached to your current organizations, it will be part of the selection.
6. From the Query editor, click on the `Select measurement`, and select from the list of tags available in the specific datasources you have selected in step 5.
7. From fill(null) section, click the null options and select the none option.&#x20;
8. You can add more query by clicking the :heavy\_plus\_sign: `query` at the bottom of query editor, and just repeat the step 6 to step 7.
9. At the right side corner of the Panel editor, you can view it's different properties, you can play around with these properties to view it's different behaviour.
10. If you are good, you can click `Apply` button at the top right of the Panel editor.
11. Adjust the size of the Panel as for your preferred size, by just clicking and dragging the panel's corner.
12. You can add more Panel / widget to you dashboard by just clicking the Add panel button (at the top right corner) ![](/files/MOraH7acsXGHvSTihjzU) and then repeat step 4 to step 11.
13. Once you are good on you Dashboard, just click on `Save` button at the top right corner of the Dashboard.

<figure><img src="/files/VOlA6f1NWMBT63cnbIJA" alt=""><figcaption><p>Create your First Dasbhoard</p></figcaption></figure>

## Dashboard Navigation

Navigation on a Dashboard you have created is pretty straightforward.

1. Access the ObX Web UI as discussed [here](/obx-r3-manual/front-end-engineering.md).
2. Login with your valid user credentials.
3. Once login, at the left bar menu, Goto -> :mag\_right: Search Dashboard.
4. This will open list of Dashboard, for instance, you can type in the name of the Dashboard you want to access.
5. Click on the Dashboard name to navigate on it.

<figure><img src="/files/yu45YvIvkjcqs6uNystK" alt=""><figcaption><p>Dashboard Navigation</p></figcaption></figure>

## Dashboard Permission

In the ObX WebUI, dashboards are initially accessible to all users. However, in certain scenarios, it may be necessary to restrict access so that only designated users can view specific dashboards. This is achieved through the implementation of dashboard permissions.

There are three (3) ways of assigning permissions on a Dashboard.&#x20;

### Role

By default, when a Dashboard is created, it inherits a set of permissions. These permissions are determined by the User's current [role](/obx-r3-manual/front-end-engineering/user-management.md#user-role), which can be categorized as Admin, Editor, or Viewer.

### User

The Dashboard's access permissions will operate on a per-user basis. This means you can alter a user's existing role specifically for a particular Dashboard. For instance, if a user is currently assigned the role of viewer, you have the ability to designate them as an editor for a specific Dashboard, thereby overriding their default permissions on a per dashboard level.

### Team

The permission settings for the Dashboard will operate on a team-centric model, where permissions are assigned to each team. Consequently, all users within a particular team will inherit the permissions designated for that team. For instance, if the Maintenance team is granted the Viewer role for a specific dashboard, all users within that team will only be able to view the dashboard and not make any changes.

### Assigning Dashboard Permission by User

{% hint style="info" %}
You should be an Admin user to edit the permission of a Dashboard.
{% endhint %}

1. Access the ObX Web UI as discussed [here](/obx-r3-manual/front-end-engineering.md).
2. Login with your Admin credentials.
3. Navigate to a Dashboard you want to edit it's permission.
4. At the top right corner, click on the :gear: `Dashboard Settings`. This will open the Settings window of the current Dashboard.
5. From the window at the left, Goto -> `Permissions`, you'll see here list of permissions of the current Dashboard.&#x20;

{% hint style="warning" %}
By default, the permissions on a Dashboard is based on by Role. If you want to override this, you have to delete the default permission and add permission based on a User.
{% endhint %}

6. Under the `Role` section, delete the `Editor` and `Viewer` permission.&#x20;
7. Click on `Add a permission` button. This will open options for adding permission.
8. Click on `Choose` -> then select `User`.
9. Choose from the list of Users you want to add.
10. Assign the `Role` (Admin, Editor or Viewer) of the selected user
11. Click Save.

<figure><img src="/files/l6PIwnmSgyjR0pz0ulAM" alt=""><figcaption><p>Assigning Dashboard Permission by User</p></figcaption></figure>

{% hint style="warning" %}
If the default permission by `Role` is retained without deletion, it will take precedence over the permission set via User. Consequently, users assigned the roles of admin, editor, or viewer will maintain permissions on the dashboard. To restrict dashboard permissions on a per-user basis, it is necessary to remove the permission set via by Role.
{% endhint %}

### Assigning Dashboard Permission by Team

{% hint style="info" %}
You should be an Admin user to edit the permission of a Dashboard.
{% endhint %}

1. Access the ObX Web UI as discussed [here](/obx-r3-manual/front-end-engineering.md).
2. Login with your Admin credentials.
3. Navigate to a Dashboard you want to edit it's permission.
4. At the top right corner, click on the :gear: `Dashboard Settings`. This will open the Settings window of the current Dashboard.
5. From the window at the left, Goto -> `Permissions`, you'll see here list of permissions of the current Dashboard.

{% hint style="warning" %}
By default, the permissions on a Dashboard is based on by Role. If you want to override this, you have to delete the default permission and add permission based on a Team.
{% endhint %}

6. Under the `Role` section, delete the `Editor` and `Viewer` permission.&#x20;
7. Click on the `Add a permission` button. This will open options for adding permission.
8. Click on `Choose` -> then select Team.
9. Choose from the list of Teams you want to add.
10. Assign the `Role` (Admin, Editor or Viewer) of the selected Team.
11. Click Save.

<figure><img src="/files/BjPyMp9JJNnLFeibEbsQ" alt=""><figcaption><p>Dashboard Permission by Team</p></figcaption></figure>

{% hint style="warning" %}
If the default permission via `Role` is retained without deletion, it will take precedence over the permission set via by Team. Consequently, users assigned the roles of admin, editor, or viewer will maintain permissions on the dashboard. To restrict dashboard permissions on a per-Team basis, it is necessary to remove the permission set via by Role.
{% endhint %}

## Dashboard Folder

You can categorize and manage your Dashboards by utilizing Dashboard folders. Similar to traditional file organization where files are grouped into folders for better organization, Dashboard folders serve the same purpose. For instance, you can organize your Dashboards based on different criteria such as Area, Plant site, or Department. This feature allows you to efficiently manage and locate specific Dashboards according to your preferred categorization.

{% hint style="success" %}
The advantageous feature of the dashboard folder is its capability to propagate permissions from the folder level to all dashboards contained within it. This means that when you apply permissions to the folder, all dashboards underneath it automatically inherit those permissions. This simplifies the process of managing permissions for multiple dashboards based on your desired organizational structure.
{% endhint %}

1. Access the ObX Web UI as discussed [here](/obx-r3-manual/front-end-engineering.md).
2. Login with your Admin credentials.
3. From the left bar menu, Go to -> `Dashboards`, then select `New Folder`
4. Enter the Folder name you want.
5. Press `Create` button.

{% hint style="info" %}
When you initiate the creation of a dashboard folder, the system automatically directs you to that folder and grants you the capability to directly generate a new dashboard within the newly established folder.
{% endhint %}

<figure><img src="/files/wBn4UN2VUMNNDoWFcXwI" alt=""><figcaption><p>Adding a Folder</p></figcaption></figure>

### Adding Dashboard to Folder

1. Access the ObX Web UI as discussed [here](/obx-r3-manual/front-end-engineering.md).
2. Login with your Admin credentials.
3. From the left bar menu, Go to and Click -> `Dashboards`
4. &#x20;Hover your mouse over the Folder name, you notice a `Go to folder` option will be visible.&#x20;
5. Click on the `Go to folder` this will open the Folder configuration where you can add dashboards, library panels, permissions and settings.
6. Click on `Create a Dashboard`.
7. Create your Dashboard as discussed [here](#create-your-first-dashboard).

<figure><img src="/files/WbuTvECN5cVEu4Dz8WP2" alt=""><figcaption><p>Adding Dashboard to a Folder</p></figcaption></figure>

{% hint style="info" %}
When you save a newly generated dashboard, the system will still prompt you to choose a folder for its storage.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://obx-organization.gitbook.io/obx-r3-manual/front-end-engineering/dashboard-generation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
