- Can I use ActivpikFeedbackBundle in Laravel instead of Symfony 2?
- No, this bundle is designed for Symfony 2 and won’t work natively in Laravel due to architectural differences like routing, service containers, and Twig templates. You’d need to rewrite core components (e.g., `FeedbackType`, Twig templates) or build a custom wrapper layer. Consider alternatives like Laravel’s `FormRequest` or API resources for feedback handling.
- How do I install ActivpikFeedbackBundle in Symfony 2?
- Add the package via Composer with `"activpik/feedback-bundle": "dev-trunk"`, register the bundle in `AppKernel.php`, configure the `feedback_source` service in `config.yml` (Redmine URL, API key, project ID), and define routes in `routing.yml`. Finally, include the Twig badge template and assets in your views.
- Is Redmine integration mandatory? Can I use another issue tracker?
- The bundle is tightly coupled to Redmine via `RedmineFeedbackSource`. To use Jira, GitHub Issues, or a custom backend, you’d need to replace the `RedmineFeedbackSource` service with a custom class that implements the same interface, handling API calls via Laravel’s HTTP client or Guzzle.
- How do I embed the feedback badge in a Laravel Blade view?
- Since the bundle uses Twig, you’d need to recreate the badge as a Blade component or Alpine.js/Livewire widget. Replace the Twig template (`badge.html.twig`) with a Laravel view, and load CSS/JS assets via Laravel Mix or Vite. The core functionality (form submission) would require rewriting the `FeedbackType` form class for Laravel’s validation system.
- What Laravel versions does ActivpikFeedbackBundle support?
- This bundle **does not** support Laravel—it’s built for Symfony 2 (EOL since 2023). For Laravel, you’d need to manually adapt it or use alternatives like Spatie’s packages for activity logging or custom feedback endpoints. Check Laravel’s [FormRequest](https://laravel.com/docs/forms) or [API resources](https://laravel.com/docs/9.x/api-resources) for modern approaches.
- How do I handle feedback submissions in Laravel without Symfony’s FeedbackType?
- Replace `FeedbackType` with a Laravel `FormRequest` or API endpoint. For example, create a `StoreFeedbackRequest` with validation rules, then handle submissions in a controller using Laravel’s HTTP client to forward data to Redmine/Jira. Example: `Http::post('https://redmine.example/issues.json', $validatedData)`.
- Are there performance concerns with the client-side feedback badge?
- The bundle’s badge relies on static CSS/JS assets and may not optimize for Laravel’s frontend stack (e.g., Inertia.js, Livewire). For SPAs, consider a lightweight Alpine.js component or a server-rendered Blade partial. Avoid heavy DOM manipulation by using Laravel’s asset pipeline (Mix/Vite) for minified assets.
- Does ActivpikFeedbackBundle support testing or CI/CD?
- The bundle lacks unit tests or documentation, increasing maintenance risk. For Laravel, write PHPUnit tests for your custom wrapper (e.g., mocking Redmine API calls) and integrate with Laravel’s testing helpers. Use Laravel’s `Http::fake()` to test feedback submissions without hitting external APIs.
- What are the licensing implications for using this in a proprietary Laravel app?
- The bundle uses GPL-3.0, which may conflict with proprietary Laravel apps. If you fork or adapt it, ensure compliance with GPL terms. For commercial projects, consider alternatives under MIT/License or build a custom solution using Laravel’s open-source tools (e.g., HTTP client, queues).
- How do I scale feedback submissions for high traffic?
- The bundle processes submissions synchronously. For Laravel, use queue jobs (e.g., `feedback:store`) with Redis or database queues to decouple submission from processing. Rate-limit API calls to Redmine/Jira using Laravel’s `throttle` middleware or exponential backoff logic in your service layer.