- Can I use this bundle in a Laravel-only project without Ibexa?
- No, this bundle is Ibexa-specific and relies on Ibexa’s ContentService, LocationService, and Symfony Messenger. For Laravel-only projects, you’d need to abstract Ibexa dependencies or fork the bundle to replace them with Laravel equivalents (e.g., Eloquent, Laravel Queues).
- What Laravel versions are supported by this bundle?
- This bundle is designed for Ibexa (Symfony-based), not Laravel. While you *can* integrate it into Laravel, it requires bridging Symfony’s DI and Laravel’s service container. No official Laravel version support is guaranteed; compatibility depends on your custom adapter layer.
- How do I handle queue processing in Laravel if this bundle uses Symfony Messenger?
- Symfony Messenger jobs won’t work natively in Laravel. You’ll need to create a custom queue worker or middleware to translate Symfony messages into Laravel queue jobs (e.g., using Redis or database queues). The bundle’s async processing can still work but requires this bridge.
- Does this bundle support scheduled imports like Laravel’s Task Scheduling?
- Yes, but indirectly. The bundle’s UI lets you schedule dataflows via Ibexa’s backoffice (Symfony CronTrigger). For Laravel integration, you’d need to replace this with Laravel’s `schedule:run` command or a custom event listener to trigger the dataflow jobs.
- What Ibexa field types are supported for data imports/exports?
- The bundle supports Ibexa’s native field types (e.g., `ezrichtext`, `ezobjectrelation`). For Laravel integration, you’d need to extend `AbstractFieldComparator` to map these to Laravel’s field types (e.g., `HasMany`, `MorphTo`). Check the [Dataflow bundle docs](https://github.com/code-rhapsodie/dataflow-bundle) for specifics.
- How do I replace the Ibexa backoffice UI with a Laravel admin panel (e.g., Nova or Filament)?
- The UI is tightly coupled to Ibexa’s backoffice. To replace it, you’d need to build a custom Laravel admin panel (e.g., using Nova, Filament, or Inertia.js) and expose the dataflow endpoints via REST/GraphQL APIs. The bundle’s logic remains unchanged; only the frontend integration shifts.
- Are there performance considerations for large-scale data imports in Laravel?
- Yes. The bundle’s queue-based processing works with Laravel, but large datasets may require chunking jobs (e.g., using Laravel’s `chunk()` or `cursor()` methods). Test with your expected data volume and optimize batch sizes in the queue workers to avoid timeouts.
- What’s the best way to handle failed jobs or retries in Laravel?
- Laravel’s `ShouldQueue` and `failed()` method can replace Symfony’s retry logic. Configure your queue worker to retry failed jobs (e.g., via `retryAfter()`) and log failures to Laravel’s `failed_jobs` table. Customize the retry count in your job class.
- Can I use this bundle with Ibexa 3.x or 4.x in Laravel?
- The bundle supports Ibexa 3.x and 4.x, but Laravel integration isn’t officially tested. Ensure your Ibexa version matches the bundle’s [supported matrix](https://github.com/code-rhapsodie/ibexa-dataflow-bundle). For Laravel, focus on abstracting Ibexa services (e.g., mocking `ContentService` for testing).
- Are there alternatives to this bundle for Laravel data imports/exports?
- For Laravel-only projects, consider native solutions like Laravel’s `Artisan` commands, `Queue` jobs, or packages like `spatie/laravel-import-export`. If you *must* use Ibexa, this bundle is the most direct option, but expect adaptation work for Laravel’s ecosystem.