mpc / mpc-rss
TYPO3 extension to fetch and render RSS feeds grouped by category, date or author.
1.0.10
2026-03-14 11:41 UTC
Requires
- php: ^8.2
- typo3/cms-core: ^13.4 || ^14.0
- typo3/cms-extbase: ^13.4 || ^14.0
- typo3/cms-fluid: ^13.4 || ^14.0
- typo3/cms-fluid-styled-content: ^13.0 || ^14.0
README
TYPO3 extension for displaying RSS/Atom feeds with grouping, pagination, and background updates.
Requirements
- TYPO3 13.x or 14.x
- PHP 8.2+
Installation
composer require mpc/mpc-rss
Activate in the Extension Manager, then run Maintenance > Analyze Database Structure.
Quick Start
- Add a content element: Plugin > MPC RSS Feed
- Click Add Feed and enter one or more RSS/Atom URLs
- Choose a grouping mode and save
Feeds are stored as inline records directly on the content element -- no storage page needed.
Background Updates
Feeds are cached per URL. To keep them fresh without making visitors wait:
Scheduler (recommended):
System > Scheduler > Add Task > "Update RSS Feeds" -- set frequency to e.g. every 30 minutes.
CLI:
vendor/bin/typo3 mpcrss:updatefeeds vendor/bin/typo3 mpcrss:updatefeeds --clear-cache --cache-lifetime=3600
See Automatic Feed Updates for details and troubleshooting.
Architecture
Request
└─ FeedController::listAction()
├─ FeedRepository → inline feed records from tt_content
└─ FeedService::fetchGroupedByCategory()
├─ fetchFeedItems() per-URL HTTP fetch + XML parse + cache
├─ deduplicateItems() link-based dedup across feeds
├─ groupItems() category / source / date / none
└─ sortAndSliceGroups() date-desc sort + maxItems limit
Key design decisions:
- Dedicated CType (
mpcrss_feed) viaPLUGIN_TYPE_CONTENT_ELEMENT, not list_type - IRRE inline records -- feeds belong to the content element, not a storage page
- Isolated cache (
mpc_rss) -- clearing page cache doesn't affect feed data - External content is sanitized at the caching layer (tags, attributes, URL schemes)
- Service layer is language-neutral; the controller translates generated group labels via XLF
warmCache()skips grouping/sorting -- efficient for CLI and Scheduler
Documentation
- Automatic Feed Updates -- Scheduler and CLI setup
- Grouping Modes -- Category, source, date, or timeline
- Custom Templates -- Override templates and available variables
- Routing -- SEO-friendly URLs
License
GPL-2.0-or-later