All pages

getting started

Upgrade guide

Move from 1.x to 2.x with almost zero breaking changes — most apps only need a composer update and asset rebuild.

Upgrading to V2 is designed to be painless. For most applications there are almost zero breaking changes — if you already use KanbanPage with the default views and you have upgraded Filament to v4 or v5, you can often bump the package version, rebuild assets, and keep going.

The only hard requirement is Filament 4 or 5. V2 does not support Filament 3. Stay on the 1.x line if you cannot upgrade Filament yet:

bash
composer require asmit/advanced-kanban:^1.6

Requirements

Dependency1.x2.x
PHP^8.1^8.1
Filament3.x4.x or 5.x
Livewire3.x4.x (via Filament)

Quick upgrade

  1. Upgrade Filament to v4 or v5 in your application first.
  2. Update the package:
    bash
    composer require asmit/advanced-kanban:^2.0
    
  3. Rebuild assets:
    bash
    php artisan filament:assets
    npm run build
    
  4. Clear caches:
    bash
    php artisan optimize:clear
    
  5. Run your test suite and manually verify drag-and-drop.

That is the full path for a standard KanbanPage setup. No config rewrites, no database migrations from the package, and no changes to your kanban() method signature.

What stays the same

  • KanbanPage still works — extend it, configure kanban(), and you are done.
  • Default board session keys — the default board name (default) keeps the same search and filter session keys, so existing user sessions are not invalidated.
  • Your kanban() configuration — model(), statusField(), columns(), actions, filters, and search behave the same.
  • UUID and string primary keys — no code changes needed if you already use non-integer IDs.

When you might need a small change

These only apply if you went beyond the defaults:

Published or copied Blade views

If you published package views in 1.x, compare your copies against the new kanban.blade.php and merge any markup changes. If you never published views, skip this.

Filament 3 namespaces in custom code

If your kanban forms, actions, or modals still import Filament 3 namespaces, update them to Filament 4/5 equivalents:

  • Layout components → Filament\Schemas\Components\
  • Actions → Filament\Actions\ (never Filament\Tables\Actions\)
  • Tabs → Filament\Schemas\Components\Tabs\Tab

Multiple named boards on one page

Published card or column-header overrides that use $this->getKanban() still work. If you embed multiple named boards on one page, pass the optional $kanban prop:

blade
@php
    $kanban = $kanban ?? $this->getKanban();
@endphp

Before and after

1.x (Filament 3)

php
class TasksKanban extends Page
{
    use InteractsWithKanban;

    protected static string $view = 'advanced-kanban::index';

    public function kanban(Kanban $kanban): Kanban
    {
        return $kanban
            ->model(Task::class)
            ->statusField('status')
            ->columns([/* ... */]);
    }
}

2.x (minimal change)

php
use Asmit\AdvancedKanban\Pages\KanbanPage;

class TasksKanban extends KanbanPage
{
    public function kanban(Kanban $kanban): Kanban
    {
        return $kanban
            ->model(Task::class)
            ->statusField('status')
            ->columns([/* ... */]);
    }
}

KanbanPage sets the view automatically — you can drop the $view property and the InteractsWithKanban import.

Troubleshooting

Board looks unstyled after upgrade

bash
php artisan filament:assets
npm run build

Drag-and-drop not updating on first move

Fixed in 2.x. Upgrade to ^2.0 if you still see stale column state after the first move.

What's new in 2.x

Once you are on 2.x, you can optionally adopt embeddable boards, card reordering, transition modals, record infolist cards, and more. See What's new in V2.