Dashboards created before the introduction of capture data in early 2020 (legacy dashboards) must be migrated to dictionary-driven dashboards. This migration is necessary because the legacy feature set is no longer being updated nor supported.
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 without modifying or overwriting the original legacy models. The new models only persist when a user authors and saves the dashboard.
-
Dashboards that have already been migrated and saved should be excluded from the migration process.
-
Since legacy dashboards did not include sections, all cards will 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
Eight different card types (legacy cards represent a single widget) have been identified.
- Timeseries (measure)
- TopN/Table (measure)
- Timeseries (events)
- TopN/Table (events)
- Pie (events)
- Timeseries (bins)
- TopN/Table (bins)
- Pie (bins)
To support this migration, we have introduced two new features in the new dashboards.
Timeseries (Bins/Threshold Profiles)
Example of a migrated timeseries with threshold profile events/bins: before migration (left), after migration (right):
Table (Bins/Threshold Profiles)
Example of a migrated table with buckets/bins: before migration (left), after migration (right):
Card Migration
The general approach to migration is:
-
Migrate the name (1:1 mapping).
-
Migrate grid position, now modeled as X and Y coordinates due to changes in the grid system.
-
Migrate card filters into dimension filters (1:1 mapping).
-
Migrate metric models with options based on widget type, buckets, and events.
-
Migrate any widget-specific parameters, such as limit or sort order.
Grid Migration
Legacy grids used Muuri, a grid packing system where each item is assigned a width, height, and a numeric position (e.g., 0, 1, 2). Items are arranged based on their position and wrap to the next row when they run out of columns for the next card's width.
To migrate, we must 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 may specify explicit row heights or use a default value based on the widget type. The Muuri grid system used 100px units, whereas the current Gridstack grid uses 16px units. As a result, we scale height units by approximately a factor of six (~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. In these cases, we split the legacy card into a widget per metric/direction and display all widgets within the prior card grid dimensions, dividing the space equally amongst the widgets.
© 2025 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 trademarks