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

Filament Feed Laravel Package

phpsa/filament-feed

A Filament package for bringing RSS/Atom feeds into your admin panel. Add feed widgets or pages to surface external news, changelogs, or blog posts alongside your app data, with a simple PHP API for fetching and rendering syndicated content.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with composer require phpsa/filament-feed. This is the initial v1.0.0 release, so there is no upgrade path or prior API to preserve.
  • Look first at the package README, src/, and any published config/views. Identify:
    • the service provider/plugin registration mechanism,
    • the feed page/endpoint class or route,
    • the config keys controlling feed behaviour,
    • the extension points for item mapping and queries.
  • Register the package in your Filament panel provider if it is plugin-based; otherwise confirm Laravel package discovery is sufficient. Publish config/views only if the README requires it.
  • First use case: expose an RSS feed for a Filament-managed resource, such as published blog posts or news items. Create/configure the feed, point it at the resource query, open the feed URL in a browser, and verify valid XML with the expected items.

Implementation Patterns

  • Use one feed per resource or content type. Keep the feed definition in a dedicated class/action rather than embedding query logic in a page or controller.
  • Map feed items explicitly: title, absolute URL, description/summary, publication date, stable GUID, and author/category fields where supported.
  • Apply the same visibility rules as the Filament resource: published status, tenant scoping, locale, permissions, and soft-delete handling. A feed is an API surface and should not leak drafts or private records.
  • Cache generated feed responses or source queries. Use a cache key that includes tenant, locale, filters, and page/limit; invalidate on relevant model events or warm the cache from a scheduled command.
  • For multi-tenant or multi-language apps, create separate feed routes or scoped feed definitions rather than relying on request state that feed readers will not send.
  • Test feeds with XML assertions: status code, XML content type, item count, ordering, escaping, absolute URLs, and exclusion of unpublished/private records.
  • Integrate with admin workflows by linking to the feed URL from the resource page or dashboard, and use absolute URLs so items work in external readers.

Gotchas and Tips

  • v1.0.0 is an initial release. Pin the version until you have smoke-tested the public API; expect the package to mature.
  • Check Filament compatibility carefully. This release is from the Filament v2 era; verify constraints before using it with newer Filament versions.
  • Feed endpoints are usually public by design. Avoid placing them behind admin auth middleware unless you intentionally want authenticated feeds, and never expose unpublished or tenant-private records.
  • XML escaping and date formats are common failure points. Use the package’s mapping layer where possible and test with titles containing &, <, quotes, and non-ASCII characters.
  • Watch for N+1 queries when mapping relationships, authors, or categories. Eager-load everything the feed needs.
  • If the feed route conflicts with existing routes, inspect php artisan route:list and adjust route order/prefixes.
  • After config or view changes, run php artisan config:clear and any Filament cache-clearing commands used by your app.
  • Debug with curl -i <feed-url>, browser XML views, storage/logs/laravel.log, and route listing. Confirm the response is XML, not an HTML error page.
  • Extension points to prefer: published config, overridable feed class/page, custom item mapping closures, and published views. Avoid forking the package for small changes.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager