Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

RSS feeds: publishing exports and reading imports

This guide teaches the RSS page of the administration interface (Setup > RSS, /rss/list): what an RSS export and an RSS import are, what every part of the page says, how to create, check and remove a feed, and what to…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/guides/rss-feeds.md

On this page

RSS feeds: publishing exports and reading imports

This guide teaches the RSS page of the administration interface (Setup > RSS, /rss/list): what an RSS export and an RSS import are, what every part of the page says, how to create, check and remove a feed, and what to do when a feed reader gets nothing or an import brings nothing in.

It is for administrators who publish feeds or podcasts and for operators who keep imports running. Every figure and message below was checked against the code (kernel/private/classes/views/rss/list.php, kernel/classes/ezrssexport.php, kernel/classes/ezrssimport.php, kernel/private/classes/cronjobs/rssimport.php and kernel/private/classes/views/rss/feed.php) on the demonstration server on 6 October 2026.

Guides · Related: RSS: Apple Podcasts feeds, a paged feed list and safer exports, OPML exports, Cronjobs

In short

  • An export is a feed this site publishes at /rss/feed/<address>. It lists the newest objects below its sources (locations, each with a class and optionally their subitems), as RSS 1.0, RSS 2.0, Atom, OPML or an Apple Podcasts feed.
  • An import reads the feed of another site and creates an object below its destination for every item it has not seen before. The rssimport cronjob (rssimport.php) runs the active imports; nothing is read without it.
  • The page leads with an overview (exports, active exports, imports, active imports, imported objects), a search and a filter (All, Active, Inactive, Need attention), then one card per export and one per import.
  • Remove selected asks first and says what removing means: a removed export's address stops answering its readers; a removed import keeps the objects it created.

1. Opening the page

Setup > RSS, or /rss/list in the admin siteaccess. The page needs the rss/edit policy. The editor siteaccess does not offer the RSS module at all.

2. The overview and the controls

FigureWhat it counts
Exports, Active exportsPublished exports, and those that answer at their address
Imports, Active importsImports, and those the cronjob reads
Imported objectsObjects whose remote id starts with RSSImport_: every object any import has created

Below them:

  • Find a feed filters the cards on this page of each list by name, address, format, source, destination or ID.
  • Show keeps only active, inactive or attention-needing cards.
  • Per page sets the size of both lists (25, 50, 250 by default, content.ini [RSSListSettings] ItemsPerPageList) and is remembered for your user.
  • A line says how long a feed is cached: site.ini [RSSSettings] CacheTime seconds, or "written anew for every request" when it is 0.

The search and the filter need javascript; without it every card is shown and every button still works.

3. An export card

The head shows the name (a link to its edit page), the ID, Active or Inactive, the format in words (RSS 2.0, Atom 1.0, OPML 2.0 (list of feeds), Apple Podcasts (RSS 2.0 + iTunes)) and Needs attention when something is wrong. Open feed opens the public address in a new tab; Edit opens the form.

FieldWhat it says
Feed addressThe address readers subscribe to: the public site of the export's siteaccess, then /rss/feed/<address>
SourcesUp to five sources with their class and "with subitems", then "and N more"; a source whose location is gone says "(missing)". OPML exports count the feeds they list
Items in the feedThe most objects one feed holds, and "main locations only" when that is set
Last writtenWhen the cached copy of the feed was last written (the newest of all siteaccesses); "Not requested since the cache was cleared" until a reader asks; "On every request" when CacheTime is 0; inactive exports are not served
Links point toThe siteaccess whose address the feed's links use
ModifiedWhen and by whom the export was last saved

Needs attention lists the reasons under the card: no feed address, no source, a source that no longer exists. Only active exports are marked.

Sort the exports by name, modified, status, format, address or ID with the Sort by chips; the chip in use turns the order round. Sorting starts the list at its first page and keeps the imports where they are.

4. An import card and the cronjob

FieldWhat it says
Source URLThe feed the import reads
DestinationThe location the new objects go below (a link), or "missing"
CreatesThe class of the new objects, and the user who owns them
ImportedHow many objects this import has created (remote id RSSImport_<id>_...)
Newest itemWhen the newest of them was published: the last time the import brought something in

Above the imports a status bar names the cronjob part that runs rssimport.php, its schedule in words and its next run, with Open the cronjob for that part on the cronjobs page. It warns when the crontab does not run that part and is red when no part runs the script.

5. Creating and removing

New export and New import open the forms, as before.

To remove: tick the cards, press Remove selected under that list. A confirmation lists each feed with its address or source and says what happens:

  • exports: the addresses stop answering, readers get an error from then on; the sources go with the export; the content is not touched;
  • imports: the cronjob stops reading them; the objects they created stay (their number is shown).

Remove N exports removes them, with the draft of an export being edited and the sources and OPML lines of both; Cancel goes back and changes nothing. The list then says "Removed: ..." once. Pressing Remove selected with nothing ticked says so instead of doing nothing silently.

To stop a feed for a while instead, edit it and clear Active.

6. Editing an export or an import

Opening a feed makes a draft of it; readers see nothing of a change until OK. Cancel throws the draft away and goes back to the RSS list. While someone else has the same feed open (content.ini DraftTimeout), the page says who and until when, with Retry and Back to the RSS list.

The export form has three parts, each field with a line on what it is for:

  • The feed: name, description, feed format, access URL (rss/feed/ and this; the full public address is shown with Open feed when the export is active), Active, Site URL and the image (RSS 2.0 only).
  • What the feed lists: the number of items, Main node only, and one card per source with its location (Browse opens the content browser with a note on what the location means), Subnodes, the class (Set loads its attributes) and which attributes become the title, description, category and enclosure. Add source adds a card; Remove this source removes one. Hidden for OPML, which lists other feeds instead.
  • Apple Podcasts or the OPML fields, when that format is chosen.

What keeps an export from being saved (a class without the chosen attribute, an active export without an address) is listed at the top.

The import form follows the order an import is set up: 1. The feed (name and source URL; Update reads the feed and finds its format), 2. Where the items go (destination and owner), 3. What each item becomes (class and the mapping of feed fields to attributes) and 4. Run it (Active). An import needs a name and an http or https source URL to be saved; otherwise it stays a draft and the form says why. When it has created objects, the form says how many and when the newest came.

7. Troubleshooting

ProblemLook atFix
A reader gets an errorThe card: Inactive? Feed address "not set"?Edit, set an address, tick Active
A feed is emptySources: none, or "(missing)"Add a source whose location exists, with the right class
A change does not show in the feedLast writtenWait for CacheTime, or clear the RSS cache (php bin/php/ezcache.php --clear-id=rss_cache --allow-root-user)
An import brings nothingThe status bar; Imported and Newest itemSchedule the part with rssimport.php; check the Source URL opens; check Destination and Creates are set

References

  • Module and view: kernel/rss/module.php, kernel/private/classes/views/rss/list.php (ListView::exportInfo(), importInfo(), importedObjects(), lastGenerated(), summary(), removeExports(), removeImports()); the pager kernel/rss/ezrsslistpager.php.
  • Templates: design/admin4/templates/rss/list.tpl, confirmremove.tpl, edit_export.tpl, edit_export_opml.tpl, edit_import.tpl, edit_export_denied.tpl, edit_import_denied.tpl, browse_*.tpl, exp_style.tpl, exp_list_script.tpl (the same files in design/admin/templates/rss/); the shared pager design/standard/templates/rss/pagination.tpl.
  • The cronjob part: Processlist::scriptCronjob() in kernel/private/classes/views/workflow/processlist.php.
  • Tests: tests/tests/kernel/classes/expAdminListsRedesignTest.php (no database).

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x