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

Sylius Happy Cms Plugin Laravel Package

agence-adeliom/sylius-happy-cms-plugin

Sylius plugin that integrates Happy CMS, letting store admins manage pages, content blocks, and rich text alongside commerce data so you can build flexible merchandising content without custom development.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — primary concern: The release data describes agence-adeliom/sylius-happy-cms-plugin, which is a Sylius (Symfony) plugin, not a Laravel package. It provides a CMS/CMF layer (blocks, routes) and admin CRUD scaffolding for Sylius storefronts. As scoped — "a Laravel/PHP package" — there is no native architecture fit: it cannot be dropped into a Laravel application, has no service provider/container bindings in the Laravel sense, and depends on Symfony bundles, Sylius resources, and Doctrine ORM conventions. It is only relevant to a Laravel team as a separate Symfony-based commerce/content service behind an API boundary. This must be resolved before any further evaluation spend.

Integration feasibility: Only feasible in one of two shapes:

  • Headless split: Sylius + Happy CMS runs as its own app; Laravel consumes CMF routes/blocks via HTTP/JSON or a content API. Integration cost is in the contract layer, not the package.
  • Monorepo/mixed stack: Laravel app plus a Symfony service in the same repo/CI, with shared auth and deployment. Higher operational cost.

Direct in-process use from Laravel: not feasible.

Technical risk (release-specific):

  • Removal of CrudAdminFactory (PR #90) is a dependency-API break. Any local code extending or calling that factory will fail after upgrade — this is the highest-impact item and is not a runtime-flagged deprecation.
  • #[AsAdmin] emitted by makers (PR #91) changes generated output, not just internals. Newly scaffolded admin classes now require easy-crud 2.4+. Consumers pinning easy-crud <2.4 will produce admin classes that do not register. That is a de facto minimum-version bump shipped in a minor release.
  • Symfony AI Mate tooling (PR #92) adds a new developer-tooling surface for CMF routes and blocks. Likely dev-only, but it introduces an optional dependency and a new source of version conflicts in CI. Runtime risk low; tooling/supply-chain risk non-trivial.
  • Bus factor: all three PRs come from one author (@jdadeliom), and the release notes list that same author as a "new contributor" — a metadata inconsistency suggesting release automation rather than genuine contributor growth. Maintainer concentration remains high.
  • Versioning discipline: minor-version release carrying a dependency-driven behavioral change (maker output) and a removed class. Semver signal is weaker than the actual change amplitude.

Key questions:

  1. Is the evaluation target genuinely Laravel, or was the framing generic and the real target Symfony/Sylius? If Laravel, is the intended scope a headless API boundary?
  2. What easy-crud constraint does v2.4.0 declare in composer.json — ^2.4 or wider?
  3. Do we have any local code referencing CrudAdminFactory?
  4. Are existing admin classes pre-attribute (config/YAML-registered) and therefore unaffected, or do we regenerate?
  5. Is Symfony AI Mate optional/lazy-loaded, and does it add a hard require or require-dev entry?
  6. Supported Sylius/PHP version matrix for v2.4.0, and the maintainers' stated path to easy-crud 3.x.

Integration Approach

Stack fit: Laravel's ecosystem (Eloquent, Blade/Livewire, Laravel auth, Horizon/Octane) does not map onto this plugin's assumptions (Doctrine entities/resources, Sylius resource bundles, Symfony form/attribute-driven admin). Treat this as a foreign service, not a library. No shared runtime, no shared container, no shared ORM.

Migration path (if pursuing the headless split):

  1. Pin and audit: resolve easy-crud to ^2.4 in the Symfony app's composer.json; grep the codebase for CrudAdminFactory and for maker-generated admin classes.
  2. Bump easy-crud first, in isolation, and run the admin suite — establish whether the removal breaks custom admin code independently of the plugin bump.
  3. Upgrade sylius-happy-cms-plugin to v2.4.0 on a branch; run a full cache warm and container compile to surface attribute registration errors early.
  4. Regenerate a sample of admin CRUD via makers in a throwaway branch and diff against existing classes to see the #[AsAdmin] shape before regenerating anything real.
  5. Define the Laravel-side contract: which CMF routes/blocks are exposed, in what payload shape, and cached how. This is net-new work not covered by the plugin.
  6. Adopt AI Mate tooling in dev environments only, behind a feature flag, after step 3 is green.

Compatibility: Two independent constraints must align — easy-crud 2.4 (for #[AsAdmin] output and factory removal) and the Sylius/PHP version supported by the plugin. Confirm both before scheduling. Existing admin classes registered the pre-attribute way should continue to work; only newly generated ones require 2.4.

Sequencing: Dependency audit → easy-crud bump → plugin bump → container/cache validation → maker diff review → CMF route/block regression → AI Mate tooling trial → staging. Do not bundle the easy-crud bump with the plugin bump in one PR; keep them separable so a rollback is surgical. The headless contract work should run in parallel and is the long pole, not the version bump.

Operational Impact

Maintenance: Ongoing cost is dominated by tracking easy-crud, which the plugin treats as a moving target — a minor easy-crud release already forced a factory removal here. Budget for a compatibility review on every easy-crud minor. The plugin itself is agency-maintained with concentrated authorship; expect response latency on issues and limited external contribution.

Support: No commercial support implied. Escalation is GitHub issues against a small French agency. For a revenue-affecting storefront and admin surface, that is thin — plan an internal owner who can read Symfony/Sylius internals, and consider vendoring a fork for critical patches.

Scaling: Runtime scaling is not the concern — admin registration is compile-time (container/attribute discovery) and CMF route/block resolution is cache-warmed. Scaling risk sits in admin generation throughput and CI time (container compile with attribute scanning) and in the headless API layer we would add on the Laravel side, which is our cost, not the package's.

Failure modes:

  • Composer conflict on easy-crud when other bundles require <2.4 — blocks the upgrade entirely.
  • Missing CrudAdminFactory at runtime after a partial upgrade — admin pages 500 with an unclear container error.
  • Silent admin non-registration: makers emit #[AsAdmin] but easy-crud is older, so generated classes exist yet never appear in the admin UI. Worst failure mode because it looks like success.
  • CI breakage from AI Mate tooling pulling an incompatible Symfony AI dependency set.
  • Headless contract drift: CMF block/route shape changes across plugin versions without a versioned API, silently breaking the Laravel consumer.
  • Rollback ambiguity if the plugin and easy-crud bumps ship together.

Ramp-up: Steep for a Laravel-oriented team — requires Symfony bundle/container intuition, Sylius resource conventions, Doctrine mapping, and now attribute-based admin registration. Estimate meaningful productivity only after the team has done one full admin-generation cycle and one cache/container debug cycle. The AI Mate tooling marginally lowers the CMF route/block discovery cost for newcomers, but should not be treated as a substitute for Sylius fundamentals.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle