.. _automate-dashboards:

Introduction to VOSS dashboards 
------------------------------------

.. _24.2-PB2|EKB-23670:
.. _25.2|EKB-24584:
.. _25.3|EKB-25719:
.. _25.4|VOSS-1490:
.. _25.4|VOSS-1490|EKB-26693:


.. tip:: 

   :ref:`use-action-search-to-navigate-automate`



Overview 
.........

Dashboards are customizable pages made up of widgets that provide quick access to frequently used tasks 
and data visualizations. They can serve as default landing pages or be added to user menus.


Widget types 
.............

Dashboards can include:

* **Counters**: Show numerical data 
* **Tables**: Display structured data 
* **Charts**: Visualize trends and metrics
* **Links**: Provide quick navigation to other pages
* **Text**: Add notes or instructions using Markdown or HTML. 

  .. note:: 

     Text widgets may also use dynamic content, allowing them to display data-driven information. 
     See :ref:`automate-dashboards-text`.




.. rubric:: Related topics

* :ref:`automate-dashboards-text`


Data filtering and sync behavior 
...................................

* Widget data values and counts are filtered based on the hierarchy level where the dashboard is viewed.
* Dashboard fields showing the item hierarchy (similar to "Located At") update only after a full 
  sync and not during real-time refreshes. For example, if users are added and moved to a site, any dashboards (at system or site level) 
  won't reflect the change until a full sync is run. Refer to :ref:`dashboard-sync`.

.. note:: 

   Dynamic text widgets follow the same data filtering and refresh behavior as other data-driven widget 
   types.


.. _standalone-reporter-resources:

Standalone reporter resources (time-series data)
....................................................

Some Insights reporter resources (``data/ReporterResource``) are configured as *standalone resources* (standalone_resource: true) 
and read from dedicated MongoDB collections. For example, Microsoft Teams Room Calendar 
(``device/msgraph/CalendarView``) and Webex Workspace Metrics (``device/spark/WorkspaceMetrics``) models 
represent frequently collected, time-series data that is *append-only* in the database (and therefore 
updates vs new rows in the database), for dashboards and calculated fields. The population of data for 
these resources is driven by the 
``sync-check`` schedule (typically once per day, configurable), which means the data won't appear 
immediately after it's collected. 

Syncs relevant to standalone resources: 

* ``insights-voss-sync``: Creates and updates the database tables 
* ``sync-check``: Populates the database


Configuring these models as standalone reporter resources enables: 

* Efficient ingestion of high-volume time-series data
* Faster dashboard performance (due to partitioning)
* Simpler sync logic (append-only)
* Cleaner separation between standard resources and collected metrics

This functionality is especially useful for:

* Meeting room calendar events
* Webex workspace utilization
* Any time-based telemetry

.. rubric:: Requirements

* Collecting data from ``device/msgraph/CalendarView`` requires a Microsoft tenant configured.
* Collecting data from ``device/spark/WorkspaceMetrics`` requires a Webex app configured.


.. rubric:: Related topics

* :ref:`intro-meeting-rooms-management`


Dashboard access 
.................

.. License modes and data sources
.. ''''''''''''''''''''''''''''''
.. 
.. The display of data by widgets on dashboards may depend on
.. a data source which is available only if a required
.. license mode is installed. This requirement 
.. also applies to default dashboards provided
.. with Automate.
.. 
.. * For details on product licensing, refer to the **Manage your Automate product license** topic.
.. * For details on the selection of a data source in a widget, refer to the **Dashboard Configuration** topic.
.. 
.. The list below shows widget data
.. sources and their required license modes:
.. 
.. * **Automate Analyzed**: "Automate Collaboration" license
.. * **Netflow**:  "Insights Netflow" license
.. * **Assurance**:  "Insights Collaboration Analytics" or "Insights Collaboration Assurance" license


API access
''''''''''

Dashboards can also be accessed via direct URLs: 

:: 
  
  /portal/#/admin/dashboard;name=<dashboard_name>

Use URL encoding for spaces, for example, ``/portal/#/admin/dashboard;name=Dashboard%20Call%20Groups``. This 
link format allows support for cross-launching from portals where the name of the dashboard is known.


Admin permissions 
....................

Admins with roles that have access profiles for creating and updating dashboards can design and add 
dashboards to menus. For details, refer to the *Dashboard permissions* section in *Access profiles*. 

By default, admins have permissions to modify their own menu layouts and dashboards. If the 
menu layout or dashboard is at a higher hierarchy, they can clone and then modify the menu layout 
or dashboard at their hierarchy. 


.. rubric:: Related topics 

* :ref:`access-profile-operations` (Dashboard permission groups)


.. _landing-page-conversion-to-dashboard:

Landing page conversion (v24.1 upgrade)
.........................................

.. _24.1|VOSS-1217:


When upgrading to Automate version v24.1: 

* **Landing pages** are automatically converted to dashboards. New ``data/Dashboard`` records are created 
  from ``data/LandingPage`` records. 
* **Welcome headers** become Markdown-formatted dashboard *Text* widgets, with with the header prefix as ``##`` 
  and the text prefixed with ``###``.
* **Sections** become dashboard *Links* widgets. 

  Where a landing page link setting had **Set default Model Type** enabled for a link, this setting is 
  also enabled in the dashboard *Links* widget for each corresponding link. Long lists of links may 
  result in a scrollbar showing on the widget. In this case, the number of links can be divided into 
  multiple widgets by modifying the converted dashboard.

* **Counters** are grouped into dashboard *Counter* widgets 

  Each widget will have up to three counters. The counters use VOSS models as their source. Converted 
  counters can be modified as required.
* **Charts** from landing pages are not converted but can be manually recreated. Refer to :ref:`automate-dashboards`.

  Examples are:

  * Cisco Headset Summary
  * Number Inventory Chart
  * Cisco UCCX Agent Stats Chart
  * Usage Growth Chart
  * Webex Teams License Chart

.. rubric:: Additional changes 

* Saved searches now appear on the user's **Account** page.
* Default and custom landing page names with ``LP`` suffix are renamed with ``Dashboard``. 

  For other custom landing pages (landing pages without this suffix) detected on an upgraded system  
  and converted, the original landing page names are retained as dashboards with the same name. 

* Conditions from landing page sections are applied to individual dashboard links using logical ``AND``.

  This describes instances where a condition is set on the landing page as well 
  as a condition at section level, where the converted *Links* dashboards provide both conditions 
  for each individual link, joined with a logical ``AND``. 

* A new database and resource model for its data has also been added: Insights reporter resources (``data/ReporterResource``).

  An additional resource model called ``data/CustomResourceModel`` has been added to allow for the custom creation
  of calculated fields for a reporter resource, which can then be selected for use when creating a widget based on the resource.
  For details, see: :ref:`dashboard-custom-reporter-resource-fields`.

Dashboards created from converted landing pages allow for the same functionality as
landing pages, but have an enhanced editing interface where, for example, a wide variety of chart 
widgets can be added to enrich the dashboards.

.. note:: 

   It is recommended that dashboard conversions be inspected and edited if needed. For more 
   details on dashboards, their maintenance and initial sync requirements after adding dashboard widgets, 
   refer to :ref:`automate-dashboards`.


.. rubric:: Related element updates 

During the conversion of landing pages to dashboards in an upgrade, the following related elements are 
also migrated: 

* **Roles** referencing landing pages are updated to dashboards.
* **Access Profiles** get new dashboard permissions to Insights reporter resources. Refer to 
  the *Dashboard Permissions* section in Access Profiles: :ref:`access-profile-operations`.
* **Menu Layouts**: Menu items containing landing pages as ``type`` are replaced with dashboard
  and the converted dashboard is matched and added. Any landing page ``display_as`` entries are
  converted to dashboard entries.
* **Configuration Templates** are updated to reference dashboards instead of landing pages.
* **Field Display Policies**: The ``groups`` and ``field_overrides`` roles containing 
  references to landing pages are updated to reference dashboards instead of landing pages.





