Dashboard Settings
Dashboard Settings
The Dashboard Settings page lets CoreAdmins configure how dashboards behave across the entire tenant. Access it at Configuration > Dashboard (/configuration/dashboard). Only users with the CoreAdmin role can view and modify these settings.
Settings are managed by the DashboardSettingsController and stored in the tenant_settings table with the category prefix dashboard. (for example, dashboard.auto_refresh_interval).
General tab
The General tab controls core dashboard behaviour that applies to all users in the tenant.
- Auto-refresh interval (auto_refresh_interval) — How often widget data refreshes automatically, in seconds. Accepts 0 to 3600. Default: 300 (5 minutes). Set to 0 to disable auto-refresh entirely
- Max widgets per dashboard (max_widgets_per_dashboard) — The maximum number of widgets any single dashboard can contain. Accepts 1 to 50. Default: 20. Prevents dashboards from becoming too heavy and degrading performance
- Default dashboard for new users (default_dashboard_for_new_users) — Select a template ID that will be automatically assigned to every new user when they first access the Dashboard. Leave blank to use the role-based default templates
Widgets tab
The Widgets tab controls which widget categories are available and how new widgets are sized by default.
Widget category toggles
Each toggle enables or disables an entire category of widgets across the tenant. When a category is disabled, those widgets are hidden from the Widget Library for all users. Existing widgets of that category on dashboards remain but display a “category disabled” notice.
- Enable financial widgets (enable_financial_widgets) — Default: true. Controls visibility of cash flow chart, profit and loss summary, payment collection rate, and revenue by category widgets
- Enable equipment widgets (enable_equipment_widgets) — Default: true. Controls visibility of equipment-related KPIs, top equipment lists, and equipment availability calendars
- Enable project widgets (enable_project_widgets) — Default: true. Controls visibility of project-related KPIs, recent projects lists, and project calendar widgets
- Enable crew widgets (enable_crew_widgets) — Default: true. Controls visibility of crew scheduling, hours tracking, and assignment widgets
Default widget size
The default_widget_size setting determines the initial column span when a new widget is added to a dashboard:
- Small — 4 columns (one-third of the 12-column grid)
- Medium — 6 columns (half width). This is the default
- Large — 12 columns (full width)
Users can always resize widgets after placing them. This setting only affects the initial size.
Sharing tab
The Sharing tab provides master toggles and limits for the dashboard sharing and subscription features.
- Allow dashboard sharing (allow_dashboard_sharing) — Boolean, default: true. When disabled, no users can share dashboards regardless of their role permissions. Existing shares remain but new shares cannot be created
- Allow email subscriptions (allow_subscriptions) — Boolean, default: true. When disabled, no users can create or receive email subscriptions for dashboards. Existing subscriptions pause until re-enabled
- Max subscriptions per dashboard (max_subscriptions_per_dashboard) — Integer, 1 to 100, default: 50. Caps the number of email subscriptions any single dashboard can have. Increase for dashboards that need wide distribution
Role Permissions tab
The Role Permissions tab controls which roles have access to specific dashboard features. Each setting accepts an array of role identifiers.
- Roles that can create dashboards (roles_can_create_dashboards) — Default: [core_admin, core_manager, project_manager]. Users with roles not in this list can view and interact with existing dashboards but cannot create new ones
- Roles that can share dashboards (roles_can_share_dashboards) — Default: [core_admin, core_manager]. Users with roles not in this list cannot share their dashboards with others
- Roles that can use forced dashboards (roles_can_use_forced_dashboards) — Default: [core_admin]. Controls who can create, manage, and revoke forced dashboard assignments. This is typically restricted to CoreAdmins only
How settings are saved
When you click Save, the controller validates all input and uses the ConfigurationService to persist each setting via bulkSetTenant(). Settings are stored as key-value pairs in the tenant_settings table. Each entry records who made the change and when, providing an audit trail. If the save operation reports zero updates despite changes being submitted, a warning is logged and an error message is displayed — contact support if this occurs.
Settings quick reference
The following table summarises every dashboard setting, its key, type, and default value:
- auto_refresh_interval — Integer (0–3600), default 300
- max_widgets_per_dashboard — Integer (1–50), default 20
- default_dashboard_for_new_users — String (template ID), default empty
- enable_financial_widgets — Boolean, default true
- enable_equipment_widgets — Boolean, default true
- enable_project_widgets — Boolean, default true
- enable_crew_widgets — Boolean, default true
- default_widget_size — String (small, medium, large), default medium
- allow_dashboard_sharing — Boolean, default true
- allow_subscriptions — Boolean, default true
- max_subscriptions_per_dashboard — Integer (1–100), default 50
- roles_can_create_dashboards — Array, default [core_admin, core_manager, project_manager]
- roles_can_share_dashboards — Array, default [core_admin, core_manager]
- roles_can_use_forced_dashboards — Array, default [core_admin]
Reset to defaults
At the bottom of the settings page, the Reset to Defaults button restores all dashboard settings to their original values. This removes all customised tenant_settings entries with the dashboard. prefix, reverting to the hard-coded defaults listed above. A confirmation dialog appears before the reset proceeds.
Tips
- Reduce the auto-refresh interval to 30–60 seconds during busy event days for near-real-time monitoring
- Disable unused widget categories to simplify the Widget Library and reduce clutter for your team
- Restrict dashboard creation to managers and admins if you want to maintain a consistent set of company dashboards
- Set a default dashboard for new users to ensure everyone starts with the same operational view on day one
- If performance is a concern on large dashboards, lower the max widgets per dashboard limit
Was this article helpful?