Commit Graph

349 Commits

Author SHA1 Message Date
Torkel Ödegaard
f3980504e2 Merge branch 'master' into walmartlabs-master 2017-06-05 13:43:00 +02:00
Torkel Ödegaard
d47c47853a ux: added css annimations for dash edit views 2017-06-02 15:29:25 +02:00
Torkel Ödegaard
e9d5e037e8 ux: merge branch navbarv2, new navbar with dashboard search available on all pages, closes #6475 2017-06-02 14:00:42 +02:00
sanchitraizada
e6616cc551 Merge pull request #10 from walmartlabs/version-control
History and Version Control for Dashboard Updates
2017-05-25 14:50:47 -07:00
Ben Tranter
b6e46c9eb8 History and Version Control for Dashboard Updates
A simple version control system for dashboards. Closes #1504.

Goals

1. To create a new dashboard version every time a dashboard is saved.
2. To allow users to view all versions of a given dashboard.
3. To allow users to rollback to a previous version of a dashboard.
4. To allow users to compare two versions of a dashboard.

Usage

Navigate to a dashboard, and click the settings cog. From there, click
the "Changelog" button to be brought to the Changelog view. In this
view, a table containing each version of a dashboard can be seen. Each
entry in the table represents a dashboard version. A selectable
checkbox, the version number, date created, name of the user who created
that version, and commit message is shown in the table, along with a
button that allows a user to restore to a previous version of that
dashboard. If a user wants to restore to a previous version of their
dashboard, they can do so by clicking the previously mentioned button.
If a user wants to compare two different versions of a dashboard, they
can do so by clicking the checkbox of two different dashboard versions,
then clicking the "Compare versions" button located below the dashboard.
From there, the user is brought to a view showing a summary of the
dashboard differences. Each summarized change contains a link that can
be clicked to take the user a JSON diff highlighting the changes line by
line.

Overview of Changes

Backend Changes

- A `dashboard_version` table was created to store each dashboard
  version, along with a dashboard version model and structs to represent
  the queries and commands necessary for the dashboard version API
  methods.
- API endpoints were created to support working with dashboard
  versions.
- Methods were added to create, update, read, and destroy dashboard
  versions in the database.
  - Logic was added to compute the diff between two versions, and
  display it to the user.
  - The dashboard migration logic was updated to save a "Version
  1" of each existing dashboard in the database.

Frontend Changes

- New views
- Methods to pull JSON and HTML from endpoints

New API Endpoints

Each endpoint requires the authorization header to be sent in
the format,

```
Authorization: Bearer <jwt>
```

where `<jwt>` is a JSON web token obtained from the Grafana
admin panel.

`GET "/api/dashboards/db/:dashboardId/versions?orderBy=<string>&limit=<int>&start=<int>"`

Get all dashboard versions for the given dashboard ID. Accepts
three URL parameters:

- `orderBy` String to order the results by. Possible values
  are `version`, `created`, `created_by`, `message`. Default
  is `versions`. Ordering is always in descending order.
- `limit` Maximum number of results to return
- `start` Position in results to start from

`GET "/api/dashboards/db/:dashboardId/versions/:id"`

Get an individual dashboard version by ID, for the given
dashboard ID.

`POST "/api/dashboards/db/:dashboardId/restore"`

Restore to the given dashboard version. Post body is of
content-type `application/json`, and must contain.

```json
{
  "dashboardId": <int>,
  "version": <int>
}
```

`GET "/api/dashboards/db/:dashboardId/compare/:versionA...:versionB"`

Compare two dashboard versions by ID for the given
dashboard ID, returning a JSON delta formatted
representation of the diff. The URL format follows
what GitHub does. For example, visiting
[/api/dashboards/db/18/compare/22...33](http://ec2-54-80-139-44.compute-1.amazonaws.com:3000/api/dashboards/db/18/compare/22...33)
will return the diff between versions 22 and 33 for
the dashboard ID 18.

Dependencies Added

- The Go package [gojsondiff](https://github.com/yudai/gojsondiff)
  was added and vendored.
2017-05-24 19:14:39 -04:00
Torkel Ödegaard
044668a395 login: minor fix to login page 2017-05-23 11:10:16 +02:00
Torkel Ödegaard
c34db77f04 grafana_com: changed name of oauth grafana_net integration (old settings names still work), and updated login button look, closes #8415 2017-05-22 14:56:50 +02:00
Torkel Ödegaard
499e01d832 feat: metrics tab reworking 2017-05-20 18:21:41 +02:00
Torkel Ödegaard
912301fe24 query: more work on metrics tab changes 2017-05-20 10:14:41 +02:00
Torkel Ödegaard
5909f9ef92 feat: more work on metrics tab reworkings 2017-05-19 21:32:23 +02:00
Torkel Ödegaard
6ad1a396a5 feat: query troubleshooter 2017-05-19 16:00:01 +02:00
Torkel Ödegaard
2479ad262e ux: updated look of info box 2017-05-05 09:16:28 +02:00
Torkel Ödegaard
ea92ddccb3 create annotations progress 2017-04-14 12:46:02 +02:00
Torkel Ödegaard
07466b6725 security: fixed returning info on weither user exists or not in password reset call, fixes #7619 2017-04-11 16:50:16 +02:00
Torkel Ödegaard
4d4e165be7 links: updated links from grafana.net to grafana.com 2017-03-20 10:20:32 +01:00
Tim De Pauw
48649951e4 Github → GitHub (#7607) 2017-02-18 17:20:44 +01:00
Torkel Ödegaard
fa01022494 fix(ux): fixed css issue with add row button, fixes #7017 2016-12-20 13:00:46 +01:00
Torkel Ödegaard
ca7bc25c83 feat(panel): working on panel help text, #4079 , #6847 2016-12-16 10:34:00 +01:00
Torkel Ödegaard
467ddc19c3 feat(panel): worked on panel description tooltip, #6847 2016-12-14 17:22:19 +01:00
Torkel Ödegaard
5f7ad9ddb6 Merge branch 'help-text' of https://github.com/utkarshcmu/grafana into utkarshcmu-help-text 2016-12-14 16:20:36 +01:00
Matt Toback
d28726be06 Moved ADD ROW to left to consolidate row actions along the same vertical area. (#6852) 2016-12-07 10:45:23 +01:00
utkarshcmu
034d84354e Fixed HelpText input box 2016-12-06 03:58:38 -08:00
utkarshcmu
42de27a2cb Added help text for users 2016-12-06 03:54:44 -08:00
Torkel Ödegaard
465451c289 cleanup(): removed unused uio-angular tab component 2016-11-16 17:47:37 +01:00
Torkel Ödegaard
e3564d12a1 fix(404): fixed 404 page 2016-11-16 17:09:00 +01:00
Torkel Ödegaard
2d19af601a fix(alerting): various alerting fixes 2016-11-06 15:40:02 +01:00
Torkel Ödegaard
d38de2cc8b ux(view/kiosk mode): added view mode and kiosk mode, #6476 2016-11-05 14:23:37 +01:00
Torkel Ödegaard
98be1734fa ux(dashboard): refining new row slide out menu, #6442 2016-11-03 22:14:29 +01:00
Torkel Ödegaard
82592f0c13 ux(help): began work on new help modal 2016-11-03 20:32:36 +01:00
Torkel Ödegaard
95e7ead89b ux(dashboard): varius dashboard ux fixes and keybinding improvements, press 'e' while hovering over panel will open dashboard in edit mode, pressing 'd' will remove panel, #6442 2016-11-02 15:16:48 +01:00
Torkel Ödegaard
786afda4c3 ux(dashboard): edit mode fixes 2016-11-01 13:43:05 +01:00
Torkel Ödegaard
be99c3e20a updates to dashboard edit mode 2016-10-28 16:26:53 +02:00
Torkel Ödegaard
f1a44ad090 ux(): progress on row ux 2016-10-28 13:36:27 +02:00
Torkel Ödegaard
7b0eb6d0bb feat(dashboard): progress on dash edit mode 2016-10-25 16:36:40 +02:00
Torkel Ödegaard
29e834e74b feat(UX): revived dash-edit-mode branch, #6099 2016-10-23 10:05:31 +02:00
Torkel Ödegaard
1bb8192a38 Merge branch 'master' into dash-edit-mode 2016-10-23 10:03:55 +02:00
Torkel Ödegaard
7c339f0794 feat(alerting): show alertin state in panel header, closes #6136 2016-09-30 17:37:47 +02:00
Torkel Ödegaard
2908c6a80b fix(metricsegment): added min width for inputs for metric segment and value select components 2016-09-30 13:13:28 +02:00
Torkel Ödegaard
2750c8a801 feat(config): changed name of allow_user_login_pass to disable_login_form, changed the section of the config option to [auth], impacts merged PR #5423 2016-09-28 15:27:08 +02:00
Torkel Ödegaard
e5fc4332cd feat(oauth): refactoring PR #6077 2016-09-28 15:10:50 +02:00
Dan Cech
b387c1291d Merge branch 'master' into gnet-oauth
Conflicts:
	pkg/api/login_oauth.go
2016-09-21 09:39:35 -04:00
Dan Cech
fc17ed351c support logging in with grafana.net credentials 2016-09-19 16:48:07 -04:00
Torkel Ödegaard
0a44add6c9 feat(adhoc fiters): began work on ad-hoc filters, refactored submenu filters to use gf-form styles, #6038 2016-09-14 11:21:02 +02:00
Torkel Ödegaard
014b70ded9 fix(graph): fixed showing rendering error in inspector, fixes #5995 2016-09-10 12:00:33 +02:00
bergquist
4646723cbb Merge branch 'custom-github-style-oauth' of https://github.com/kfitzpatrick/grafana into kfitzpatrick-custom-github-style-oauth 2016-09-07 08:15:44 +02:00
Torkel Ödegaard
e2f5bf1666 feat(alerting): fixed confirm delete dashboard issue 2016-09-05 13:38:25 +02:00
Torkel Ödegaard
b0fe69822a Merge branch 'master' into alerting
Conflicts:
	public/app/core/services/alert_srv.ts
	public/app/partials/confirm_modal.html
2016-07-18 18:22:35 +02:00
Torkel Ödegaard
4bb4d7f7d3 Merge branch 'v3.1.x' 2016-07-12 15:54:31 +02:00
Torkel Ödegaard
b2acac3a41 feat(apps): more polish on app dashboard save warning, #5529 2016-07-12 08:41:56 +02:00
Torkel Ödegaard
d9096110f8 Merge branch 'master' into alerting
Conflicts:
	pkg/api/dashboard.go
	pkg/models/dashboards.go
	pkg/services/sqlstore/dashboard.go
2016-07-11 18:28:07 +02:00
Kevin Fitzpatrick
f2baa5b210 Make Generic OAuth Configs ENV VARS-friendly
Use underscores instead of dashes.
2016-06-30 15:07:55 -07:00
Kevin Fitzpatrick
b4646b6c3a Allow users to use a generic oauth that conforms to the github style.
Enables users to set their own link text.
2016-06-30 15:07:55 -07:00
bergquist
ff15a90e6d fix(login): fixes broken validation for login 2016-06-25 17:34:47 +02:00
bergquist
690a74c6b7 feat(login): invert naming for dissallow user pass login 2016-06-25 16:30:41 +02:00
Kevin Fitzpatrick
040586604b Allow configuration to disable the username and password login interface.
Used for when admins only want users to login via OAuth.
2016-06-23 10:09:13 -07:00
bergquist
8ec311ade4 Merge branch 'master' into alerting 2016-06-16 16:29:41 +02:00
bergquist
1686d86c3b Merge branch 'master' into alerting_definitions 2016-05-30 08:26:08 +02:00
Torkel Ödegaard
ba6573af61 Merge branch 'master' into export-dashboard
Conflicts:
	public/app/features/dashboard/submenu/submenu.ts
2016-05-25 12:32:56 +02:00
Torkel Ödegaard
ad7a1e15b4 feat(export): began working on export modal 2016-05-17 10:29:57 +02:00
bergquist
fa19e0d9c6 style(modal): use standard valid styles 2016-05-16 17:03:01 +02:00
bergquist
2ce9d4571c fix(alerting): fix spacing 2016-05-16 14:29:54 +02:00
bergquist
80f7fe8646 feat(alerting): add confirm text dialog when deleting dashboards with alerts 2016-05-16 11:54:28 +02:00
Torkel Ödegaard
de26a17dc7 feat(footer): began work on page footer 2016-05-03 09:00:58 +02:00
Torkel Ödegaard
2546ec062b Merge branch 'master' into dash-edit-mode
Conflicts:
	public/app/features/dashboard/partials/settings.html
2016-04-29 14:50:17 +02:00
Torkel Ödegaard
a1faaa133c feat(): query editors, started work on updated ES query editor 2016-04-17 17:17:30 -04:00
Torkel Ödegaard
33f7b8479e ux(query editors): progress on new query editor styles 2016-04-17 12:14:25 -04:00
Torkel Ödegaard
68bd82f1b6 Merge branch 'master' into query-editor-style 2016-04-16 13:46:05 -04:00
Matt Toback
a7e8e64d78 The beginnings of the build mode and rows 2016-04-15 19:52:18 -04:00
Torkel Ödegaard
5f6ecac3f9 poc(editmode): experimental edit mode 2016-04-15 15:11:40 -04:00
Torkel Ödegaard
3ab5427019 fix(timepicker): fixed issues and added some polish to timepicker shift back/forward buttons 2016-04-12 12:39:59 -04:00
bergquist
e5c9a24c33 Merge branch 'master' into utkarshcmu-move 2016-04-12 16:21:20 +02:00
Torkel Ödegaard
ab34b174f9 Added update notice to plugin list 2016-04-11 13:42:52 -04:00
utkarshcmu
e470786fb9 Backward and forward arrows for time shift 2016-04-07 01:30:49 -07:00
Torkel Ödegaard
55189200a4 ux(): updated query editor test 2016-03-20 16:18:31 +01:00
Torkel Ödegaard
135679096b feat(plugins): progress on plugin details page, # 4275 2016-03-07 14:31:17 +01:00
Torkel Ödegaard
fcd75422d5 ux(): update all confirm modals to new design 2016-03-04 20:57:10 +01:00
Torkel Ödegaard
b673bc1386 ux(): minor fix to login page 2016-03-04 12:13:40 +01:00
Torkel Ödegaard
ae69244ac7 updated keyboard shortcuts modal 2016-03-02 21:36:34 +01:00
Torkel Ödegaard
f7b481fc28 ux(): updated inspector modal 2016-03-02 21:31:49 +01:00
Torkel Ödegaard
839c675cb9 ux(): minor tweak 2016-02-29 16:38:45 +01:00
Torkel Ödegaard
d27a0f5b0c ux(): small ux fix for inspector modal 2016-02-29 14:35:55 +01:00
bergquist
e3be9f7fe9 ux(graph): widen input in general tab 2016-02-26 11:36:23 +01:00
bergquist
b490bdfe33 ux(row_editor): tight-form -> gf-form 2016-02-24 13:49:42 +01:00
bergquist
f6457a2023 ux(templating): tight-form -> gf-form 2016-02-24 11:56:45 +01:00
Torkel Ödegaard
7207068181 ux(): worked more on new tabs view 2016-02-24 10:32:22 +01:00
bergquist
a3e22091be ux(submenu): tight-form -> gf-form 2016-02-24 08:32:09 +01:00
utkarshcmu
d0b191af18 Changed snapshot shortcut to CTRL+I 2016-02-23 11:23:13 -08:00
utkarshcmu
c2439b04c9 keyboard shortcut for taking snapshot 2016-02-23 08:11:04 -08:00
bergquist
ed550a894f ux(reset_password): tight-form -> gf-form 2016-02-23 16:14:29 +01:00
bergquist
8b51f58fe7 ux(row_editor): tight-form -> gf-form 2016-02-23 15:48:39 +01:00
Torkel Ödegaard
26c5029256 ux(): new dashboard tabs view 2016-02-23 13:20:59 +01:00
utkarshcmu
17c7ce9b40 Added export option in Help modal 2016-02-23 00:57:39 -08:00
Torkel Ödegaard
92efd17952 fix(ux): fixed panel json edit view 2016-02-22 19:03:53 +01:00
Torkel Ödegaard
56a05d78bd Merge branch 'popover-to-drop' 2016-02-22 18:56:54 +01:00
Torkel Ödegaard
fa5cf602f5 removed old popover and unused boostrap components 2016-02-22 18:56:35 +01:00
bergquist
1164510004 ux(dashboard): migrate view json to gf-form 2016-02-22 18:03:51 +01:00
Matt
ab4957684f Merged with master, I think 2016-02-20 10:13:18 -05:00
Torkel Ödegaard
52241b8e0b ux(): completed gf-size class rename 2016-02-20 14:48:10 +01:00
Torkel Ödegaard
701a2fdcf3 ux(): tweaks and polish, and also simpifying width classes, gf-size-xxx and gf-size-max-xx are now width-(1-30), and max-width-(1-30) 2016-02-20 14:21:39 +01:00
Torkel Ödegaard
a685e46fb6 ux(): minor tweaks 2016-02-20 11:05:06 +01:00
Trent White
bd0357b637 added angular gradient to page and login. Tweaked header underline to not be so heavy. Tweaked stacked logo on login. Created an alternative to avatar when there's no connection to gravatar - could use work, but I think you get the idea. 2016-02-19 17:34:09 -05:00
Torkel Ödegaard
e24e34619a ux(): began long on tiresome work on color refactors, polished button styles, added buttons to styleguide 2016-02-18 20:41:23 +01:00
Torkel Ödegaard
cae975cb39 ux(): fixed login, signup, signup step2 and invite views 2016-02-18 14:44:36 +01:00
Torkel Ödegaard
08c1def8b7 ux(): minor update 2016-02-18 09:44:40 +01:00
Torkel Ödegaard
8193d50da7 ux(): updated graph form styles 2016-02-17 13:46:18 +01:00
Torkel Ödegaard
50c79df70f ux(less): less cleanup of unused styles, restructuring and consolidating 2016-02-14 20:44:41 +01:00
Torkel Ödegaard
b369b7e495 ux(): added page-dashboard body class 2016-02-12 18:55:45 +01:00
Torkel Ödegaard
ac5f7ecdea fix(img): fixed img link on signup 2016-02-11 15:49:55 +01:00
bergquist
b469904c7f fix(login): hide divider if no oath
closes #3980
2016-02-10 10:41:43 +01:00
Torkel Ödegaard
397e4e4766 fix(img): img link on login 2016-02-09 12:20:09 +01:00
bergquist
0f52b4397f feat(login): minor ux improvements
make buttons bigger and introduce the login divider.

closes #3698
2016-02-08 11:18:41 +01:00
Torkel Ödegaard
853cd16336 fix(search); fixes to dashboard search (using keyboard), and fix for singlestat in snapshot view 2016-02-05 13:48:10 +01:00
Torkel Ödegaard
660ce3a61d fix(row editor): row editor fix and cleanup of unused code 2016-02-04 22:19:46 +01:00
Torkel Ödegaard
33dc9fdd76 fix(inspector): fixed broken panel error inspect 2016-02-04 15:23:40 +01:00
Torkel Ödegaard
2a8b96b680 feat(plugins): last refactoring of how panels are implemented, now the same way as plugin editors 2016-02-04 14:36:19 +01:00
Torkel Ödegaard
f2700822e9 feat(plugins): extracted first plugin row to its own component 2016-02-02 16:32:36 +01:00
Torkel Ödegaard
21f6c07686 feat(plugins): more progress on plugin editors 2016-02-02 15:15:20 +01:00
Torkel Ödegaard
356f7b9db6 feat(plugins): good progress on converting query editors, graphite's query ctrl is now working as is unit tests 2016-02-02 13:07:54 +01:00
Torkel Ödegaard
eaaf9246b7 feat(plugins): more work on refining datasource editors 2016-02-02 09:12:58 +01:00
Torkel Ödegaard
30a8a434a1 Merge branch 'master' into plugin-editors
Conflicts:
	public/app/features/panel/panel.ts
	public/app/features/panel/panel_directive.js
	public/app/plugins/datasource/grafana/module.ts
2016-02-01 21:37:36 +01:00
Torkel Ödegaard
79db997e8c login(): testing new login look on login page 2016-02-01 21:31:54 +01:00
Torkel Ödegaard
e737dab5ca removed /app route, confusing when some assets use public/app/.. route and some use just app/... all public static assets should no use public route, app route is no more 2016-02-01 18:19:02 +01:00
Torkel Ödegaard
2f78584cdb poc(plugin editors): experimential test for plugin editors 2016-02-01 12:42:10 +01:00
Torkel Ödegaard
3f945e886b merge sync with master 2016-01-31 19:51:23 +01:00
Torkel Ödegaard
d617d029d2 fix(css): fixed issues introduced in recent sidemenu enhancements, fixes #3893, fixes #3894 2016-01-30 12:55:47 -05:00
Torkel Ödegaard
57d22fb93f Merge remote-tracking branch 'origin/master' into panelbase 2016-01-27 17:33:33 -05:00
Torkel Ödegaard
34b82caaa8 feat(panels): fixed unit tests 2016-01-27 12:51:01 -05:00
bergquist
09de46e5ac tech(search): convert search to typescript 2016-01-26 17:54:19 +01:00
Torkel Ödegaard
b0dd79cbfd feat(panels): MetricsPanelCtrl is starting to work 2016-01-25 17:51:18 -05:00
Torkel Ödegaard
9c6698e87b feat(panels): progress on new panel infrastructure, base classes 2016-01-25 15:09:37 -05:00
Torkel Ödegaard
4f7fb40d9b feat(panel plugin): improving panel plugin model 2016-01-24 16:39:25 -05:00
Torkel Ödegaard
94a7e9b185 poc(panel): experimental panel stuff 2016-01-22 19:59:36 +01:00
Torkel Ödegaard
00802d035a refactor(): refactoring submenu to directive 2016-01-18 12:19:46 +01:00
Torkel Ödegaard
723be4f612 refactoring(): unified dashboard top nav to a single dashnav component, uses new navbar component 2016-01-17 11:34:51 +01:00
Torkel Ödegaard
dfcb82d233 feat(sidenav): more work on new side nav 2016-01-15 11:13:02 +01:00
Torkel Ödegaard
4f227ae92e poc(new sidenav/topnaav) 2016-01-14 22:26:41 +01:00
Torkel Ödegaard
88a132b878 Merge branch 'dynamic-directives' 2016-01-14 18:57:34 +01:00
Torkel Ödegaard
b5726a8d5a feat(plugins): completed upgrade of all built in panels 2016-01-14 18:57:02 +01:00
Torkel Ödegaard
1d9ad9be33 feat(plugins): upgraded singlestat to new plugin format 2016-01-14 17:20:50 +01:00
Torkel Ödegaard
c4ce3293a2 feat(plugins): now solved all cases of loading plugin directives, now just have to upgrade all panels and data sources 2016-01-14 14:37:04 +01:00
Torkel Ödegaard
dbafc8c9db feat(plugins): work on plugin directive loading 2016-01-14 13:21:05 +01:00
Torkel Ödegaard
6c6c3a5081 feat(plugins): more work on how plugins expose directives 2016-01-14 12:35:31 +01:00
Torkel Ödegaard
77c362af8d fix(sidemenu): added missing login link 2016-01-13 15:48:12 +01:00
Torkel Ödegaard
e5b3f27a30 Merge branch 'apps' 2016-01-12 15:41:15 +01:00
Carl Bergquist
f7fecdc6de Merge pull request #3655 from grafana/playlist
Persistable playlists

closes #515
closes #1137
2016-01-12 15:20:43 +01:00
Torkel Ödegaard
2fe58461d5 feat(apps): minor fix for images 2016-01-11 22:51:40 +01:00
Torkel Ödegaard
e081a5c5a0 feat(apps): worked on pinning apps 2016-01-11 18:03:08 +01:00
Torkel Ödegaard
60e7c6d150 Merge branch 'master' into apps
Conflicts:
	public/app/partials/sidemenu.html
2016-01-08 18:10:53 +01:00
Torkel Ödegaard
a9aaa5ad73 Merge branch 'master' of github.com:grafana/grafana 2016-01-08 18:01:20 +01:00
Torkel Ödegaard
6c1fee736b feat(sidemenu): improved user dropdown and sidemenu, will be improved further, #3687 2016-01-08 17:58:46 +01:00