Skip to main content
Version: 2.0.0

Use Cases

Build a basic product feed for a marketplace

Under Feeder → Feeds → New feed, give the feed a Name and a Filename, and pick an Element Type — entries, categories, users, and assets are always available; products, variants, orders, and customers appear once the store/commerce plugin providing those element types is installed (see Settings → Registered Export Sources to confirm what's available). Save, then use Generate feed to produce a file on demand and check the output before scheduling anything.

Write a custom output template with the Output Builder

On the feed's Output Builder tab, reference source fields with {fieldHandle} placeholders in the Header, Content, and Footer patterns — Header/Footer render once, Content renders once per exported element. Leave all three empty to fall back to the default field-per-column export for the feed's output format.

Transform values with modifiers

Chain modifiers onto a placeholder with |, for example {title|trim|slugify}. See Usage → Fields, template mode and modifiers for the full modifier list.

Reuse a filter across multiple feeds with a rule

Build a rule targeting an element type once, then attach it to every feed that exports that type instead of recreating the same condition on each feed.

Schedule a feed to regenerate automatically

Set a feed's execution mode to schedule and provide a cron-style Schedule pattern. Scheduled feeds don't run themselves — something still has to call feeder/export/run-due on an interval (system cron or an equivalent scheduled-task runner) to evaluate due feeds and queue them. See Console command.

Run a large export through the queue instead of inline

For a source with a large element count, use Generate feed (or export/queue, or a scheduled run via run-due) instead of export/run --stdout. The export is processed in chunks of Default chunk size (Settings) elements at a time through Craft's queue, each chunk re-queuing the job until the whole export is written and delivered — this avoids the timeout and memory pressure of building the entire file inline in one request. See Developer API → Queued export job for how the chunking and resume-on-retry mechanics work.

Recover from an interrupted or failed queued export

If a queued export fails partway through (a delivery error, a worker restart, an exception in a custom writer), just queue the same feed again — Generate feed, export/queue, or the next scheduled run. Feeder resumes from the checkpoint left by the previous attempt instead of reprocessing already-exported rows. Avoid queueing the same feed a second time while an earlier job for it is still in progress; both runs share the same per-feed checkpoint file.

Deliver a feed straight to a partner's server

On a feed's FTP/Remote tab, turn on delivery, set the host, protocol (FTP, FTPS, or SFTP), credentials, and remote path. Every run — manual, scheduled, or queued — uploads the generated file to that path after writing it locally; the run's history entry records the delivery target.

Review what happened on recent runs

Feeder → History (when Enable history logging is on in Settings) lists recent runs with status, row count, delivery target, and any error message, including the intermediate queued/processing states a chunked queue job passes through before it finishes. Use it to confirm a schedule or queue job actually completed without re-running the export.

Automate exports from the command line

Drive Feeder from php craft feeder/export/* console commands instead of the CP: list feeds, inspect a feed's fields, run a feed synchronously or queue it, or queue everything due on its schedule. See Developer API → Console command for the full reference — this is the way to invoke Feeder from a deploy script or system cron job.