- What is elasticms/submission-bundle used for?
- It handles form data submissions generated by EMS FormBundle in Elasticms. It provides the backend workflow for processing submitted data using target and data structure configuration. It is not a general-purpose Laravel form handler by itself.
- Does elasticms/submission-bundle work natively with Laravel?
- No, elasticms/submission-bundle is a Symfony bundle for the Elasticms ecosystem, not a native Laravel package. Laravel projects need adapters or standalone Symfony components to bridge dependency injection, routing, validation, and events. Treat it as an integration project rather than a drop-in Composer package.
- Do I need the EMS FormBundle to use elasticms/submission-bundle?
- Yes, EMS FormBundle is the prerequisite because the submission bundle handles submissions made from it. If your Laravel app does not use EMS FormBundle, adopting this package requires evaluating the cost of adding that ecosystem. Native Laravel form handling may be simpler for standalone forms.
- How do I install elasticms/submission-bundle in a Laravel application?
- Install it with Composer, but do not expect Laravel package auto-discovery or a native service provider. You will likely need manual wiring for Symfony dependency injection, routing, validation, and event dispatch. Start with one low-risk form submission as a proof of concept.
- How do I configure submission targets and data structures?
- Submission handling is driven by target and data structure configuration in Elasticms rather than hard-coded controller logic. This reduces boilerplate for repetitive workflows such as validation, routing, and storage. For dynamic or real-time workflows, verify that the configuration model fits your requirements.
- Can I keep Laravel FormRequest validation when using this bundle?
- The bundle uses Symfony validation, so Laravel FormRequest validation will not plug in directly. You can keep Laravel validation at the edge and translate or map validated data into the submission workflow. A translation layer or service wrapper is usually needed to avoid duplicate validation rules.
- How can I bridge Symfony submission events into Laravel events?
- The bundle leverages Symfony's event system, which can be bridged through symfony/event-dispatcher. You can create a facade or listener layer that translates Symfony submission events into Laravel events such as submission.created. This keeps notifications, analytics, and queue jobs decoupled from submission logic.
- Which Laravel versions can I use with elasticms/submission-bundle?
- There is no documented Laravel version support matrix because this is a Symfony and Elasticms bundle. Compatibility depends on the Symfony components you bridge and the Laravel release you test against. Run a proof of concept on your target Laravel version before adopting it.
- Is elasticms/submission-bundle suitable for high-volume production submissions?
- It can handle production submissions, but you should benchmark the integration and account for dependency failure modes. Use Laravel queues for asynchronous processing and design fallbacks such as raw Request handling if the bundle or its Symfony dependencies fail. High-volume workflows need load testing before rollout.
- What are the alternatives and how is the package maintained?
- Alternatives include Laravel FormRequest validation, custom submission services, middleware, and queued jobs, especially for simple forms. If you already use EMS FormBundle, this bundle is the natural backend workflow. Report issues and send pull requests in the elasticMS monorepo; plan an exit strategy such as forking or replacing with Laravel-native services if maintenance becomes a concern.