Grafana v5.0 is here and with it comes a new dashboard engine and the new feature: Dashboard folders. Grafana has never looked this good.
This is the most substantial update that Grafana has ever seen. This article will detail the major new features and enhancements.
## New dashboard engine
-[New Dashboard Layout Engine]({{<relref"#new-dashboard-layout-engine">}}) enables a much easier drag, drop and resize experiance and new types of layouts.
-[New UX]({{<relref"#new-ux-layout-engine">}}). The UI has big improvements in both look and function.
-[New Light Theme]({{<relref"#new-light-theme">}}) is now looking really nice.
-[Dashboard Folders]({{<relref"#dashboard-folders">}}) helps you keep your dashboards organized.
-[Permissions]({{<relref"#dashboard-folders">}}) on folders and dashboards helps managing a large Grafana installation.
-[Group users into teams]({{<relref"#teams">}}) and use them in the new permission system.
-[Datasource provisioning]({{<relref"#data-sources">}}) makes it possible to setup data sources via config files.
-[Dashboard provisioning]({{<relref"#dashboards">}}) makes it possible to setup dashboards via config files.
The new grid system for the dashboards are more flexible than ever and are no longer dependent on rows. The panels can be organized in any way you want simply by dragging and dropping and stretching and contracting.
### Video showing new features
The rows are still there but have taken on a new role. You now use rows to group and hide your panels. You still organize your panels as you want in rows.
The new dashboard layout engine allows for much easier movement & sizing of panels as other panels now move out of the way in
a very intutive way. No longer do you need to use rows to create layouts as panels are sized independantly. This opens
up many new types of layouts where panels of different heights can be aligned easily. Checkout the new grid in the video
above or on the [play site](http://play.grafana.org). All your existing dashboards will automatically migrate to the
new position system and look close to identical. The new panel position makes dashboards saved in v5.0 not compatible
with older versions of Grafana.
## Dashboard folders
<divclass="clearfix"></div>
The big new feature that comes with Grafana v5.0 is Dashboard folders. Now you can organize your dashbords into folders which is very useful if you have a lot of dashboards or multiple teams using the same Grafana instance.
## New UX
Each folder has its own page where you can set permisions for the folder or single dashboards within the folder. Here you can also delete and move dashboards.
The big new feature that comes with Grafana v5.0 is dashboard folders. Now you can organize your dashbords in folders
which is very useful if you have a lot of dashboards or multiple teams.
- New search design that adds expandable sections for each folder, starred & recently viewed dashboards.
- New manage dashboard pages that enables batch actions and views for folder permissions.
- Set permissions on folders and have dashboards inherit the permissions.
## Teams
Teams are a new concept for Grafana. Teams are simply a group of users that can be given permissions for folders or dashboards. Only an admin can create teams.
Teams is a new concept in Grafana v5. Teams are simply a group of users that can be given persmisions for folders or dashboards. Only an admin can create teams.
We hope to do more with teams in future releases like integration with LDAP & a team landing page.
## Permissions
TODO
# Provisioning from configuration
# Dashboard model
In previous versions of Grafana you could only use the API for provisioning data sources and dashboards.
But that required the service to be running before you started creating dashboards and you also needed to
set up credentials for the HTTP API. In 5.0 we decided to improve this experience by adding a new active
provisioning system that uses config files. This will make gitops more natural as datasources and dashboards can
be defined in via files that can be version controlled.
We are introducing a new identifier in the dashboard JSON model. The new identifier will be a X long uid. We are also changing the route for getting dashboards to use this id instead (we will keep supporting the old route for backward compatibility). This will make it possible to change the title on dashboards without breaking links. Sharing dashboards between instances become much easier since the uid is unique (unique enough) and the old numeric id always depends on the instance and might cause a conflict. This might seem like a small change, but we are incredibly excited about it since it will make it much easier to manage, collaborate and navigate between dashboards
### Data sources
# Provisioning Grafana from configuration
It's now possible to setup data sources in Grafana using config files. These data sources are by default not editable from the Grafana GUI.
Its also possible to update and delete data sources from the config file. More info in the [data source provisioning docs](/administration/provisioning/#datasources).
In previous versions of Grafana, you could use the API for provisioning. But that required the service to be running before you started creating dashboards and you also needed to set up credentials for authentication. In 5.0 we decided to improve this experience and enable people to provision using config files instead. Not only will this make gitops more natural, and it will also allow people to run Grafana as a stateless application.
### Dashboards
In 5.0 we added support for provisioning data sources and dashboards. We will add support for provisioning more parts of Grafana in the future.
We also deprecated the [dashboard.json] in favor of our new dashboard provisioner that keeps dashboards on disk
in sync with dashboards in Grafana's database. The dashboard provisioner have multiple advantages over the old
[dashboard.json] feature. Instead of storing the dashboard in memory we now insert the dashboard into the database,
which makes it possible to star them, use one as home dashboard, set permissions and other features in Grafana that
expects the dashboards to exist in the database. More info in the [dashboard provisioning docs](/administration/provisioning/#dashboards)
## Data sources
# Dashboard model & API
It's now possible to create data sources in Grafana only using config files. These data sources are by default not editable from the Grafana GUI. Its also possible to update and delete data sources from the config, which makes it possible to manage data sources only thru configuration. More info in the [data source provisioning docs](/administration/provisioning/#datasources)
We are introducing a new identifier (`uid`) in the dashboard JSON model. The new identifier will be a 9-12 character long unique id.
We are also changing the route for getting dashboards to use this `uid` instead of the slug that that the current route & API are using.
We will keep supporting the old route for backward compatibility. This will make it possible to change the title on dashboards without breaking links.
Sharing dashboards between instances become much easier since the uid is unique (unique enough). This might seem like a small change,
but we are incredibly excited about it since it will make it much easier to manage, collaborate and navigate between dashboards.
## Dashboards
We also deprecated [dashboard.json] in favor of our new dashboard provisioner that keeps dashboards on disk in sync with Grafana. The dashboard provisioner have multiple advantages over the old [dashboard.json] feature. Instead of storing the dashboard in memory we now insert the dashboard into the database, which makes it possible to use it with dashboard folders, permissions, built-in annotations and other features in Grafana that expects the dashboards to exist in the database. More info in the [dashboard provisioning docs](/administration/provisioning/#dashboards)