# Landing Page and Dashboards

When you sign in to OperationsCommander initially, you are presented with a landing page. You can navigate back to that page anytime by clicking the OPSCOM logo. You can also find your Dashboards and system Setup information on this page.

**OperationsCommander works hard to maintain an up to date product wiki! If you have any questions or if you feel something is missing,** [**post about it in the community.**](https://community.ops-com.com/c/product-support/6)

# Using the OPSCOM-ARC System Dashboard & Widgets

<p class="callout info">The System Dashboard is a fully customizable, widget-based analytics interface built directly into the administrative portal. Its primary purpose is to allow administrators to visualize organizational data, track key operational metrics, and create personalized reporting views using a drag-and-drop grid. This article is intended for OPSCOM administrators responsible for monitoring system analytics and managing operational data.</p>

## Setup and Configuration

This feature is a core administrative tool used to display graphical and tabular representations of your operational data.

**Admin Side:** Administrators must have the appropriate system role permissions enabled to view, edit, or set default dashboards. Access to specific data within the widgets is automatically restricted based on the administrator's existing system permissions.

## Using this Feature

Administrators can use the following instructions to create custom dashboards, manage layouts, and configure individual data widgets.

<p class="callout info">There are two distinct dashboard types. The **General Dashboard** is the main operations dashboard accessible by clicking the OPSCOM logo, surfacing organization-wide data. The **Admin Dashboard** is shown when viewing a specific admin's profile page and automatically filters data to that specific user.</p>

### Creating a Dashboard

1. Click the **+ Create Dashboard** button on the Dashboard homepage.
2. Enter a descriptive title in the **Name** field.
3. Select **Private** (only you can see it) or **Visible** (any admin with browse permissions can view it) from the visibility options.
4. Click the **Create** button to immediately open the new workspace.

### Editing a Dashboard Layout

1. Toggle the **Edit Mode** switch located in the toolbar.
2. Drag widgets by their header to reposition them on the grid.
3. Drag the bottom-right corner of any widget to resize it.
4. Click the **Save Layout** button in the toolbar to persist the grid positions.

### Adding and Configuring Widgets

1. Toggle the **Edit Mode** switch in the toolbar.
2. Click the **+ Add Widget** button to open the widget gallery.
3. Click a specific widget card to add it to your grid.
4. Click the **Settings** icon on the new widget header to open the configuration modal.
5. Select the appropriate metrics from the **Data Source** drop-down menu.
6. Configure the specific Display Settings and Filter Settings for your required view.
7. Click the **Save** button to apply the configuration and fetch the data.

## Available Widget Types

<table data-path-to-node="18" id="bkmrk-widget-type-descript"><thead><tr><td>**Widget Type**</td><td>**Description**</td></tr></thead><tbody><tr><td><span data-path-to-node="18,1,0,0">**Graph**</span></td><td><span data-path-to-node="18,1,1,0">Displays data as an interactive chart. Supports Bar, Stacked Bar, Line, Pie, and Doughnut styles.</span></td></tr><tr><td><span data-path-to-node="18,2,0,0">**Filterable Graph**</span></td><td><span data-path-to-node="18,2,1,0">Identical to the Graph widget but includes an inline filter drop-down displayed directly on the widget header for real-time data slicing.</span></td></tr><tr><td><span data-path-to-node="18,3,0,0">**List**</span></td><td><span data-path-to-node="18,3,1,0">Displays data as a sortable, paginated data table. Ideal for raw record-level views (e.g., individual violations or LPR reads).</span></td></tr><tr><td><span data-path-to-node="18,4,0,0">**Map**</span></td><td><span data-path-to-node="18,4,1,0">Displays geocoded records as pins on an interactive map. Supports pin clustering, color-coding by age, and drawing patrol paths.</span></td></tr><tr><td><span data-path-to-node="18,5,0,0">**WYSIWYG**</span></td><td><span data-path-to-node="18,5,1,0">A free-form rich-text content panel used for notes, announcements, or instructions embedded directly in the dashboard.</span></td></tr><tr><td><span data-path-to-node="18,6,0,0">**Admin Info**</span></td><td><span data-path-to-node="18,6,1,0">A read-only profile summary card displaying the name, role, and contact details of the admin currently being viewed.</span></td></tr><tr><td><span data-path-to-node="18,7,0,0">**Incident Association**</span></td><td><span data-path-to-node="18,7,1,0">Displays incident association data relevant to the specific dashboard context.</span></td></tr></tbody></table>

### Available Data Sources

<table data-path-to-node="20" id="bkmrk-data-source-compatib"><thead><tr><td>**Data Source**</td><td>**Compatible Widgets**</td><td>**Common Display and Filter Settings**</td></tr></thead><tbody><tr><td><span data-path-to-node="20,1,0,0">**Violation Stats**</span></td><td><span data-path-to-node="20,1,1,0">Graph, Filterable Graph, List, Map</span></td><td><span data-path-to-node="20,1,2,0">Filter by payment status, payable only, geocoded only, or active writers. Group by time, plate, location, writer, or category.</span></td></tr><tr><td><span data-path-to-node="20,2,0,0">**Permit Stats**</span></td><td><span data-path-to-node="20,2,1,0">Graph, List</span></td><td><span data-path-to-node="20,2,2,0">Filter by active only status, permit type, specific lots, or lot zones. Group by permit type, lot, or user type. Measure by count or revenue.</span></td></tr><tr><td><span data-path-to-node="20,3,0,0">**LPR Stats**</span></td><td><span data-path-to-node="20,3,1,0">Graph, Filterable Graph, List, Map</span></td><td><span data-path-to-node="20,3,2,0">Filter by permit type or camera classification (Entry, Exit, Monitor, Patrol). Group by camera, device type, or entry/exit type.</span>

</td></tr><tr><td><span data-path-to-node="20,3,0,0">**Permit Activity (Beta)**</span></td><td><span data-path-to-node="20,3,1,0">Graph</span></td><td><span data-path-to-node="20,3,2,0">Tracks login, reservation, and payment traffic over short time windows. Filter by Time Period (Last 4/8 Hours, Last Day) and Bucket Size (5 to 60 mins). Supports Auto Refresh.</span>

</td></tr></tbody></table>

### Dashboard Permissions Reference

<table data-path-to-node="22" id="bkmrk-permission-operation"><thead><tr><td>**Permission**</td><td>**Operational Effect**</td></tr></thead><tbody><tr><td><span data-path-to-node="22,1,0,0">**dashboard\_browse**</span></td><td><span data-path-to-node="22,1,1,0">Allows the administrator to view dashboards marked as Visible.</span></td></tr><tr><td><span data-path-to-node="22,2,0,0">**dashboard\_edit\_any**</span></td><td><span data-path-to-node="22,2,1,0">Allows the administrator to edit any dashboard regardless of ownership.</span></td></tr><tr><td><span data-path-to-node="22,3,0,0">**dashboard\_set\_org\_default**</span></td><td><span data-path-to-node="22,3,1,0">Allows the administrator to promote a specific dashboard to the organization-wide default.</span></td></tr></tbody></table>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Utilize the Filterable Graph for LPR Camera data:** **Set the Filter Dimension to Camera to get a per-camera drop-down directly on the widget.** This allows you to quickly filter views without needing to open the backend widget settings.</span>
- <span style="color: rgb(22, 145, 121);">**Star your most-used dashboard:** **Mark your primary dashboard as your personal default.** Clicking the star icon ensures it loads automatically as your landing page when you navigate to the portal.</span>
- <span style="color: rgb(22, 145, 121);">**Use effective graph combinations:** **Use the Group by Entity setting combined with a Stacked Bar chart.** This is the most readable combination for comparing multiple cameras, lots, or writers side by side.</span>
- <span style="color: rgb(22, 145, 121);">**Create annual progress charts:** **Combine the Year to Date time period with the Group by Month setting.** This creates a clean, automated year-progress chart that resets automatically each January.</span>
- <span style="color: rgb(22, 145, 121);">**Optimize Map widgets:** **Configure Geo widgets with the Last 4 to 8 Hours time range and enable the Cluster Pins setting.** This prevents map clutter and improves performance for busy patrol routes.</span>
- <span style="color: rgb(22, 145, 121);">**Combine List and Graph widgets:** **Place a List widget alongside a Graph widget on the same dashboard using the exact same data source and filter settings.** This provides administrators with both a high-level visual chart and a raw-record drill-down on a single screen.  
    </span>
- <span style="color: rgb(22, 145, 121);">**Monitor High-Volume Sales:** Add a **Permit Activity** graph widget during major permit launches to monitor system load. Look for large gaps between *Logins* and *Unique Users* to spot repeat retry attempts, or high *Reservations* relative to *Paid* counts to spot potential payment gateway bottlenecks.  
    </span>
- <span style="color: rgb(22, 145, 121);">**Perform Historical Audits with Point in Time:** Use the **Point in Time** anchor in the top dashboard toolbar to freeze dashboard metrics during past high-traffic incidents or specific reporting windows without disrupting live data for other team members.</span>

# Edit the Admin Landing Page Messages

<p class="callout info">The Admin Dashboard landing page message feature allows organizations to display important, up-to-date information directly to their staff upon logging into the system. Its primary purpose is to centralize internal communications such as system updates, upcoming deadlines, or schedule changes. This article is intended for OPS-COM administrators responsible for managing internal announcements and system content.</p>

## Setup and Configuration

This feature requires specific role permissions to access the content and design configuration menus.

**Admin Side:** Administrators must have the **Manage System Messages** permission enabled on their user role.

1. Hover over **System Configuration**, click **Admin Management**, then **Manage Roles**.
2. Click the **Permissions** button next to the role you want to modify.
3. Click the **System Content** tab.
4. Enable the **Manage System Messages** checkbox.
5. Click the **Save Permissions** button.

## Using this Feature

Administrators can use the following instructions to seamlessly access and modify the content displayed on the main admin dashboard.

### Editing the Message Content

1. Hover over **System Configuration**, click **Content &amp; Designs**, then **Pages and Content Blocks**.
2. Click the **Messages** tab.
3. Click the **Edit** button next to the **Admin Dashboard** item.
4. Enter your desired content using the standard WYSIWYG editor.
5. Click the **Save Messaging** button to immediately publish your changes to the dashboard.

<p class="callout info">The WYSIWYG editor displays by default for quick text entry. If you prefer to construct your message using HTML, click the **Tools** drop-down menu and choose **Source Code**.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Share relevant information:** **Customize the dashboard to display important and up-to-date information relevant to your staff.** Highlighting recent system updates, upcoming enforcement deadlines, or internal announcements ensures maximum visibility across your team.</span>
- <span style="color: rgb(22, 145, 121);">**Keep messaging concise:** **Keep messages clear and concise.** The dashboard serves as a quick reference point, so avoid overly long or complex text blocks that busy administrators might easily skip over.</span>
- <span style="color: rgb(22, 145, 121);">**Leverage visual elements:** **Leverage the WYSIWYG editor to incorporate basic formatting, images, or links.** Breaking up text with bullet points or visual elements makes your internal messages much more engaging and readable.</span>
- <span style="color: rgb(22, 145, 121);">**Establish a schedule for regular updates:** **Periodically review and update your Admin Dashboard message.** Stale information trains staff to ignore the landing page; ensure the content remains current, accurate, and valuable to your operations.</span>

# Point in Time Dashboard Control

<p class="callout info">The **Point in Time** control allows administrators to freeze an entire dashboard view to display historical data as it existed at a specific past moment. It helps teams investigate past incidents, evaluate high-volume permit launches, and generate historical reports without altering live operational data. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration  


**Point in Time** is a built-in feature available on all customizable dashboards. Access is tied to standard dashboard viewing permissions (`dashboard_browse`). No additional system setup or backend configuration is required.

## Using Point in Time   


Administrators can use this tool to quickly toggle between live system data and anchored historical snapshots.

### Freezing a Dashboard to a Past Moment

1. Open the dashboard you'd like a historical view of.
2. In the top toolbar (next to the dashboard title), click the **Point in Time icon** (⟲).
3. In the **Point in Time** modal, click the **Select Date and Time** field to pick your target date and time.
4. Click **Save**.

The dashboard will reload every widget against that specific moment. The ⟲ icon will turn **amber** to indicate an anchored state, and hovering over it displays `Viewing as of: <date and time>`.

<div class="n-card-content" id="bkmrk-returning-to-live-da" role="none"><div class="n-spin-container" data-v-813e0d22=""><div class="n-spin-content"><form class="n-form" data-v-813e0d22="">### Returning to Live Data

<div class="n-tabs n-tabs--line-type n-tabs--medium-size n-tabs--top" data-v-813e0d22=""><div class="n-tabs-pane-wrapper"><div class="n-tab-pane" data-v-813e0d22=""><div class="n-form-item n-form-item--medium-size n-form-item--left-labelled" data-v-813e0d22=""><div class="n-form-item-blank"><div class="n-select" data-v-813e0d22=""><div class="n-base-selection"><div class="n-base-selection__state-border">1. Click the amber **Point in Time icon** (⟲) in the top toolbar.
2. Clear the date and time field (or click **Go Live**) and click **Save.**

</div></div></div></div></div></div></div></div>## How Widgets Behave When Anchored

When Point in Time is active, dashboard widgets automatically adapt their calculations:

- **Relative Windows:** Time-based widgets (e.g., Last 8 Hours, Last 30 Days) count back from the selected timestamp instead of the current clock time.
- **Active Snapshots:** Status-based metrics (e.g., Active Permits) display records that were active at that exact historical moment.
- **Auto-Refresh:** Automatic data polling automatically pauses across all widgets while anchored.
- **Static Content:** WYSIWYG rich-text panels and static notes remain unaffected.

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Perform Historical Audits with Point in Time:** Use the **Point in Time** anchor in the top dashboard toolbar to freeze dashboard metrics during past high-traffic incidents or specific reporting windows without disrupting live data for other team members.</span>
- **Local Browser View:** Point in Time anchors only apply to your active browser tab. Anchoring a dashboard will not alter live dashboards for other logged-in administrators or affect saved default views.
- **Incident Investigations:** Freeze the dashboard to the exact time of an incident or high-traffic launch to evaluate system performance and export matching raw CSV data from individual widgets.
- **Automatic Reset:** Navigating away from the dashboard page or refreshing your browser tab resets the view back to live data.

<div class="n-tabs n-tabs--line-type n-tabs--medium-size n-tabs--top" data-v-813e0d22=""><div class="n-tabs-pane-wrapper"><div class="n-tab-pane" data-v-813e0d22=""><div class="n-form-item n-form-item--medium-size n-form-item--left-labelled" data-v-813e0d22=""><div class="n-form-item-feedback-wrapper">  
</div></div></div></div></div></form></div></div></div><div class="n-card__footer" id="bkmrk-" role="none"><div class="n-space" data-v-813e0d22="" role="none"><div role="none"><button class="n-button n-button--default-type n-button--medium-type" data-v-813e0d22="" tabindex="0" type="button"></button>  
</div><div role="none"><button class="n-button n-button--primary-type n-button--medium-type" data-v-813e0d22="" tabindex="0" type="button"></button>  
</div></div></div><div class="v-binder-follower-container" id="bkmrk--1"><div class="v-binder-follower-content" v-placement="bottom-start">  
</div></div><div class="v-binder-follower-container" id="bkmrk--2"><div class="v-binder-follower-content" v-placement="right">  
</div></div><div class="v-binder-follower-container" id="bkmrk--3"><div class="v-binder-follower-content" v-placement="left">  
</div></div><div class="v-binder-follower-container" id="bkmrk--4"></div><div class="v-binder-follower-container" id="bkmrk--5"><div class="v-binder-follower-content" v-placement="left"><div class="n-popover n-popover-shared n-tooltip n-popover-shared--show-arrow"><div class="n-popover__content">  
</div></div></div></div>

# Geo Location Dashboard Widget

<p class="callout info">The **Geo Location Widget** provides an interactive Google Map view on the dashboard to plot geocoded operational data. Its primary purpose is to help administrators visually monitor real-time spatial trends—such as active violation locations and License Plate Recognition (LPR) reads—across parking facilities. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The Geo Location widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Data Sources:** The map supports visual plotting for two underlying data sources:
    
    
    - **Violation Stats:** Displays spatial distribution of issued parking tickets.
    - **LPR Stats:** Plots License Plate Recognition camera reads and scan locations.

## Using this Feature

Administrators can use the following instructions to add and configure a Geo Location widget on any customizable dashboard workspace.

### Adding the Geo Location Widget

1. Open your target dashboard and toggle the **Edit Mode** switch in the top toolbar to **On**.
2. Click the **+ Add Widget** button to open the widget selection gallery.
3. Select **Geo Location Widget** from the available widget options.

### Configuring Map Data and Filters

1. Locate the newly placed **Geo Location Widget** tile on your grid and click the gear icon (**Settings**) in its header bar.
2. Enter a custom title in the **Widget Name** field.
3. Select a **Data Source** from the drop-down menu (**Violation Stats** or **LPR Stats**).
4. Select the **Display Settings** tab to configure map visualization parameters (such as cluster displays or default time ranges).
5. Select the **Filter Settings** tab to refine the underlying data:
    
    
    - **Permit Type:** Filter displayed map points by specific permit classifications or leave set to **All**.
    - **Camera Type:** Specify entry, exit, monitor, or patrol camera types (available when *LPR Stats* is selected).
    - **Bounding Coordinates:** Enter numerical thresholds into **Min Latitude**, **Max Latitude**, **Min Longitude**, and **Max Longitude** to restrict the rendered map area to a specific geographic bounding box.
6. Click **Save** to apply the configuration and render the map data.

## Available Controls and Display Modes

### Map Layer Controls (On Map)

- **Map View:** Standard graphical street map mode provided by Google Maps, ideal for identifying lot boundaries and street layouts.
- **Satellite View:** High-resolution aerial satellite imagery, useful for pinpointing precise vehicle or enforcement locations within open lots.
- **Point Clustering:** Groups dense clusters of nearby location points into summarized numerical circles (e.g., orange numeric markers) to keep the map readable and optimize performance.

### Widget Header Toolbar

- **Refresh (circular arrow icon):** Manually updates the widget data to query and load the latest geocoded records.
- **Download Raw CSV (green tray/arrow icon):** Exports the raw underlying location data and coordinates currently plotted on the map into a downloadable .csv spreadsheet file.
- **Settings (gear icon):** Opens the configuration modal to edit the widget title, data source, display settings, and filters.
- **Duplicate (double box icon):** Creates an exact clone of the widget tile with matching settings on your active dashboard grid.
- **Delete (trash can icon):** Removes the widget tile from the active dashboard.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Restrict Bounding Box Coordinates:** For large organizations or multi-campus deployments, set **Latitude** and **Longitude** minimums and maximums under **Filter Settings** to lock a specific map widget to a single sub-campus or facility.</span>
- <span style="color: rgb(22, 145, 121);">**Optimal Time Ranges:** Configure map data to load relative windows (such as *Last 4 to 8 Hours*) in **Display Settings**. This avoids cluttering the map with stale historical data and maintains high rendering speed for enforcement monitoring.</span>
- <span style="color: rgb(22, 145, 121);">**Combine with List Widgets:** Place a Geo Location map widget adjacent to a **List Widget** configured with the exact same data source (*Violation Stats* or *LPR Stats*). This setup gives staff simultaneous access to spatial pin visualizers alongside tabular record drill-downs.</span>

# Graph Dashboard Widget

<p class="callout info">The **Graph Widget** presents system data in a dynamic visual chart format powered by Chart.js. Its primary purpose is to help administrators analyze operational trends—such as ticket issuance volume, active permit distribution, LPR scan activity, and dispatch logs—over time or across specific operational categories. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The Graph widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Data Sources:** Supports aggregated data from **Violation Stats**, **Permit Stats (Beta)**, **LPR Stats**, **Active Permits (Beta)**, **Permit Activity (Beta)**, **Dispatch Stats (Beta)**, and **Incident Stats (Beta)**.

## Using this Feature

Administrators can use the following instructions to add and configure a Graph widget on any customizable dashboard workspace.

### Adding and Configuring the Graph Widget

1. Open your target dashboard, toggle **Edit Mode** to **On**, and click **+ Add Widget**.
2. Select **Graph Widget** from the gallery.
3. Click the gear icon (**Settings**) in the widget header to open configuration settings.
4. Select your **Widget Name**, **Data Source**, and preferred **Chart Type** (*Bar*, *Stacked Bar*, *Line*, *Pie*, or *Doughnut*).

### Display and Filter Options

#### Display Settings Tab

Display options adjust automatically based on your selected **Data Source**:

- **Standard Stats (Violation, Permit, Dispatch, Incident, LPR):** Customize your date range (**Time Period**), time intervals (**Time Grouping**), data grouping (**Group By** attributes like lot, camera, or permit type), metric (**Count** vs. **Revenue**), and sort order.
- **Active Permits (Beta):** Configure **Group By** and **Stack By** attributes (Lot, Lot Zone, or Permit Type) to structure stacked visual comparisons.
- **Permit Activity (Beta):** Define your relative **Time Period**, choose interval granularity via **Bucket Size**, and set the **Auto Refresh** rate.

#### Filter Settings Tab

Filters adapt dynamically based on your selected **Data Source**:

- **Violation Stats:** Refine by **Payment Status** (*Unpaid*, *Overdue*, *Paid*, *Collections*) or toggle options to isolate **Payable Only** (excludes warnings/spoiled tickets), **Geo Coordinates Only**, or **Active Writer** tickets.
- **Permit Stats (Beta):** Toggle **Active** permits only, or filter by specific **Permit Type**, **Lots**, **Lot Group**, or **Lot Zone**.
- **Dispatch Stats (Beta):** Toggle **Parent Logs Only** to exclude sub-logs, or filter by **Log Status**.

Click **Save** to apply your configuration and render the graph.

## Available Controls and Display Modes

### Widget Header Toolbar

- **Refresh (circular arrow icon):** Updates the graph to fetch and display the latest backend data.
- **Download Raw CSV (green tray/arrow icon):** Exports the raw tabular data points into a `.csv` file.
- **Settings (gear icon):** Opens the configuration modal to modify data sources, rules, and filters.
- **Duplicate (double box icon):** Clones the widget tile with matching settings onto your active dashboard.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Chart Type Selection:** Use **Bar** or **Stacked Bar** charts for discrete categories/lots, **Line** charts for time trends, and **Pie/Doughnut** charts for relative percentage distributions across small datasets.</span>
- <span style="color: rgb(22, 145, 121);">**Point in Time Compatibility:** When a global Point in Time anchor is active on the dashboard, relative time windows evaluate backward from that timestamp, and auto-refresh pauses automatically.</span>
- <span style="color: rgb(22, 145, 121);">**Combine with List Widgets:** Place a Graph widget side-by-side with a **List Widget** configured with the exact same data source and filters to provide a high-level visual chart alongside a granular record drill-down on a single screen.</span>

# Filterable Graph Dashboard Widget

<p class="callout info">The **Filterable Graph Widget** displays operational data in a dynamic visual chart format while embedding an interactive runtime filter directly in the widget header. Its primary purpose is to allow administrators to slice and filter chart data live on the dashboard without entering edit mode. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The Filterable Graph widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Supported Data Sources:**
    
    
    - **LPR Stats:** License Plate Recognition scan metrics and camera activity.
    - **Dispatch Stats (Beta):** Entry counts, log statuses, and call types.
    - **Incident Stats (Beta):** Reported incident classifications and task metrics.

## Using this Feature

Administrators can use the following instructions to add and configure a Filterable Graph widget on any customizable dashboard workspace.

### Adding and Configuring the Widget

1. Open your target dashboard, toggle **Edit Mode** to **On**, and click **+ Add Widget**.
2. Select **Filterable Graph Widget** from the gallery.
3. Click the gear icon (**Settings**) in the widget header to open **Filtered Graph Settings**.
4. Select your **Widget Name**, **Data Source**, and preferred **Chart Type.**

### Setting Up the Runtime Filter

#### Display Settings Tab

- **Filter Dimension:** Select the specific dataset attribute you want to expose as a live header drop-down.
- **Standard Display Controls:** Configure date range (**Time Period**), time aggregation (**Time Grouping**), data categorization (**Group By**), sort order, and **Auto Refresh**.

#### Filter Settings Tab

Filters adapt dynamically based on your selected **Data Source**:

- **LPR Stats:** Filter default views by **Permit Type** or **Camera Type**.
- **Dispatch Stats (Beta):** Toggle **Parent Logs Only** to exclude sub-logs, or filter by **Log Status**.
- **Incident Stats (Beta):** Filter entries by **Status** or category.

Click **Save** to apply your configuration and render the graph.

## Runtime Filtering &amp; Header Controls

- **Dynamic Header Filter:** An interactive drop-down menu rendered directly in the tile header, allowing viewers to slice chart data live without changing backend settings.
- **Refresh (circular arrow icon):** Updates the chart to fetch and display the latest backend data.
- **Download Raw CSV (green tray/arrow icon):** Exports the underlying tabular data points into a downloadable .csv file.
- **Settings (gear icon):** Opens configuration settings to modify data sources, rules, or default filters.
- **Duplicate (double box icon):** Clones the widget tile onto your active dashboard.
- **Delete (trash can icon):** Removes the widget tile from the dashboard.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Command Center Use:** Use Filterable Graphs on operational or management dashboards where staff need to filter data quickly (such as switching between different LPR camera locations or dispatch log statuses) without opening widget settings.</span>
- <span style="color: rgb(22, 145, 121);">**Combine with List Widgets:** Place alongside a **List Widget** configured with matching data sources to give administrators simultaneous access to interactive visual charts and granular record lists.</span>

# List Dashboard Widget

<p class="callout info">The **List Widget** displays backend operational data in a clean, sortable table and list format. Its primary purpose is to provide administrators with a detailed, record-level drill-down—such as active permit inventories, raw violation logs, LPR read records, and dispatch calls—directly on the dashboard workspace. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The List widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Data Sources:** Supports tabular data rendering from **Violation Stats**, **Permit Stats (Beta)**, **LPR Stats**, **Active Permits (Beta)**, **Dispatch Stats (Beta)**, and **Incident Stats (Beta)**.

## Using this Feature

Administrators can use the following instructions to add and configure a List widget on any customizable dashboard workspace.

### Adding and Configuring the Widget

1. Open your target dashboard, toggle **Edit Mode** to **On**, and click **+ Add Widget**.
2. Select **List Widget** from the gallery.
3. Click the gear icon (**Settings**) in the widget header bar to open **List Settings**.
4. Enter a custom **Widget Name** and select your target **Data Source**.

### Display and Filter Options

#### Display Settings Tab

Display controls adapt based on your chosen **Data Source**:

- **Standard Stats (Violation, Permit, LPR, Dispatch, Incident):** Configure date ranges (**Time Period**), interval grouping (**Time Grouping**), data categorization (**Group By**), visible table fields (**Columns**), sort direction (**Sort Order**), and **Auto Refresh** rates.
- **Active Permits (Beta):** Select specific table fields under **Columns**, set the sort direction (**Sort Order)**, and configure **Auto Refresh**.

#### Filter Settings Tab

Filters adapt dynamically based on your selected **Data Source**:

- **Violation Stats:** Refine by **Payment Status** or toggle options to isolate **Payable Only** (excludes warnings/spoiled tickets), **Geo Coordinates Only**, or **Active Writer** tickets.
- **Permit Stats (Beta):** Toggle **Active** permits only, or filter by specific **Permit Type**, **Lots**, **Lot Group**, or **Lot Zone**.
- **LPR Stats:** Refine list entries by **Permit Type** or **Camera Type**.
- **Active Permits (Beta):** Filter live permit inventories by **Permit Type**, **Lots**, or **Lot Zone**.
- **Dispatch Stats (Beta):** Toggle **Parent Logs Only** to exclude sub-logs, or filter entries by **Log Status**.
- **Incident Stats (Beta):** Filter list entries by **Status** or **Category**.

Click **Save** to apply your configuration and render the list table.

## Available Controls and Interactive Features

### Table Features &amp; Drill-Downs

- **Clickable Record Links:** Category values and locations render as interactive link buttons (e.g., location tags ending with `>`) allowing staff to drill directly down into underlying records.
- **Sortable Column Headers:** Click any column header arrow to dynamically re-sort table rows in ascending or descending order.
- **Page Navigation:** Use the previous and next arrow buttons and page numbers at the bottom of the widget to flip through long lists of data.

### Widget Header Toolbar

- **Refresh:** Updates the table to fetch and display the latest backend data.
- **Download CSV:** Exports the formatted list layout.
- **Download Raw CSV:** Exports the raw underlying tabular data into a downloadable .csv file.
- **Settings:** Opens the configuration modal to modify data sources, visible columns, and filters.
- **Duplicate:** Clones the list widget tile with matching settings onto your active dashboard.
- **Delete:** Removes the list tile from the dashboard.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Combine with Visual Widgets:** Place a List widget adjacent to a **Graph Widget** or **Geo Location Widget** configured with the exact same data source and filter settings. This setup gives staff an instant visual overview alongside raw-record drill-downs on a single dashboard screen.</span>
- <span style="color: rgb(22, 145, 121);">**Column Selection:** Select only essential fields under **Columns** to ensure the table remains clean and readable without requiring excessive horizontal scrolling.</span>

# WYSIWYG Dashboard Widget

<p class="callout info">The **WYSIWYG Widget** displays custom, formatted text and media content on the dashboard workspace. Its primary purpose is to allow administrators to publish custom announcements, staff schedules, links, or operational instructions using a rich-text editor. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The WYSIWYG widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Content Source:** Pulls saved rich-text records created in the central **WYSIWYG Content** repository.

## Using this Feature

Administrators can use the following instructions to add and configure a WYSIWYG widget on any customizable dashboard workspace.

### Adding and Configuring the Widget

1. Open your target dashboard, toggle **Edit Mode** to **On**, and click **+ Add Widget**.
2. Select **WYSIWYG Widget** from the gallery.
3. Locate the newly placed tile on your grid and click the gear icon (**Settings**) in its header bar to open **WYSIWYG Settings**.
4. Enter a custom title in the **Widget Name** field.
5. Select a pre-configured content record from the **WYSIWYG Record** drop-down menu (e.g., *Admin Dashboard*, *Contact Us*).
6. Click **Save** to render the custom text block on your dashboard grid.

### Managing WYSIWYG Content Records

To create or edit the content available in the **WYSIWYG Record** drop-down menu:

1. Navigate to **System Configuration** &gt; **Dashboard** &gt; **WYSIWYG Content**.
2. Click **+ Create** to open the **New Record** editor (or click the edit pencil icon next to an existing record).
3. Enter a title in the **Title** field (up to 255 characters).
4. Build your layout using the rich-text editor toolbar:
    
    
    - **Text Formatting:** Standard bold, italic, underline, strikethrough, and heading tags (**H1**, **H2**, **H3**).
    - **Lists &amp; Quotes:** Bullet lists, numbered lists, blockquotes, and alignment options.
    - **Tables:** Insert, merge, split, or remove table rows and columns (ideal for staff schedules or duty rosters).
    - **Links &amp; Media:** Hyperlinks, horizontal dividers, and HTML code view (`</>`).
5. Click **Create** to store the record.

## Available Controls and Header Toolbar

- **Refresh:** Updates the widget tile to load the latest saved content changes from the central record.
- **Settings:** Opens the **WYSIWYG Settings** modal to rename the widget tile or switch to a different linked record.
- **Duplicate:** Clones the widget tile with matching settings onto your active dashboard.
- **Delete:** Removes the widget tile from the dashboard layout.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Central Content Management:** Updating a single WYSIWYG record under **System Configuration &gt; Dashboard &gt; WYSIWYG Content** automatically updates every widget tile referencing that record across all dashboards simultaneously.</span>
- <span style="color: rgb(22, 145, 121);">**Operational Announcements:** Use WYSIWYG tiles at the top of shared admin dashboards for important alerts, policy updates, shift schedules, or emergency contact directories.</span>

# Incident Association Dashboard Widget

<p class="callout info">The **Incident Association Widget** displays real-time incident and task tallies assigned to or associated with the logged-in user. Its primary purpose is to give administrators an immediate operational summary of their active workload, assigned tasks, group responsibilities, and associated incident reports directly on their dashboard. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The Incident Association widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Data Source:** Automatically queries the logged-in administrator's account profile to pull active incident management records, individual task assignments, and group task queues.

## Using this Feature

Administrators can use the following instructions to add and view the Incident Association widget on any customizable dashboard workspace.

### Adding the Widget

1. Open your target dashboard, toggle **Edit Mode** to **On**, and click **+ Add Widget**.
2. Select **Incident Association Widget** from the gallery.
3. The tile automatically renders summary metrics and active records tied to your administrator profile.

## Summary Metrics &amp; Record Table

### Header Metrics Summary

The top bar of the tile displays three real-time counters:

- **Incidents:** Total count of active incidents linked to the logged-in administrator (e.g., created by or assigned to the admin).
- **My Tasks:** Total count of individual tasks directly assigned to the logged-in user across all active incidents.
- **Group Tasks:** Total count of unassigned or shared tasks assigned to the administrator's user group or department queue.

### Incident Detail Table

When active records exist, the widget populates a structured data table featuring:

- **Incident Number:** Clickable blue button tag containing the unique incident number for quick navigation to the full incident report.
- **Report Date:** Timestamp indicating when the incident was logged.
- **Relation:** Visual badges identifying the administrator's connection to the incident.
- **Task Counters:** Numerical count columns breaking down specific **My Tasks** and **Group Tasks** remaining for each listed incident row.
- **Empty State:** Displays a "No records found" inbox icon when the administrator has no active incident associations or pending tasks.

## Available Controls and Header Toolbar

- **Refresh:** Manually queries the system to fetch and display the latest incident counts and task assignments.
- **Settings:** Opens configuration settings to rename the widget tile.
- **Duplicate:** Clones the widget tile onto your active dashboard grid.
- **Delete:** Removes the widget tile from the dashboard layout.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Personalized Dashboard Experience:** Because data in this widget dynamically resolves to the currently logged-in user, adding it to a shared or default organizational dashboard provides every administrator with their own personalized workload view automatically.</span>
- <span style="color: rgb(22, 145, 121);">**Daily Task Workflow:** Encourage dispatchers and security personnel to keep this widget on their primary landing dashboard so they can monitor new task assignments in real time throughout their shift.</span>