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

Categorizer Bundle Laravel Package

sylius/categorizer-bundle

Sylius Categorizer Bundle adds flexible categorization to Symfony and Sylius apps. Build hierarchical category trees, assign categories to any Doctrine entity, and manage categorized resources through reusable models, repositories, and UI integration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Primary decision this informs: do not adopt. This assessment supports a negative build-vs-buy determination for catalog taxonomy/categorization functionality. The package is explicitly marked DEPRECATED, the repository is archived, it has 15 stars and zero dependents — meaning no production codebase of consequence is known to rely on it, and no upstream maintainer is obligated to patch it.

Where it still carries value for a PM:

  • Build vs. buy vs. borrow (answer: borrow the pattern, not the code). The bundle's approach to product categorization within a Sylius/Symfony commerce stack is worth a short architectural read — how it models category assignment, hierarchy, and product-to-category relations. That reading informs our own taxonomy data model without taking on a dead dependency.
  • Roadmap scoping for catalog features. If categorization or merchandising taxonomies appear on the roadmap, this artifact justifies allocating engineering time to a first-party or actively maintained solution rather than a "quick integration." It closes the shortcut option cheaply.
  • Migration/technical-debt decisions. If any legacy Sylius-era code in our estate references this bundle, the archived status converts "someday we should migrate" into a tracked, date-bound remediation item with a clear owner.
  • Architecture Decision Record input. This is the kind of finding that belongs in an ADR: "categorization approach — rejected legacy bundle, rationale: unmaintained, deprecated, no dependents, no version support guarantees."

What it should not support: any decision to add it to a dependency manifest, any spike that assumes it as a foundation, and any estimate that treats it as a solved problem.

One important framing correction for stakeholders: despite being filed alongside Laravel/PHP packages, this is a Sylius (Symfony) bundle, not a Laravel package. It is not drop-in for a Laravel codebase without adopting Sylius's underlying Symfony conventions. Any PM-level evaluation must account for that framework mismatch before the deprecation status even becomes the blocking issue.

When to Consider This Package

Adoption criteria and disqualifiers, in order of weight:

Consider only if all of the following are true:

  • We are maintaining a legacy Sylius application already depending on this bundle, and the cost of removal now exceeds the cost of a staged replacement.
  • There is an active, dated migration plan off it — this is a temporary containment decision, never a forward-looking one.
  • The scope is confined to an internal, non-customer-facing surface where a known-unmaintained dependency carries limited exposure.

Look elsewhere in every other case. Specifically, disqualify it when any of the following apply — all of which are true here:

Criterion Assessment
Maintained / not deprecated Fails — explicitly deprecated and archived
Security patch cadence Fails — no maintainer, no disclosure path
Framework/runtime currency (PHP 8.x, current Symfony) Fails — archived before modern versions
Adoption signal (dependents, ecosystem use) Fails — zero dependents, 15 stars
Clear successor path Available — Sylius core's own taxonomy/categorization facilities

Where to look instead: Sylius core's built-in taxon/categorization support is the natural successor for Sylius-based work. For non-Sylius PHP stacks, evaluate actively maintained tree/hierarchy libraries (Doctrine tree extensions) or model taxonomy in-house — categorization is a well-understood domain where a small first-party implementation is usually cheaper than inheriting an unmaintained bundle's assumptions. Apply the standard bar to whatever we pick: recent commits, supported runtime versions, a disclosed security process, and meaningful downstream usage.

Threshold for revisiting: none. An archived repository with an explicit deprecation notice is not a candidate for re-evaluation; only a fork we own and staff would change the calculus, and forking a 15-star deprecated bundle is almost never the cheapest path.

How to Pitch It (Stakeholders)

To executives: We evaluated a catalog-categorization component for potential reuse. It is formally deprecated and archived upstream, has no active maintainer, and effectively no adoption across the ecosystem. Adopting it would create an unpatched dependency in our product catalog — a security, compliance, and hiring-risk exposure with no offsetting speed gain, since a modern equivalent is available and supported. Recommendation: no adoption; treat as reference material only. If any legacy system relies on it, we should budget remediation rather than defer it.

To engineering: Read it, don't import it. The bundle is a useful historical reference for how product-to-category relationships and hierarchy were modeled in the Sylius ecosystem, but the code is unmaintained and predates current PHP/Symfony support. Treat it as design input for a first-party taxonomy model or as confirmation that Sylius core's built-in facilities are the right successor. If we have existing references to it, flag them — we should have a named owner and a target date for removal, and I'd like the migration tracked rather than absorbed silently.

To product/design: This does not block categorization or merchandising features. It removes one "integrate and move on" option from the table early, which is the useful outcome — it means the taxonomy work gets scoped properly rather than assumed away, and it avoids a mid-flight dependency failure after launch.

One-line version: Deprecated, archived, zero dependents — not a dependency, but a useful reference and a cheaply closed decision.

Ask: Approve closing this as "evaluated, rejected," record it in the ADR log, and confirm whether any current system references it so we can schedule removal.

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.
takashato/laravel-vietqr
aitor24/laralang
kraenzle-ritter/entity-relations
dindigital/din-image
pomirleanu/image-colors
sawmainek/laravel-api-generator
delatbabel/jsonresponses
mouhamedfd/permissions-generator
eduplus/qr
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json