- How do I install muhammadsadeeq/laravel-activitylog-ui in a Laravel app?
- Run composer require muhammadsadeeq/laravel-activitylog-ui, then optionally publish the config, Blade views, and public assets using the package's vendor:publish tags. Make sure spatie/laravel-activitylog is already installed and its migrations have created the activity_log table, including the attribute_changes column required by Spatie v5. After that you can browse the UI at the /activitylog-ui route. No frontend build step is needed because the package ships Tailwind CSS and Alpine.js assets.
- What PHP, Laravel, and Spatie versions does laravel-activitylog-ui require?
- The package requires PHP 8.4 or newer, Laravel 12 or 13, and spatie/laravel-activitylog v5.0 or higher. That makes it a forward-edge package, so applications still on Laravel 10 or 11 and PHP 8.2 or 8.3 will need to upgrade their framework and PHP versions first. Confirm your activity_log table uses Spatie v5's schema with the attribute_changes column before installing.
- Does laravel-activitylog-ui replace spatie/laravel-activitylog?
- No. It is a presentation layer only and assumes Spatie's Activity Log is already installed, configured, and writing records. The package reads the existing activity_log table and adds routes, controllers, Blade views, and frontend assets, but it does not own the logging schema or the write path. You can remove it without losing activity data.
- Is the activity log UI protected by default?
- No. Authorization is disabled by default through authorization.enabled => false, and middleware is auto-detected rather than pinned, so a default install can expose your full activity history at a guessable URL. Treat enabling the gate, configuring access lists, and pinning middleware as a pre-production requirement, not an optional tweak. Review the published config and verify the resolved middleware in your own application before deployment.
- How do I restrict who can view activities with authorization gates?
- Enable authorization in config/activitylog-ui.php and configure the package's access lists, which are a global email whitelist and a global role list, then verify the gate and middleware are applied to the package routes. Because access control is global rather than per-record, multi-tenant applications should front the routes with their own scoping middleware. Publish the config file first so your settings survive package updates.
- Which export formats does laravel-activitylog-ui support and what happens without the optional packages?
- The UI exports to CSV, Excel, PDF, and JSON. Excel and PDF are optional and require maatwebsite/excel ^3.1 and barryvdh/laravel-dompdf ^2.0 respectively. Without those dependencies the package falls back silently, for example XLSX to CSV and PDF to JSON, so users may receive a different format than they selected. Install the optional packages if format fidelity matters to your users.
- Where are saved views and per-page or sorting preferences stored?
- The package advertises saved views plus per-page and sorting preferences, and real-time counts and pagination are powered by Laravel cache. The README does not document exactly where saved views and preferences persist, so check the published config and verify whether storage is browser-side or package-owned before relying on it. If the package adds its own tables, review those migrations against your schema standards.
- Will laravel-activitylog-ui conflict with Tailwind CSS or Alpine.js in my app?
- It can. The package ships Tailwind CSS and Alpine.js with no build step, which is convenient, but Livewire ships its own Alpine instance and apps with JIT or purged Tailwind can conflict with package-shipped CSS. Publish the public assets and wire them deliberately rather than relying on the defaults. Test the UI inside your real layout and asset pipeline before shipping it to users.
- How do I upgrade laravel-activitylog-ui from v1 to v2?
- Version 2.0 is a breaking release that targets Spatie laravel-activitylog v5 and removes the batch UUID, requires the attribute_changes column, and raises the PHP and Laravel minimums. Follow the repository's UPGRADING.md for the full migration steps and test on a copy of your database first. Expect further breaking releases as the package tracks Spatie majors.
- Is laravel-activitylog-ui safe for a multi-tenant SaaS application?
- There is no built-in multi-tenancy support. Access control is a global email whitelist and global role list, so a gate that admits a user lets them view activity history across every tenant unless you add your own scoping. For a multi-tenant SaaS, front the package routes with tenant-aware middleware and per-tenant authorization before enabling the UI.