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

Koomeh Laravel Package

armincms/koomeh

Koomeh is an ArminCMS extension for Laravel that adds ready-to-use CMS features, configuration options, and Blade components. Install it via Composer, publish its assets, and integrate it quickly into an existing ArminCMS-powered site.

View on GitHub
Deep Wiki
Context7

Getting Started

This assessment is based on a single data point: version 0.2.1, whose changelog entry is "Fixes gallery field." No README, source, or prior assessment was available, so treat the specifics below as a checklist to verify rather than established facts.

  • Pin the version. You are on a 0.x release line, which by semver convention permits breaking changes in minor bumps. Require ^0.2.1 (or an exact pin) rather than *, and read the full CHANGELOG before any 0.3.0. The 0.2.1 gallery fix is a patch, so it should be a low-risk upgrade — but verify it against your own gallery usage before rolling to production.
  • Look first at: README.md (install + field usage), CHANGELOG.md (what "gallery field" refers to and what changed in 0.2.0 → 0.2.1), src/ for the service provider and any field/component classes, config/ for a publishable config, database/migrations/ for publishable tables, and tests/ for the gallery field's expected behaviour.
  • First use case: exercise the gallery field end to end, since that is the thing that just changed. Install, publish config and migrations, define a form/resource containing the gallery field, then upload multiple images and verify: ordering, removal of a single item, and the empty state. Those four cases are where a "gallery field fix" most often bites.

Implementation Patterns

  • Treat the field as a collection, not a scalar. A gallery field typically maps to an array of paths/IDs and therefore needs a model cast (array/collection/AsArrayObject) or a HasMany relation, plus delete/reorder handlers. Confirm from the source which contract this package uses before writing your own persistence layer around it.
  • Keep uploads behind the package's own pipeline. If the package ships a field component or trait, extend/compose it rather than reimplementing file handling — you inherit future fixes (like 0.2.1) for free.
  • Configuration over patching. Publish the config file and set disk, directory, and validation rules there. This keeps you off the upgrade path for vendor files and makes per-environment behaviour (local vs S3) explicit.
  • Test the field in isolation. Use Storage::fake() and assert on the persisted array/relationship after Livewire::test() or a feature request. A regression test for multi-image upload is the cheapest insurance against the next gallery regression.
  • Upgrade workflow: bump in a branch, run your test suite, then manually smoke-test the gallery field in a browser — file inputs are the class of thing that green unit tests routinely miss.

Gotchas and Tips

  • Pre-1.0 churn is the headline risk. Anything you build on 0.x API surface is provisional. Isolate your usage behind a thin wrapper or service class so a 0.3.0 rename costs you one file, not fifty.
  • "Fixes gallery field" is under-specified. Check the commit or PR for the actual change — whether the fix was ordering, deletion, validation, or storage — and confirm the bug is one you were hitting. If you were working around it, remove the workaround deliberately rather than leaving it to rot.
  • Orphaned files are the classic gallery bug. Deleting a model row does not necessarily delete its images, and removing one image from a gallery may leave the file on disk. Test deletion explicitly and add cleanup via model events or a scheduled prune if the package doesn't handle it.
  • Config and route caching. After changing published config, run php artisan config:clear; in cached environments a stale config is the usual cause of "the field works locally but not in staging."
  • Disk and URL generation. Verify Storage::url() output matches the configured disk in each environment — a gallery that renders locally can produce broken URLs behind a CDN or on S3 without the right visibility settings.
  • Debug path: dump the raw request payload for the field before it is transformed. The gap between what the browser submits (often a nested array of files and existing paths) and what the field expects is where most gallery issues live.
  • Extension points: prefer the package's documented hooks (field config, disk driver, validation rules, view overrides) over subclassing internals. If you must reach into src/, pin the exact version and leave a comment linking to the release notes you were compensating for.
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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels