Jump to content

MPC-RSS

TYPO3 extension for retrieving and rendering RSS feeds

MPC-RSS Logo

MPC RSS is a TYPO3 extension for displaying RSS and Atom feeds with automatic background updates, flexible grouping options and support for pagination. It offers inline feed management directly within the content elements and an isolated caching system that works independently of the TYPO3 page cache.

Key features

  • Inline feed management – Add feeds directly to content elements without the need for separate storage folders.
  • Automatic updates – Background updating via the TYPO3 scheduler or CLI command.
  • Isolated caching – Independent RSS cache that does not affect the page cache
  • Multiple grouping modes – Organise feeds by category, source, date or timeline
  • Pagination – Efficient management of large feed collections
  • SEO-friendly URLs – Descriptive URLs via the Route Enhancer configuration

System requirements

  • TYPO3 13.x or 14.x
  • PHP 8.2 or higher

Installation

 
composer require mpc/mpc-rss
 

After installation, activate the extension in the Extension Manager and perform database updates.

Quick start

  1. Create a content element and select the "MPC RSS Feed" plugin.
  2. Click on "Add Feed" and enter the RSS or Atom feed URLs.
  3. Configure the grouping mode and display options.
  4. Save and display your page.

Grouping modes

Organise RSS feed items in different ways depending on the use case:

Category (default)

Groups items by RSS category tags such as politics, technology, or business. Best suited for browsing by topic when feeds provide consistent category tags.

Source (recommended)

Groups items by the name of the feed source (e.g. BBC News, TechCrunch, The Guardian). Always consistent and requires no complex fallback solutions. Ideal for news aggregators with multiple sources.

Date

Groups items by time periods: Today, Yesterday, This Week, This Month. Best suited for chronological browsing, news monitoring, and archives.

None (uniform timeline)

No grouping – all items are sorted chronologically. Ideal for social media-style feeds or real-time monitoring.

Comparison

ModeBest suited forConsistencyComplexity
CategoryTopic browsingVariableMedium
SourceAggregators with multiple sourcesAlwaysLow
DateArchives, time-basedAlwaysLow
NoneReal time, mobileAlwaysLowest

Automatic feed updates

TYPO3 Scheduler (recommended)

  1. If necessary, activate the Scheduler extension: Admin Tools, Extensions, Scheduler
  2. Navigate to System, Scheduler, Add Task
  3. Select class: "Update RSS feeds"
  4. Set type: Recurring task
  5. Set frequency: */30 * * * * (every 30 minutes)
  6. Set cache lifetime: 3600 (1 hour)

CLI command

 
# Manuelles Update
vendor/bin/typo3 mpcrss:updatefeeds

# Mit Optionen
vendor/bin/typo3 mpcrss:updatefeeds --clear-cache
vendor/bin/typo3 mpcrss:updatefeeds --cache-lifetime=7200

# Crontab (Alternative zum Scheduler)
*/30 * * * * cd /path/to/typo3 && vendor/bin/typo3 mpcrss:updatefeeds
 

How it works

  • Retrieves all configured RSS feed URLs from the database
  • Updates the mpc_rsscache in the background
  • Failed feeds do not prevent other feeds from being updated
  • Automatic deduplication of feed URLs

Recommended settings

Feed typeFrequencyCache lifetime
News feedsEvery 15 minutes1800s (30 minutes)
BlogsEvery 30 minutes3600s (1 hour)
Daily summaryHourly7200s (2 hours)

Cache isolation

The RSS cache operates independently of the TYPO3 page and system cache:

ActionRSS cachePage/system cache
Scheduler runningUpdatedUnchanged
Clear page cacheUnchangedDeleted
cache:flush --group=mpc_rssDeletedUntouched

Clearing the page cache has no effect on RSS feeds – these remain stored in the cache for fast display.

SEO-friendly URLs

URL examples

  • Before: /links/rss-feeds?tx_mpcrss_feed%5BfilterCategory%5D=Politik
  • After: /links/rss-feeds/politik/page-1

URL pattern

  • /rss-feeds/ – Main page
  • /rss-feeds/politik – Category filter
  • /rss-feeds/page-2 – Pagination
  • /rss-feeds/politik/page-2 – Category with pagination

Configuration

Add the Route Enhancer to your website configuration (config/sites/[Ihre-Website]/config.yaml):

 
routeEnhancers:
MpcRssFeed:
type: Extbase
extension: MpcRss
plugin: Feed
routes:
- routePath: /
- routePath: ‚/page-{page}‘
- routePath: ‚/{category}‘
- routePath: ‚/{category}/page-{page}‘
defaults:
page: ‚1‘
requirements:
page: ‚\d+‘
aspekte:
kategorie:
typ: StaticValueMapper
zuordnung:
politik: Politik
wirtschaft: Wirtschaft
kultur: Kultur
seite:
typ: StaticRangeMapper
start: ‚1‘
ende: ‚100‘
 

Custom templates

Template override via website settings

Configure custom template paths in Website Management, Settings, MPC RSS View Paths:

  • Template root directory: EXT:Ihr_Websitepaket/Ressourcen/Privat/Vorlagen/
  • Sub-root directory: EXT:Ihr_Sitepaket/Resources/Private/Partials/
  • Layout root directory: EXT:Ihr_Sitepaket/Resources/Private/Layouts/

Template overwriting via TypoScript

 
plugin.tx_mpcrss {
view {
templateRootPaths.30 = EXT:your_sitepackage/Resources/Private/Templates/
partialRootPaths.30 = EXT:your_sitepackage/Resources/Private/Partials/
layoutRootPaths.30 = EXT:your_sitepackage/Resources/Private/Layouts/
}
}
 

Template variables

Available in List.html:

  • {grouped} – Elements grouped by category/source/date
  • {categories} – All available category names
  • {activeCategory} – Currently selected filter
  • {showFilter} – Boolean value: Show navigation
  • {paginate} – Boolean value: Pagination enabled
  • {pagination} – Pagination data
  • {settings} – Plugin settings

Properties of the feed element

  • {item.title} – Element title
  • {item.description} – Description of the element
  • {item.link} – Article link URL
  • {item.date} – Publication date
  • {item.categories} – Category tags
  • {item.image} – Associated image
  • {item.sourceName} – Name of feed source
  • {item.source} – Feed source URL

Customising navigation

The category navigation automatically adapts to the grouping mode:

Grouping modeNavigation labelDisplay
Category"Filter by category"Topic categories
Source"Filter by source"Feed sources
Date"Filter by date"Time periods
None(hidden)No navigation

Architecture

Inline records (IRRE)

The extension uses inline records, where feeds are stored directly with the content element rather than in separate storage folders. This simplifies setup and improves the user experience:

  • Traditional pattern: Separate storage folder, create records, link to plugin (3–4 steps)
  • MPC RSS pattern: Add plugin, click "Add feed", done (2 steps)

Advantages of the design

  • Simpler setup and better user experience
  • More intuitive data model
  • Better portability (copying content elements including feeds)
  • No errors when configuring the storage page

Technical components

  • FeedController – Processes the display and filtering of feeds
  • FeedService – Retrieves and analyses RSS/Atom feeds
  • FeedRepository – Database access for feed records
  • UpdateFeedsCommand – CLI command for feed updates
  • UpdateFeedsTask – Scheduler task for automatic updates

Troubleshooting

Scheduler is not running

  • Check the system and scheduler for the last execution time
  • Set up scheduler cron: */5 * * * * /path/to/php vendor/bin/typo3 scheduler:run

Feeds are not being updated

 
vendor/bin/typo3 mpcrss:updatefeeds --clear-cache
vendor/bin/typo3 cache:flush --group=mpc_rss
  • Check whether the feed URLs are accessible
  • Check the logs: System, Log, filter for "mpc_rss"

404 errors on category pages

  • Check whether the category name is present in the Route Enhancer mapping
  • Check that the spelling is exactly the same
  • Clear all caches

Licence and author

MPC RSS is released under the GPL 2.0 or later licence. Developed by Matthias Peltzer.

Share page

The time has come. After more than a decade of silence, Karnivool are back with In Verses — their fourth studio album. It feels a little more pop-oriented and tamer than their previous releases, but it's still highly recommended! The band is also on tour.