jeffersongoncalves/filament-knowledge-base
A Filament package for building a searchable knowledge base in your admin panel, with categories, articles, and a clean public-facing interface for help docs and FAQs.
ArticleAssets::url(), which returns a signed URL for articles that aren't public. That turns "internal-only KB with images and attachments" from a security liability into a shippable feature.storage:link is only needed against older core versions; combined with private-disk defaults, this removes a recurring ops/setup step and a common source of "images broken in staging" tickets.Consider it when all of the following hold:
jeffersongoncalves/laravel-knowledge-base ^2.0 — this is a companion package, not a standalone asset manager.private visibility, URLs refreshed on form load including Trix's own attachment payload, and deleted images gracefully dropped from rendered content.Look elsewhere (or defer) when:
laravel-knowledge-base ^2.0, or you are on a core version that still links directly to the public disk — you would carry the storage:link requirement and lose most of the value here.For executives: This is a small, low-risk patch that closes a real security gap — private knowledge-base articles no longer expose images and attachments through public disk URLs. It makes "internal-only documentation with visuals" a feature we can ship and defend in a security review, and it removes a setup dependency (storage:link) from our deployment checklist. Cost is a version bump; risk is contained because the change is a backport of an already-shipped fix.
For engineering: Patch release, no breaking changes. Assets now resolve via ArticleAssets::url(), so private articles yield signed URLs; the Guest and User panels resolve content before render, emitting each asset's current URL and omitting deleted images. Editor attachments default to private, and asset URLs — including Trix's attachment data — refresh on form load, so expired stored URLs self-heal. Assets are also identified by uuid when the URL is one the core serves, not just by disk path, so they acquire an asset ID on save. Constraint to note: this is the Filament 3 backport of #64, so treat Filament 4 as a planned upgrade with its own ticket rather than an incidental bump.
How can I help you explore Laravel packages today?