- 16 Sep 2021
- 2 Minutes to read
- Contributors
- Print
- PDF
Legacy Dashboard Migration
- Updated on 16 Sep 2021
- 2 Minutes to read
- Contributors
- Print
- PDF
Legacy dashboards (e.g. those built prior to the introduction of capture data in early 2020) need to be migrated to the dictionary driven dashboards in order to drop support for the legacy feature set, which hasn't received new feature work in a few years.
All object violation and repeat offenders dashboards WILL BE DROPPED
Object violation and repeat offenders are being patched into the aggregate widget
Dashboard migration
General migration notes
- Migration creates new dashboard models but doesn't persist or overwrite the legacy models. The new dashboard models are only persisted once a user authors the dashboard and saves
- Ignore any dashboards that were already migrated and saved
- Legacy dashboards didn't have sections, so all cards migrate into the default section
Global attributes
Legacy dashboards have the following persisted features that require migration (all other features are transient):
- Category and name (global) - Migrate 1:1
- Threshold profile (global) - The selected threshold profile will be migrated into individual cards/widgets (local) that consumed a threshold profile (e.g. events)
- Metadata filters (global) - Migrate 1:1 into dimension filters
- Sharing settings (global) - Migrate 1:1
- Cards (see following)
Cards
We've identified 8 different types of cards (legacy cards represent a single widget)
- Timeseries (measure)
- TopN/Table (measure)
- Timeseries (events)
- TopN/Table (events)
- Pie (events)
- Timeseries (bins)
- TopN/Table (bins)
- Pie (bins)
To support this migration we've added two new features in the new dashboards
Timeseries (bins/threshold profiles)
Sample migrated timeseries with threshold profile events/bins: before (left), after (right)
Table (bins/threshold profiles)
Sample migrated table with buckets/bins: before (left), after (right)
Card migration
The general approach to migration is
- Migrate name (1:1)
- Migrate grid position (the grid system changed so we model x, y positioning now)
- Migrate card filters into dimension filters (1:1)
- Migrate metric models with options according to the widget type/buckets/events
- Migrate any widget specific parameters (e.g. limit, sort order)
Grid migration
Legacy grids used Muuri, which runs a grid packing system so that items consume a width/height and numeric position (e.g. 0, 1, 2). Items are laid out by position and wrap to the next row when they run out of columns for the next card's width.
To migrate we need to order the cards by position and then use the width of the card along with the current x position within the grid to determine when to shift to the next row. When we shift to the next row we use the y position for the tallest card in the previous row and add title spacing (all legacy cards have titles) to make the next row line up correctly.
Legacy cards can either specify explicit rows or a use a default based on the widget, the Muuri grid used 100px units while the Gridstack grid currently uses 16px units, so we're scaling height units by ~6.
Widget specific considerations
Pie widget
The legacy pie widget supported multiple metric directions with a dropdown to toggle between them. The aggregate widget has no equivalent, so in these cases we split the legacy card into a widget per metric/direction and show all widgets within the prior card grid dimensions, dividing the space equally amongst the widgets.
© 2024 Cisco and/or its affiliates. All rights reserved.
For more information about trademarks, please visit: Cisco trademarks
For more information about legal terms, please visit: Cisco legal terms
For legal information about Accedian Skylight products, please visit: Accedian legal terms and tradmarks