Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Sulu Form Landing Page Bundle Laravel Package

innomedio/sulu-form-landing-page-bundle

A Sulu CMS bundle for building form-enabled landing pages. It lets editors integrate and manage forms directly within landing pages, simplifying form setup and rendering for lead-generation and marketing pages.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Framing correction (read first): Despite the brief describing this as a "Laravel/PHP package," this is a Sulu CMS bundle — Sulu is a Symfony-based content management platform. It will not install into a Laravel application, and no amount of adapter work makes that sensible. Any evaluation must be scoped to "do we run Sulu 2.x with SuluFormBundle?" If the answer is no, the assessment ends here.

What changed in v3.0.1. Release notes are a single line: "Update Symfony version." Read precisely, that is a dependency constraint change with no functional delta. Three things follow. First, the existence of a v3.x line is new information relative to the prior assessment — a major-version bump has occurred at some point, and this patch sits on top of it; our compatibility analysis must target v3.x, not the 2024-08 artifact previously referenced. Second, the Symfony ceiling/floor has moved, which is the single highest-leverage fact for us: a constraint bump can just as easily drop the Symfony version our Sulu pins as it can add support for a newer one. Third, it is weak but real evidence that the maintainer is still shipping — "effectively unmaintained" softens to "single-maintainer, low but non-zero activity." One patch release is not a maintenance guarantee; do not let it change the fork-and-own conclusion, only the urgency.

Architecture fit. The bundle's scope remains narrow and well-defined: it extends Sulu's form subsystem so an editor can pick a landing page (redirect target) per form, and on successful submission the user is redirected there instead of seeing the default success flash. That is a genuine gap in Sulu's out-of-box form behavior, which is why the opportunity score (9.02) is high while the quality/adoption score (0.005) is near zero. Read those two numbers together: the problem is real and underserved; the artifact is unproven. A Symfony-bump patch release does not move the quality score materially.

Fit is good only if: (a) you are on Sulu 2.x, (b) SuluFormBundle is already in use, (c) your forms currently end in a dead-end confirmation page and stakeholders want post-submit routing (thank-you pages, gated downloads, campaign funnels, conversion tracking), and (d) your Symfony version survives the new constraint.

Integration feasibility. Mechanically unchanged and small: composer require, bundle registration in config/bundles.php, and typically a template/config override so the redirect field appears in the form editor. Expect a schema touch if the redirect target is persisted on the form entity. Total surface area looks like a handful of classes plus admin UI config — auditable end-to-end in under a day. The only new work item is resolving which v3.x patch matches our Symfony/Sulu pins; treat v3.0.1 as the default target and step back only if the constraint rejects our stack.

Technical risk.

  • Version drift is now the top risk, not a bullet. The 3.0.1 release demonstrates that Symfony constraints move in patch releases. That means a routine composer update can change our supported-platform matrix without a major-version signal. Pin exactly, commit the lockfile, and read the diff of every subsequent patch.
  • Unknown removal surface. "Update Symfony version" may mean support for a newer Symfony was added, or older Symfony (likely 5.4/6.x, depending on Sulu's own floor) was dropped. If our Sulu minor sits on the dropped side, v3.0.1 is unusable for us and we pin to 3.0.0 or fork the constraint.
  • Bus-factor one. Single maintainer, negligible stars, 0 dependents, no downstream consumption to shake out bugs. The patch release improves the "abandoned" prior but not the "no community QA" prior.
  • Unverified test posture. A version-bump release with no accompanying test/changelog detail is exactly the release class that breaks silently. Assume no meaningful CI until proven otherwise.
  • Redirect-target integrity. The feature invites editors to point at any page. Unpublished, deleted, or permission-restricted targets are a live failure mode; locale/translation mismatch on multi-site setups is another.
  • Security surface. If target selection isn't constrained to internal Sulu content, we inherit an open-redirect vector on a public form endpoint.

Key questions.

  1. What exactly does the Symfony constraint now read — floor and ceiling — and does it accept the Symfony version our Sulu 2.x install pins? This is the release-notes question and it is answerable in one file read.
  2. What was v3.0.0, and is there an upgrade guide? A major bump implies breakage (config keys, service IDs, entity schema). We need the diff, not the tag name.
  3. Does it persist the redirect on the form entity (schema migration) or in a separate table? What is the rollback story?
  4. Is the redirect target validated against internal Sulu pages, or is it a free-form URL?
  5. What HTTP status is issued (301/302)? SEO and analytics implications differ materially.
  6. Does it fire after form-data persistence and notification email, or replace that path? Ordering matters.
  7. Does the v3 line carry a test suite — and did the 3.0.1 patch add or run one? A constraint bump with no test coverage is a coin flip.
  8. Who owns this fork when the upstream goes quiet — and are we prepared for that answer to be "us"?

Integration Approach

Stack fit. Symfony/Sulu only. Prerequisites: Sulu 2.x, SuluFormBundle, an existing form submission flow, an editor population that actually wants per-form routing, and — new gating item — a Symfony version inside the v3.0.1 constraint. If we are a Laravel shop, this package remains out of scope and the correct move is to build the equivalent (a redirect field on the form model plus a post-submit handler) in-house in a day or two.

Migration path. Three realistic starting states:

  • Default Sulu success message → lowest-friction adoption; bundle adds routing without disturbing existing forms.
  • Bespoke event listener or controller override doing the redirect today → the bundle is a net simplification, but audit for behavior we'd lose (conditional routing, per-submission logic).
  • No forms in use → do not introduce this; it solves a problem we don't have.

If we are already on a pre-v3 tag, treat 3.0.1 as a major-line migration, not a patch bump: read the v3.0.0 changes before assuming a drop-in.

Compatibility. Now the explicit first deliverable rather than a footnote. Target v3.0.1 as the reference version; pin the bundle, then pin Sulu/Symfony around it, or accept that we fork and patch the constraint. Verify on a scratch Sulu install before touching a production codebase, and record the resolved composer.lock as the artifact of record.

Sequencing.

  1. Constraint read (30 min): diff composer.json between the version we would have used and 3.0.1. If it excludes our Symfony, stop and choose pin-versus-fork.
  2. Half-day spike: clean Sulu install, composer resolve on v3.0.1, submit a form, confirm redirect fires and data persists. Kill the initiative here if it doesn't resolve cleanly.
  3. Code audit: read every class in the v3 line; confirm target validation, status code, and hook ordering.
  4. Fork decision: if the audit finds gaps or constraints are wrong, fork under our org and vendor it via a VCS repository entry rather than Packagist.
  5. Staging rollout with two or three low-traffic forms; instrument submission and redirect success.
  6. Production after a full content-editor walkthrough on target selection and unpublished-page behavior.

Operational Impact

Maintenance. The dominant cost is still ownership, but the 3.0.1 release adds a concrete, recurring chore: patch releases can move platform constraints, so composer update on this dependency is a reviewed change, never an autopilot one. With negligible dependents and one maintainer, assume we fork within 12 months. Budget a small but recurring allocation for Sulu upgrade cycles. This remains a "vendor a 400-line feature" decision, not a "take a dependency" decision — the patch release buys us a little time, not a support contract.

Support. No community, no Stack Overflow corpus, no issue-tracker velocity to rely on. Internal documentation of the redirect semantics (status code, ordering relative to email/persistence, target validation rules) is mandatory and should be written during the spike, not after. Add a short "version pin rationale" note recording why we sit on whatever v3.x patch we sit on — future-us will otherwise bump it blind and discover the constraint change in production.

Scaling. Negligible runtime cost — a redirect decision on a submit path. Scale concerns live in the form submission itself (spam, file uploads, notification email throughput), which this bundle neither helps nor hinders. Admin-side, every additional form gains a field editors can misconfigure; that is content-governance load, not compute load.

Failure modes to instrument.

  • Constraint-driven silent inertness — the new top failure mode. After a Symfony/Sulu bump, the bundle may fail to boot or the subscriber may stop firing, and forms revert to the default success message with no error. This is the worst failure because it is invisible. Add a boot-time assertion and an alert.
  • Redirect target unpublished or deleted → 404 or 500 on a successfully submitted form, destroying the conversion.
  • Locale mismatch on multi-site setups → wrong-language landing page.
  • Redirect loop if a landing page itself hosts the form.
  • Open redirect if target is unconstrained.
  • Submit succeeds but notification email ordering changes, causing duplicate or dropped lead notifications.

Add a smoke test that submits a form and asserts the redirect target resolves to a 200 on every deploy — and run it specifically after any dependency update touching Symfony, Sulu, or this bundle.

Ramp-up. Low for engineers (small codebase, conventional Sulu bundle patterns; ~1 day to full comprehension, plus an hour to absorb the v3 line if migrating). Moderate for content editors (one new field, one new set of rules). Low for ops if vendored through Composer properly.

Verdict. Unchanged in direction, marginally improved in timing. High-value problem, low-maturity artifact; v3.0.1 is housekeeping on a dependency constraint, not a maturity signal. Proceed only with an explicit fork-and-own commitment and a spike that validates the v3.0.1 Symfony constraint against our stack first; otherwise implement the equivalent in-house for roughly the same effort and without the dependency risk.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log