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

Advanced Content Bundle Laravel Package

sherlockode/advanced-content-bundle

Advanced Content Bundle is a Symfony bundle for building flexible, editable content pages. It provides reusable content blocks, configurable block types, and a structured content model that lets developers add dynamic CMS features to Symfony applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — primary finding: this is not a Laravel package. sherlockode/advanced-content-bundle is a Symfony bundle. The v0.10.0 notes reference Symfony 7.4 migration, Twig extensions, and Doctrine ORM 3 lifecycle events — none of which are part of the Laravel runtime (Blade, Eloquent, Laravel's event dispatcher). If the consuming application is Laravel, this package is out of scope as-is; using it would require pulling in Doctrine ORM, the Symfony event dispatcher's Doctrine bridge, and Twig alongside Blade/Eloquent, producing a dual-ORM, dual-templating architecture that is expensive to own. Recommendation: confirm the target framework before any further evaluation. The remainder of this assessment assumes a Symfony consumer, which is the package's actual supported context.

Integration feasibility (Symfony context) — moderate. Standard bundle integration applies: Composer require, registration in config/bundles.php, bundle config, and Doctrine/Twig wiring. The v0.10.0 work is largely correctness and compatibility maintenance (CS Fixer, Rector rule application, strict types, Twig extension fix, Doctrine ORM 3 event listeners, Symfony 7.4 migration), which is what an integrating team wants to see — the package is being actively brought forward onto current framework versions rather than left to drift.

Technical risk — elevated for a 0.10.0 bump. Several concerns compound:

  • Pre-1.0 versioning. At 0.x, SemVer stability guarantees do not apply. A minor bump may contain breaking changes, and the release notes contain no explicit "Breaking Changes" section — absence of a callout is not evidence of absence.
  • Rector full rules applied (PR 323) plus "Rector SF partials rules" (PR 322). This is a codebase-wide automated refactor. That is a broad regression surface landing in the same release as a framework migration. It is a change to how the library is written, not to what it does, but automated refactors have a non-trivial history of altering edge-case behaviour.
  • Symfony 7.4 migration (PR 326) implies a raised floor. Consumers on Symfony 6.x/7.0–7.3 should assume they are dropped or untested until the composer.json constraints are read directly.
  • Doctrine ORM 3 event listener compatibility (PR 327). ORM 3 changed lifecycle event semantics. This is the highest-risk item: a listener signature mismatch can fail silently — the hook simply never fires, and content side effects (postLoad hydration, prePersist/onFlush writes) quietly stop happening.
  • "Fix strict type" (PR 325) can convert previously-coerced values into TypeErrors on legacy data that was tolerated under weaker typing.
  • Twig extension fix (PR 324) changes how the extension is invoked ("don't use attribute in bundle"), which can alter rendered output for existing templates.

Key questions for the maintainer / vendor:

  1. Is there a documented BC-break list for 0.9.9 → 0.10.0, and is a 1.0.0 / LTS commitment planned?
  2. What are the exact symfony/*, doctrine/orm, twig/twig, and PHP version constraints in v0.10.0's composer.json?
  3. Is there a CHANGELOG or UPGRADE guide beyond the auto-generated PR list?
  4. Which CI matrix (PHP × Symfony × Doctrine) actually gates the release?
  5. Was the Rector full-rules pass (PR 323) validated by an unchanged behavioural test suite, or was the suite updated alongside?

Integration Approach

Stack fit. Target: PHP 8.2+ (Symfony 7.4 floor), Symfony 7.4, Doctrine ORM 3, Twig 3. This is a modern-stack-only bundle at v0.10.0. Any application on Symfony 6.4 LTS or Doctrine ORM 2 should treat v0.10.0 as unavailable and remain on 0.9.9.

Compatibility. Verify constraints before committing:

  • composer why-not sherlockode/advanced-content-bundle 0.10.0 in the target app to surface conflicts.
  • Confirm the app's Doctrine ORM major (2 vs 3). This single fact likely determines whether the upgrade is a drop-in or a paired migration.
  • Confirm Twig version and whether any app templates call the extension in the pattern PR 324 changed.

Migration path (0.9.9 → 0.10.0).

  1. Pin 0.9.9 explicitly as the known-good baseline in composer.json and tag the current app state.
  2. Create an upgrade branch and bump to 0.10.0; let Composer resolve the full dependency graph and record every transitive change.
  3. Diff the bundle's public surface: services, Twig extension signature, Doctrine listener classes and method signatures.
  4. Run the application test suite unchanged — do not modify tests to accommodate the upgrade in the same commit. Any test that must change is a finding to investigate.
  5. Smoke-test the content import path (PR 317 optimised it — confirm correctness, not just speed, on a representative fixture set).
  6. Render-diff key templates before and after.
  7. Exercise create/update/delete on content entities and confirm Doctrine listeners fire — verify by observable side effect, not by absence of errors.

Sequencing. Treat this as two independent changes and land them separately if possible: (a) the framework/Doctrine version alignment, (b) the bundle version bump. Bundling a Symfony 7.4 upgrade, a Doctrine ORM 3 upgrade, and a library refactor into one deploy makes rollback and blame analysis impractical. If the app is not yet on Symfony 7.4, the bundle upgrade is blocked behind that platform migration and should be scheduled after it.

Operational Impact

Maintenance. Positive signal: active maintenance with automated tooling adoption (PHP CS Fixer, Rector). That reduces long-term code-debt accumulation and makes future framework bumps cheaper. Counterweight: still pre-1.0, so every upgrade requires the same manual diff discipline rather than relying on SemVer. Budget recurring upgrade effort, not one-off.

Support. Small maintainer base, with a first-time contributor (PR 327) in this release. That is healthy for a community package but means support depth is limited — expect GitHub-issue-level turnaround and no commercial SLA. For a content-critical path, plan for internal ownership of the fork-and-patch option. Doctrine ORM 3 event-listener behaviour in particular is specialist knowledge worth identifying in-house early.

Scaling. PR 317 ("Optimise import") targets bulk content import — a genuine operational win if the platform ingests large content volumes, but its benefit is unquantified in the notes. Ask for benchmark figures before citing it as a scaling gain; treat performance as unproven until measured against the 0.9.9 baseline on your own fixtures.

Failure modes to monitor.

  • Silent — Doctrine lifecycle listeners no longer firing under ORM 3; content writes succeed but derived state (slugs, indexes, postLoad transformations) stops materialising. Highest-severity failure mode here because it produces no error. Mitigate with an invariant check or reconciliation job.
  • Silent — Twig extension invoked in the previously-supported pattern now rendering degraded or unescaped output.
  • Loud — TypeError from stricter typing on legacy rows (nullable/coercible values).
  • Loud — Composer resolution failure where Symfony or Doctrine constraints are pinned below the new floor.
  • Latent — Rector-driven refactor altering behaviour on an untested edge path, surfacing only under specific content shapes.

Ramp-up. Low framework ramp-up for a Symfony team — it is a conventional bundle with the usual registration/config idiom. The real ramp-up cost is domain knowledge: the content model, and specifically how Doctrine lifecycle events are relied upon for side effects. Budget roughly a sprint for: platform alignment verification, upgrade rehearsal in staging, listener/invariant validation, template render diffing, and import benchmarking. Add a rollback rehearsal — the pre-1.0 semantics mean the safe default is a revert-ready deployment.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package