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

Servicedeskkitv5 Laravel Package

jeffersongoncalves/servicedeskkitv5

A Laravel package for building service desk and help desk features: manage support tickets, requests, and customer conversations with ready-made models, migrations, and workflows that integrate smoothly into your existing Laravel application.

View on GitHub
Deep Wiki
Context7

Getting Started

This is a Filament v5 service-desk package. Start by confirming you're on Filament ^5.9 and Laravel ^11/^12 with PHP 8.3+ (CI now enforces PHP 8.4 for static analysis, so treat 8.4 as the supported target).

  1. composer require jeffersongoncalves/servicedeskkitv5
  2. Publish config/migrations: php artisan vendor:publish --tag=servicedeskkitv5-config and --tag=servicedeskkitv5-migrations
  3. Run php artisan migrate
  4. Register the plugin on your Filament panel (e.g. ->plugin(ServiceDeskKitPlugin::make()))
  5. Create a super-admin via php artisan make:filament-user (or the package's user package seeder, see below)

Where to look first:

  • config/servicedeskkitv5.php — panel slugs, navigation group, role mapping between your User and Admin models (this is where the 5.9.0 user/admin split is wired).
  • The plugin class ServiceDeskKitPlugin — getId(), register() and boot() show which Resources/Pages are auto-discovered. This is the fastest way to see what you're actually getting.
  • composer.json of the package — check whether filament-user/filament-admin helper packages are listed as required or optional; 5.9.0 added them as the canonical source for models/resources.

First use case: Log in as an admin, create a ticket, assign it to a staff user, and verify the notification flow. That single path exercises the Resources, the policy layer, and the user/admin model split.

Implementation Patterns

Delegate identity to the user/admin packages. Since 5.9.0, models, resources, and login live in separate packages. Your app's User and Admin models should extend (or use the traits from) those packages rather than living inside app/Models. If you previously subclassed package-provided models directly, migrate to the new trait-based composition so future upgrades don't collide with your namespace.

Panel wiring. Register the plugin per panel and let it own its Resource discovery:

public function panel(Panel $panel): Panel
{
    return $panel
        ->id('servicedesk')
        ->path('servicedesk')
        ->plugin(ServiceDeskKitPlugin::make())
        ->authGuard('admin'); // matches the admin package guard
}

Multi-tenancy / role separation. Use Filament's ->tenant() with the admin package's role model rather than rolling your own. The service-desk Resources respect the current panel's auth guard, so staff and requester UIs can be split into two panels sharing the same plugin.

Testing workflow that matches CI. The 5.9.0 CI runs PHPStan on PHP 8.4 and standardised Pest/PHPUnit workflows. Mirror that locally:

  • vendor/bin/phpstan analyse --level=5 against your app code (the package ships no baseline; your own baseline catches integration regressions).
  • composer update --dry-run after bumping the package — the dependabot group update in 5.9.0 bumped three transitive deps, and Filament minor bumps occasionally change Resource signatures.

Customising Resources. Prefer extending the package Resources with ->form(fn (Form $form) => $form->schema([...])) overrides in a sub-class, and register your subclass via the plugin's ->resources([...]) where available. Avoid editing vendor files — the standardized CI means the package is now actively tracking upstream changes and will overwrite local patches on update.

Gotchas and Tips

5.9.0 is a soft breaking change for existing installs. If you previously relied on the package's bundled User model or its login page, those have moved to the user/admin packages. Symptoms after upgrading: "class not found" for models under the package namespace, duplicated Filament login routes, or missing relationships on Ticket::user(). Fix by repointing your models and clearing php artisan filament:optimize-clear plus php artisan config:clear.

Filament 5.9.0 alignment. Because the package pins to ^5.9.0 of Filament, make sure your other Filament plugins are also on 5.9-compatible releases. Filament's minor bumps have shipped schema/table signature changes; a mixed 5.8/5.9 plugin set is the most common cause of "method does not exist" errors in Resources.

PHP 8.4 in CI, but runtime may be 8.3. CI now statics against 8.4, so the package may adopt 8.4-only syntax in future minors. Pin your production PHP image accordingly and watch the composer php constraint — it will tighten before the changelog says so.

Debugging: The majority of issues after this release are auth-guard related. Use php artisan about to confirm the guard, then check config/auth.php matches the admin package's guard name. Filament's ->authGuard() and the package's config must agree; a mismatch silently yields an empty Resource list rather than an error.

Extension points worth knowing: plugin register() for adding Resources/Pages, config navigation block for grouping, and the policy classes shipped by the user/admin packages for permission tweaks. Override via Gate::policy() in a service provider rather than editing vendor policies.

Dependabot noise. Several 5.9.0 PRs are CI churn (dependabot config, workflow standardisation). Don't treat patch bumps within 5.9.x as feature releases — diff the changelog for code changes before planning an upgrade window.

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox