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 pagination support. It features inline feed management directly within content elements and an isolated caching system that operates independently from the TYPO3 page cache.

Key Features

  • Inline Feed Management - Add feeds directly in content elements without separate storage folders
  • Automatic Updates - Background refresh via TYPO3 Scheduler or CLI command
  • Isolated Caching - Independent RSS cache that does not affect page cache
  • Multiple Grouping Modes - Organize feeds by category, source, date, or timeline
  • Pagination - Handle large feed collections efficiently
  • SEO-Friendly URLs - Speaking URLs via 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 run database updates.

Quick Start

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

Grouping Modes

Organize RSS feed items in different ways depending on your use case:

Category (Default)

Groups items by RSS category tags such as Politics, Technology, or Business. Best for topic browsing when feeds provide consistent category tags.

Source (Recommended)

Groups items by feed source name (e.g., BBC News, TechCrunch, The Guardian). Always consistent and requires no fallback complexity. Ideal for multi-source news aggregators.

Date

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

None (Unified Timeline)

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

Comparison

ModeBest ForConsistencyComplexity
CategoryTopic browsingVariableMedium
SourceMulti-source aggregatorsAlwaysLow
DateArchives, time-basedAlwaysLow
NoneReal-time, mobileAlwaysLowest

Automatic Feed Updates

TYPO3 Scheduler (Recommended)

  1. Activate Scheduler Extension if needed: 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

 

# Manual update
vendor/bin/typo3 mpcrss:updatefeeds

# With options
vendor/bin/typo3 mpcrss:updatefeeds --clear-cache
vendor/bin/typo3 mpcrss:updatefeeds --cache-lifetime=7200

# Crontab (alternative to scheduler)
*/30 * * * * cd /path/to/typo3 && vendor/bin/typo3 mpcrss:updatefeeds

 

How It Works

  • Fetches all configured RSS feed URLs from the database
  • Updates the mpc_rss cache in the background
  • Failed feeds do not stop other feeds from updating
  • Automatic deduplication of feed URLs

Recommended Settings

Feed TypeFrequencyCache Lifetime
News feedsEvery 15 min1800s (30 min)
BlogsEvery 30 min3600s (1 hour)
Daily digestHourly7200s (2 hours)

Cache Isolation

The RSS cache operates independently from the TYPO3 page and system caches:

ActionRSS CachePage/System Cache
Scheduler runsUpdatedUntouched
Clear page cacheUntouchedCleared
cache:flush --group=mpc_rssClearedUntouched

Page cache clearing does not affect RSS feeds - they remain cached 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 Patterns

  • /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 site configuration (config/sites/[your-site]/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+'
    aspects:
      category:
        type: StaticValueMapper
        map:
          politik: Politik
          wirtschaft: Wirtschaft
          kultur: Kultur
      page:
        type: StaticRangeMapper
        start: '1'
        end: '100'

 

Custom Templates

Template Override via Site Settings

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

  • Template Root Path: EXT:your_sitepackage/Resources/Private/Templates/
  • Partial Root Path: EXT:your_sitepackage/Resources/Private/Partials/
  • Layout Root Path: EXT:your_sitepackage/Resources/Private/Layouts/

Template Override 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} - Items grouped by category/source/date
  • {categories} - All available category names
  • {activeCategory} - Currently selected filter
  • {showFilter} - Boolean: show navigation
  • {paginate} - Boolean: pagination enabled
  • {pagination} - Pagination data
  • {settings} - Plugin settings

Feed Item Properties

  • {item.title} - Item title
  • {item.description} - Item description
  • {item.link} - Item link URL
  • {item.date} - Publication date
  • {item.categories} - Category tags
  • {item.image} - Associated image
  • {item.sourceName} - Feed source name
  • {item.source} - Feed source URL

Navigation Customization

The category navigation automatically adapts to the grouping mode:

Grouping ModeNavigation LabelShows
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, not in separate storage folders. This simplifies setup and improves 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)

Design Benefits

  • Simpler setup and better user experience
  • More intuitive data model
  • Better portability (copy content element includes feeds)
  • No storage page configuration errors

Technical Components

  • FeedController - Handles feed display and filtering
  • FeedService - Fetches and parses RSS/Atom feeds
  • FeedRepository - Database access for feed records
  • UpdateFeedsCommand - CLI command for feed updates
  • UpdateFeedsTask - Scheduler task for automatic updates

Troubleshooting

Scheduler Not Running

  • Check System, Scheduler for last execution time
  • Setup scheduler cron: */5 * * * * /path/to/php vendor/bin/typo3 scheduler:run

Feeds Not Updating

 

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

404 Errors on Category Pages

  • Verify category name exists in Route Enhancer mapping
  • Check spelling matches exactly
  • Clear all caches

License and Author

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

Share page

Australian prog rock band Karnivool is back with a second single, ‘Aozora’. The dark, energetic track combines complex rhythms with an intense atmosphere and marks the band's first new material in years. The lyrics are also impressive, but listen for yourself. ;o) On 6 February 2026, they will release their new album, ‘In Verses’.