- How do I install and set up filament-matomo in a Laravel Filament application?
- Install it with Composer using the jeffersongoncalves/filament-matomo package, then register the plugin in your Filament panel provider. The package exposes a settings page via spatie/laravel-settings, so follow the README for any required publishing or configuration steps. After registration, you can manage Matomo tracking configuration and view analytics widgets directly in the panel.
- Which Laravel and Filament versions does filament-matomo support?
- The package targets Laravel applications built on Filament panels, and release 3.4.0 works alongside filament-analytics-core 3.1 or later. Because Filament major versions can change plugin APIs, check the composer.json constraints and README for the exact supported Laravel and Filament versions before upgrading. Confirm compatibility in a staging panel first, especially if you are on the newest Filament major.
- How do I manage Matomo tracking settings from the Filament panel?
- The plugin includes a Settings Page powered by spatie/laravel-settings, so authorized panel users can edit Matomo tracking configuration without leaving the admin UI. You register the plugin in your panel provider and the settings page becomes available through the panel navigation. The stored settings are then used by the package's tracking integration.
- What analytics data can I see in the filament-matomo dashboard widgets?
- The plugin adds dashboard widgets and reports for Matomo metrics such as visits, page views, referrers, and traffic insights. This keeps key analytics accessible inside the Filament admin panel instead of requiring a separate Matomo login. Widget and report availability depends on your Matomo connection and the package's configuration.
- How do I change the navigation group for the Matomo settings page?
- In release 3.4.0 and later, call navigationGroup() when registering the plugin, for example Plugin::make()->navigationGroup('Analytics'). If you do not set a group, the package falls back to its translated default navigation group. This lets you place the Matomo settings page alongside your existing admin navigation items.
- Can navigationGroup accept a closure in filament-matomo 3.4.0?
- Yes, release 3.4.0 accepts either a string or a Closure for navigationGroup(). The closure form is intended for dynamic grouping, such as multi-panel or tenant-aware admin surfaces. Make sure the closure returns a valid, registered navigation group name for the current panel to avoid runtime navigation issues.
- Is filament-analytics-core required by filament-matomo?
- Yes, the package integrates with filament-analytics-core, and version 3.4.0 expects analytics-core 3.1 or later. Upgrade filament-analytics-core before updating filament-matomo to 3.4.0 to avoid dependency conflicts. Check Composer's resolution output if you maintain other Filament analytics packages.
- Will upgrading filament-matomo to 3.4.0 break existing installs or require migrations?
- Release 3.4.0 is an additive, low-risk change that preserves the existing translated navigation group unless you explicitly call navigationGroup(). The release note does not imply any database migrations. Standard practice is still to run composer update and smoke-test your panel navigation after upgrading.
- Does navigationGroup in filament-matomo change permissions or route access?
- No, navigationGroup only controls where the settings page appears in the Filament navigation; it does not change authorization, permissions, or route access. Access control remains governed by your Filament panel, policies, and the package's existing settings page authorization. If users report missing pages, check both navigation placement and permissions.
- How should I configure filament-matomo across multiple Filament panels or tenants?
- Register the plugin in each panel where you want Matomo settings and analytics available, and set navigationGroup() per panel as needed. For tenant-aware admin surfaces, use the closure form to return the correct group dynamically, and standardize the logic across panels. Verify labels, sort order, and group collisions in each panel to keep navigation consistent.