Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Metrics Matomo Laravel Package

jeffersongoncalves/filament-metrics-matomo

A Filament plugin that brings Matomo analytics into your admin panel, with ready-made widgets and metrics for page views, visitors, and traffic insights. Connect your Matomo account and display key website stats directly in Filament dashboards.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is a Filament panel plugin that contributes a settings page, with filament-analytics-core as the underlying domain package. The 3.3.0 addition is a presentation-layer configuration hook: Plugin::make()->navigationGroup(string|Closure) lets the host panel place the settings page in an existing navigation group. That is a clean separation between analytics core behavior and Filament UI concerns, and it aligns with the standard Laravel/Filament plugin registration model. The dependency on filament-analytics-core >= 3.1 confirms a split-core/adapter architecture; the adapter should remain thin.

Integration feasibility. Low effort. Adoption is a single chained call in the panel provider where the plugin is registered. The string|Closure union supports both static grouping and dynamic grouping (for example, per-panel or per-tenant navigation). Existing installations that do not call the method retain the previous translated group, so the change is additive. The practical prerequisite is composer alignment with filament-analytics-core 3.1 or later.

Technical risk. Low, but not zero. The feature is backwards compatible and defaults are preserved. The main risks are dependency skew (package 3.3.0 with core <3.1), Filament major-version compatibility, closure evaluation context and lifecycle, navigation group name collisions, and translation fallback behavior. Because the closure is evaluated in the panel boot/navigation path, a throwing closure or an expensive query inside it could affect panel rendering. The release note does not indicate breaking changes or deprecations.

Key questions.

  • Which Filament major versions are supported by 3.3.0, and is filament-analytics-core 3.1 a hard composer constraint or a runtime requirement?
  • When is the Closure evaluated—per request, per panel boot, or cached—and what arguments are injected?
  • Does navigationGroup affect authorization or visibility, or is it purely presentational?
  • What happens on group-name collision or missing translation key: silent fallback, duplicate group, or raw key?
  • Are there deprecations or planned changes to the plugin registration API?
  • What is the supported upgrade path from pre-3.3.0 versions, and are there known issues with multi-panel or multi-tenant panels?

Integration Approach

Stack fit. Laravel + Filament panel application, installed via Composer. No new services, queues, storage, or infrastructure are introduced. The package fits existing PanelProvider plugin registration and does not alter the host application's architecture.

Migration path. Upgrade filament-analytics-core to >=3.1 first, then upgrade this package to 3.3.0. Existing consumers need no code change unless they want custom navigation grouping. Teams that want the settings page inside an existing group add ->navigationGroup('Group Name') or a closure at plugin registration. Teams that prefer the translated default do nothing.

Compatibility. The API is additive and should be treated as a semver-minor change. Backwards compatibility holds for existing plugin registrations. Confirm PHP and Filament version constraints in composer.json, and confirm whether Filament v4 (or the next major) is supported. Because the method name and signature are new, older package versions will not recognize it; pinning is advisable during rollout.

Sequencing.

  1. Inventory current Filament, PHP, and filament-analytics-core versions across environments.
  2. Bump filament-analytics-core to >=3.1 in a non-production branch and resolve composer constraints.
  3. Upgrade this package to 3.3.0.
  4. Run the application test suite and manually verify the settings page, navigation rendering, translations, and authorization.
  5. Optionally adopt navigationGroup() for panels that require consistent grouping; test both string and closure variants.
  6. Roll out to staging, then production, keeping a rollback pin to the prior package/core pair.

Operational Impact

Maintenance. Low. The new surface area is one configuration method. The main maintenance obligation is keeping the adapter and filament-analytics-core version ranges aligned, and documenting the closure contract if dynamic grouping is used. Closure-based configuration becomes application-owned code and should be covered by tests.

Support. Minimal support burden. Support documentation should show both string and Closure examples, state the core 3.1 prerequisite, and explain that omitting the method preserves the translated default group. The most likely support questions are “why did my settings page move?” and “why is the group name untranslated?”—both are configuration and translation issues rather than defects.

Scaling. Negligible runtime cost for static strings. If closures perform database or container lookups per panel boot, review for N+1 or repeated queries, especially in multi-tenant or multi-panel installations. Navigation configuration itself does not affect analytics data volume or query scaling.

Failure modes. Composer resolution failure or runtime error when core is below 3.1; orphaned or duplicated navigation entries from incorrect group names; panel boot failure if a closure throws; raw translation keys if the default group translation is missing; unexpected placement when multiple plugins target the same group; and cache staleness if Filament navigation is cached. None are data-loss risks, but panel boot failures are user-visible.

Ramp-up. Very low for developers familiar with Filament. A single release-note line is enough to adopt the feature. TPM and engineering should spend the ramp-up time on version alignment and a staging verification of navigation rendering, translations, and authorization rather than on learning a new API.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel