- How do I install jaocero/activity-timeline in a Laravel Filament app?
- Install it with Composer using composer require jaocero/activity-timeline, then register the plugin in your Filament panel provider. Because it is a presentation-layer plugin, installation is light: no extra migrations or config publishing are required beyond what Spatie Activitylog already provides. After registering the plugin, add the timeline component to an infolist entry, a custom page, or an action. Confirm your panel provider registration matches the plugin syntax documented in the README for your Filament major version.
- Which Filament versions does activity-timeline support?
- The package is built for Filament panels and targets the Filament 3 era, but you should verify the exact constraint in its composer.json before adopting it. Because Filament major releases occasionally change component and schema APIs, pin the plugin and Filament versions together in Composer. Check the repository's releases and issues for confirmation of support for your specific Filament version, and run a short spike branch to validate rendering before rolling out.
- Do I need Spatie Activitylog installed to use this plugin?
- Yes. jaocero/activity-timeline is a renderer, not a logging engine, so it expects a working Spatie Activitylog setup as its data source. You need the Activitylog migrations applied and meaningful log_name, subject_type, subject_id, and causer data flowing into the activity table. Without populated activity records, the timeline will render empty regardless of configuration.
- How do I add the activity timeline to a Filament infolist, page, or action?
- Add the timeline component to an infolist schema entry, or drop it into a custom page's view, depending on how much layout control you want. For actions, you can render the timeline inside a modal or slide-over so reviewers can inspect history without leaving the record. The typical integration is one component on a single low-risk admin page first, then expanding to infolist entries once filtering and empty states look correct.
- Can I filter the timeline by subject, log name, or causer?
- The component is designed to scope activities to a model subject, and it can also work with log name and causer data present in your Activitylog records. If you are replacing a bespoke timeline view, map your existing query filters onto the component's supported options rather than duplicating data access in a second query layer. Review the README for the exact filter API in your installed version, and validate results against raw Activitylog queries during your spike.
- Does the timeline support pagination or lazy loading for large activity tables?
- Activity tables grow quickly, so you should confirm pagination or lazy loading behavior before exposing the timeline to high-traffic records. If the component loads all activities for a subject at once, wrap it in a paginated or limited query and index subject_type, subject_id, log_name, created_at, and causer columns. Test against production-like activity volume rather than a freshly seeded development database.
- Does activity-timeline work with a custom Activity model?
- Support depends on how the component resolves activities, so check the source and README for whether it references the default Spatie Activity model directly or accepts a configurable model. If you use a custom model that extends Spatie's Activity class and keeps the same table schema, compatibility is usually straightforward. If you have heavily customized the schema, validate in a branch before committing to the package.
- How do I prevent users from seeing activities outside their scope?
- The plugin is UI-scoped and does not impose authorization on its own, so scope enforcement remains your responsibility. Guard the page or infolist entry with Filament policies or canView checks, and constrain the underlying activity query by tenant, team, or subject ownership as needed. Treat any timeline exposed in an admin panel as a potential data leak if records contain sensitive attribute changes.
- Is activity-timeline a replacement for Spatie Activitylog or a general-purpose audit-logging solution?
- No. It is a Filament presentation plugin that visualizes activity data already captured by Spatie Activitylog, so Activitylog remains the source of truth for logging, retention, and schema. Teams not using Filament should not adopt this package just to get a timeline; a simple Blade or Livewire component querying the activity table is lower risk. It is also not a compliance-grade audit system on its own.
- What are the maintenance risks of this single-maintainer package, and can I fork it?
- Adoption signals are modest, with a small star count, no dependents, and a single maintainer, so abandonment and Filament major-version breakage are realistic risks. The package is MIT licensed and small, which makes vendoring or an internal fork legally straightforward and technically contained. Before using it in business-critical admin workflows, document plugin registration, supported versions, filtering conventions, and a fork procedure, and track Filament and Spatie release notes for breaking changes.