Using FeedManager

Last modified: 7/16/2026

Using FeedManager

FeedManager is the runtime of the feeds addon — it pulls structured data from external feeds (earthquake catalogs, alert feeds, any JSON/GeoJSON endpoint) on a schedule and makes the records available on your pages, without creating one page per record. The data lives in a record store and refreshes on its own; your page just displays the latest.

The feeds addon is disabled by default. An administrator must enable it and configure at least one source before anything renders.

Enabling (administrators)

Add flat config keys to the instance's custom configuration (or via the admin configuration UI):

ngdpbase.addons.feeds.enabled: true
ngdpbase.addons.feeds.sources.usgs-quakes.adapter: geojson
ngdpbase.addons.feeds.sources.usgs-quakes.url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
ngdpbase.addons.feeds.sources.usgs-quakes.type: Event
ngdpbase.addons.feeds.sources.usgs-quakes.intervalMinutes: 30

Each source needs adapter, url, and type. Optional: intervalMinutes or dailyAt (schedule), recordIdField, itemsPath and map (field mapping for rest-json).

Available adapters today: geojson (GeoJSON FeatureCollections), rest-json (generic JSON endpoints), and xml (generic XML documents — attributes are addressed as element.@attribute, element text as element.#text). More formats (RSS/Atom, CSV) are planned.

Showing feed data on a page

A table of records — DataFeedPlugin

[{DataFeed source='usgs-quakes'}] renders the source's records as a sortable table. Useful parameters:

Example:

[{DataFeed source='usgs-quakes' columns='place,magnitude' sort='magnitude-desc' max='10'}]

If the addon is disabled or the source is unknown, the plugin shows a muted placeholder instead of an error.

A scrolling one-liner — MarqueePlugin

The latest records can run as a banner without any feed-specific plugin:

[{MarqueePlugin fetch='FeedManager.toMarqueeText(source=usgs-quakes,max=5)'}]

Good to know

See Plugins for the complete plugin list.