kunstmaan/bundles-cms
Kunstmaan CMS is a full-featured, multilingual CMS built on the Symfony full-stack framework. It offers page and form assembly, versioning, workflow, translation tools, and media management, plus integrations with community bundles.
doctrine/dbal or laravel-doctrine. However, Kunstmaan’s entity structure (e.g., Node, Media, Page) would require migration or duplication.SecurityBundle, Twig, Doctrine, KnpMenu → Would need polyfills or alternatives (e.g., Laravel’s spatie/laravel-acl for permissions).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony vs. Laravel | Critical | Abstract dependencies via adapters or microservices. |
| Database Migrations | High | Use Doctrine DBAL or Laravel Migrations to sync schemas. |
| Frontend Incompatibility | High | Build a separate admin UI (e.g., Inertia.js + Vue) or use Kunstmaan’s admin as-is (if Symfony is acceptable). |
| Performance Overhead | Medium | Optimize with caching (Symfony Cache, Laravel Redis) and queue workers for async tasks. |
| Maintenance Burden | High | Requires dedicated dev effort to bridge gaps (e.g., ACL, workflow). |
| Component | Kunstmaan (Symfony) | Laravel Compatibility | Integration Strategy |
|---|---|---|---|
| Backend Framework | Symfony | ❌ No | Option 1: Run Kunstmaan as a microservice (API-only).Option 2: Use Symfony Bridge (symfony/bridge) in Laravel. |
| ORM | Doctrine ORM | ✅ Partial (DBAL) | Use doctrine/dbal for DB access or laravel-doctrine for ORM. |
| Routing | Symfony Router | ❌ No | Expose Kunstmaan as REST/GraphQL API (e.g., API Platform). |
| Templating | Twig | ❌ No | Replace with Blade or Inertia.js for frontend. |
| Authentication | Symfony Security | ✅ Partial | Use Laravel Sanctum/Passport + custom ACL layer. |
| Admin Panel | KnpMenu + Twig | ❌ No | Rebuild in Laravel (Inertia.js) or embed Kunstmaan admin. |
| Media Management | Kunstmaan Media | ✅ Partial | Wrap in a Laravel service or use Spatie Media Library. |
| Workflow/Versioning | Custom Bundles | ❌ No | Implement Laravel events + database triggers. |
| Localization | Symfony Translation | ✅ Partial | Use laravel-localization or custom middleware. |
kunstmaan/admin-bundle as a composer dependency + build a Laravel ACL service (e.g., spatie/laravel-acl + custom rules).admin.yoursite.com).spatie/laravel-state-machine).| Kunstmaan Feature | Laravel Equivalent/Workaround |
|---|---|
| ACL (Symfony Security) | spatie/laravel-acl + custom policies |
| Media Manager | spatie/laravel-medialibrary or custom S3 adapter |
| Workflow | spatie/laravel-state-machine or database states |
| Versioning | Laravel soft deletes + laravel-model-versions |
| Multi-language | laravel-localization or spatie/laravel-translatable |
| Page Assembly | Blade templates + service containers |
| Admin UI | Inertia.js (Vue/React) or rebuild with Livewire |
| Aspect | Impact | Mitigation
How can I help you explore Laravel packages today?