Ir al contenido

RSS / Atom feeds — pull-style content syndication

Esta página aún no está disponible en tu idioma.

A reviewer / coordinator wants to know when new content matching a saved search lands. Push notifications (email, Slack, in-app) cover now-active notifications, but RSS/Atom is the format that lets people:

  • Subscribe to “everything in Collection X” from their feed reader of choice without juggling another app.
  • Wire Artist Alley into Slack / Teams / Discord via the built-in RSS connectors those platforms ship.
  • Wire Artist Alley into Zapier / n8n / Make / IFTTT via the standard RSS trigger every workflow tool supports.
  • Mirror collections / saved searches to digest emails generated by external tools without Artist Alley shipping a dedicated digest- email subsystem.

The audit (2026-05-30) initially flagged RSS as “low priority — use webhooks.” User override 2026-05-30: yes, ship RSS.

Add Phase 1.31 — RSS / Atom feeds — as a read-only standard feed surface on top of the existing search + collection model.

GET /feed/collection/{collection-slug}.atom
GET /feed/collection/{collection-slug}.rss
GET /feed/search/{saved-search-id}.atom
GET /feed/user/{user-handle}/uploads.atom
GET /feed/tag/{tag-slug}.atom

Format selection by extension. Atom is the primary supported format (better-defined spec, modern); RSS 2.0 is offered for compatibility with feed readers that don’t speak Atom (rare in 2026, but cheap to provide).

Feeds for non-public content use a per-user feed token in the URL:

GET /feed/collection/{slug}.atom?token={feed-token}

The feed token is mintable in account settings, single per user, and revocable. Token grants the holder access equivalent to the user’s own — never elevated. This is the pattern that GitHub uses for private feed URLs and it works in any feed reader without HTTP-Basic configuration.

Each entry includes:

  • id — Artist Alley post URL (stable, hash-based)
  • title — post title
  • summary — first 280 chars of description
  • content — full description (Atom only; RSS uses description)
  • author — author handle + display name
  • published / updated — ISO timestamps
  • category (tags as terms)
  • media:thumbnail — cover thumbnail URL (with feed token if needed)
  • media:content — first asset URL (full media RSS extension)
  • Custom aa:sensitivity, aa:workflow-state, aa:asset-count for feed readers that understand them; ignored by everything else.

Items whose sensitivity is embargo or restricted are filtered out of feeds entirely — feeds are not authenticated enough to enforce embargo. A feed-aware operator can opt into “include restricted with title + thumbnail blurred” if their feed pipeline is private.

Feed responses are cached server-side per (target, user-token-hash) for 5 minutes. ETag + If-Modified-Since supported for low-cost polling.

Feed readers poll on their own schedule. We do NOT push to feeds. Cron / Slack / Zapier / etc. that need shorter cadence use webhooks (notification rules, Phase 1.18) instead.

Positive

  • One small surface area unlocks integration with hundreds of external tools that already speak RSS.
  • Zero coupling to any third-party platform — RSS is an open standard.
  • Feed reader users get a passive “watch this collection” without needing an Artist Alley tab open.
  • Cheap to implement: read-only, reuses existing search.

Negative

  • Feed-token URL pattern is on-by-default a long-lived credential. Mitigation: tokens are revocable, the issuance + revocation surface lives in account settings.
  • Feed crawlers can be aggressive; rate-limit per IP.
  • Webhooks only, skip RSS. Original audit recommendation. User override — RSS is the universal lingua franca for “tell me when things change” outside event-driven webhook systems.
  • JSON Feed format. Cleaner spec, but less ecosystem support in feed readers. Adopt later as a third format if there’s demand.
  • OPML export. A list of feeds, not a feed itself. Out of scope.
  • Phase 1.31 in docs/roadmap.md.
  • Saved searches (Phase 1.12 Search 2.0) supply the /feed/search/{saved-search-id} source.
  • Webhook notifications (Phase 1.18) cover the push-style equivalent for tools that prefer it.