- Is sulu/form-bundle a Laravel package?
- No. sulu/form-bundle is a Sulu CMS bundle built on Symfony's Form component and only makes sense inside a Sulu 2.x application. It ships no Laravel service providers, Eloquent models, Blade views, or Laravel validation conventions. Using it in Laravel would require a port or reimplementation rather than a Composer install.
- How do I install and configure sulu/form-bundle?
- Run composer require sulu/form-bundle inside an existing Sulu 2.x project, then register and configure the bundle following the documentation in Resources/doc/index.md. You will also need to configure mail settings, spam controls, frontend Twig templates, and submission storage permissions. Integration is moderate for Sulu projects and low to infeasible outside Sulu.
- Does it integrate with Laravel validation, Blade, or Eloquent?
- No. Rendering, validation, and theming all come from Symfony Form, and submissions are persisted through Sulu and Doctrine dynamic entities. There is no Blade integration, no Eloquent models, and no Laravel-style validation rules. A Laravel application should use a Laravel-native form package or call a separate form service via API or webhooks.
- Which Sulu, Symfony, and PHP versions does it require?
- The bundle is compatible with Sulu starting from version 2.0 and depends on Symfony Form, Doctrine, and Sulu admin asset and routing conventions. Release 2.1.0 included Doctrine updates for PHP 8 compatibility. Always check the require section of composer.json and verify PHP, Symfony, Sulu, and Doctrine constraints align with your project before committing.
- Can content managers create forms without developer involvement?
- Yes. The bundle adds dynamic form creation to the Sulu admin UI, so editors can build contact, sweepstake, or other forms and position fields in a basic grid. They can also configure confirmation and notification emails sent to visitors or to themselves. Developers only need to provide the frontend templates and initial configuration.
- Does it support file uploads, reCAPTCHA, and honeypot spam protection?
- The bundle covers file uploads and attachments, configurable sender and receiver emails, reCAPTCHA, and honeypot support. These are exactly the features that expand the security surface on public form endpoints. Each one needs explicit hardening and testing before you expose forms in production.
- How are form submissions stored and can I export them as CSV?
- Submissions are persisted through Sulu and Doctrine dynamic entities and are viewable in admin list views. Historical CSV export has been a recurring demand, so confirm what your target version actually provides rather than assuming it is built in. Also verify how data can be exported, migrated, and deleted reliably before going live.
- Is it suitable for production forms that collect PII?
- It can be, but form submissions are personal data and require retention policies, access controls, and export procedures. Public endpoints, uploads, mail delivery, and the dynamic entity schema are all operational failure points tied to Sulu and Symfony configuration. The project is MIT licensed with a small community contributor group, so no SLA is provided and you own upgrade and regression testing.
- What are the alternatives for a Laravel application that needs form building?
- Use a Laravel-native form or survey package, or a dedicated form service integrated through API and webhooks. In a mixed Sulu and Laravel estate, keep sulu/form-bundle inside Sulu and expose submission data to Laravel through a controlled API or database boundary. Forcing this bundle into Laravel adds coupling without any of the Sulu admin benefits.
- What changed in version 2.0 and how hard is upgrading?
- Version 2.0 renamed the package, changed event naming, reduced dynamic entities to basic fields, and added Symfony 5 compatibility. Upgrades should follow the UPGRADE.md path and include regression testing of stored submissions, frontend templates, and mail configuration. Given the small contributor base and roughly 86 stars, validate current release cadence and branch support before planning the upgrade.