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

Gallery Bundle Laravel Package

fsi/gallery-bundle

FSi Gallery Bundle provides Doctrine-backed image galleries for Symfony applications, including photo uploads, thumbnail generation, and Twig helpers for rendering albums. Drop it into an existing admin to manage galleries and media with minimal setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor (fundamental mismatch). fsi/gallery-bundle is a Symfony2 bundle, not a Laravel package. It ships as a bundle class registered through AppKernel, wires its services through Symfony's DependencyInjection component (services.xml), and renders through Twig templates with Symfony form types and routing. A Laravel application has no AppKernel, no bundle registration lifecycle, no Symfony DI container semantics, and no Twig by default. None of the package's intended integration surfaces (doctrine, sylius, symfony/framework-bundle siblings in the FSI Open ecosystem) exist in a Laravel stack. Architectural fit is not "adaptable with effort" — the bundle's core value proposition is container wiring into a framework Laravel does not share.

Integration feasibility — low without a rewrite. A realistic integration would be a partial port: extract the domain model and persistence layer, reimplement the container bindings as Laravel service providers, and replace Twig with Blade. At that point the deliverable is a bespoke gallery implementation, and the bundle is functioning as a reference implementation rather than a dependency. Estimate the port at the same order of magnitude as writing the feature from scratch, plus the cost of understanding unfamiliar, undocumented, decade-old code. That is a poor trade.

Technical risk — high and largely irreducible.

Risk Detail
End-of-life Last release 2015-03-10; targets Symfony 2.x (EOL since 2019) and the PHP 5.x era
Security No upstream patching for ~10 years; any transitive dependency it pins is unmaintained
Community signal 5 stars, 0 dependents — no downstream users to surface bugs or contribute fixes
Compatibility Symfony 2 constraints conflict directly with modern PHP (8.1+) and Laravel 10/11 requirements
Abandonment No maintainer response path; you inherit full ownership on day one

Key questions before any further investment:

  • Is there a specific capability here (multi-gallery, file ordering, image variants) that cannot be met by spatie/laravel-medialibrary or intervention/image in a fraction of the time?
  • Does our stack have any residual Symfony components, or is this a pure Laravel codebase? (If pure, the answer is no.)
  • What is the actual PHP version floor/target for the current application, and does the bundle's composer.json require php: ~5.3|~5.4?
  • Is the FSI Open suite of sibling bundles (fsi/resource-bundle, fsi/datagrid-bundle) a hidden dependency chain we would also be adopting?
  • Who owns the fork, and is there budget for indefinite self-maintenance of ported code?
  • Is the license (MIT) compatible with our redistribution model if we vendor a fork? (Yes, but the attribution/notice obligation should be recorded.)

Integration Approach

Stack fit — none. The bundle assumes Symfony DI, Twig, Doctrine ORM entities with Symfony-form-bound controllers, and a Symfony router. Laravel's service container, Eloquent/Query Builder, Blade, and routes/web.php do not map onto these. Treat this as not integrable as a dependency; the only viable posture is "reference implementation."

Migration path — recommend against, with one narrow exception. Three options, ranked:

  1. Adopt a maintained Laravel-native alternative (recommended). spatie/laravel-medialibrary for media/collection management plus intervention/image for derivative generation covers the stated capability with active security patching, Laravel 10/11 support, and a support community. Effort: days, not weeks.
  2. Extract the domain model only. If a specific data model or behavior in the bundle is genuinely valuable, port the entities to Eloquent models and rebuild the surrounding services as Laravel providers. Accept that ~70% of the package (container config, Twig views, Symfony controllers) is discarded.
  3. Fork and modernize the bundle. Not advised: produces a maintained-in-perpetuity artifact with no upstream and no community, for a solved problem.

Compatibility — blocking. Composer resolution will fail against a modern Laravel app on PHP version constraints alone; forcing resolution with --ignore-platform-reqs yields runtime fatals rather than a working integration. Do not attempt to vendor it into the vendor/ tree.

Sequencing — a single timeboxed spike, then stop. If the team still wants evidence: (1) 1–2 day read-only spike to document the domain model and confirm the capability gap; (2) side-by-side proof-of-concept of the top alternative against the same requirement; (3) decision gate comparing effort and long-term ownership. Do not sequence this ahead of any delivery commitment, and do not let the spike become a port.

Operational Impact

Maintenance — worst case. Zero upstream maintenance means every future PHP upgrade, framework upgrade, or security audit becomes our problem. A ported fork carries the same ownership burden as first-party code but with unfamiliar, undocumented origins and no test suite to lean on as a regression net. Budget for permanent ownership or none at all.

Support — nonexistent. No maintainers, no issue triage, no dependents to consult. Internal knowledge transfer depends entirely on whoever runs the spike; capture findings as written documentation or the knowledge evaporates with staff turnover.

Scaling — unproven. Gallery workloads are I/O- and storage-bound (original uploads, derivative generation, CDN delivery), not the bundle's concern. If we port it, we also inherit decisions about image processing and storage abstraction made for a Symfony/Doctrine context, which will likely need replacement for queue-based derivative generation and S3-style object storage. Adopting a Laravel-native library gets these primitives already solved.

Failure modes. Expect: Composer dependency-resolution failures at install; class-not-found and container-compile errors on any attempted bootstrap; fatal errors from PHP 5-era syntax and removed functions on PHP 8.x; silent behavioral drift if --ignore-platform-reqs is used; and, in a partial port, orphaned Doctrine assumptions leaking into Eloquent code paths. These are loud failures early, which is the one favorable property — the package will not quietly work halfway.

Ramp-up. Low investment required to reach a decision, high investment required to reach production. The correct ramp is a short evaluation, not a learning curve on Symfony2 internals.

Verdict: Do not integrate. The 0.175 score and 5-star/0-dependent profile are consistent with an abandoned, framework-mismatched artifact. Recommend rejecting on architecture-fit grounds before cost-of-port analysis, and directing the requirement to a maintained Laravel-native media library.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core