PHPackages                             mpc/mpc-rss - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mpc/mpc-rss

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

mpc/mpc-rss
===========

TYPO3 extension to fetch and render RSS feeds grouped by category, date or author.

1.0.10(2mo ago)2431GPL-2.0-or-laterPHPPHP ^8.2

Since Nov 12Pushed 2mo agoCompare

[ Source](https://github.com/MatthiasPeltzer/mpc-rss)[ Packagist](https://packagist.org/packages/mpc/mpc-rss)[ Docs](https://github.com/MatthiasPeltzer/mpc-rss)[ RSS](/packages/mpc-mpc-rss/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (8)Versions (7)Used By (0)

MPC RSS
=======

[](#mpc-rss)

TYPO3 extension for displaying RSS/Atom feeds with grouping, pagination, and background updates.

Requirements
------------

[](#requirements)

- TYPO3 13.x or 14.x
- PHP 8.2+

Installation
------------

[](#installation)

```
composer require mpc/mpc-rss
```

Activate in the Extension Manager, then run **Maintenance &gt; Analyze Database Structure**.

Quick Start
-----------

[](#quick-start)

1. Add a content element: **Plugin &gt; MPC RSS Feed**
2. Click **Add Feed** and enter one or more RSS/Atom URLs
3. Choose a grouping mode and save

Feeds are stored as inline records directly on the content element -- no storage page needed.

Background Updates
------------------

[](#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](Documentation/AutomaticFeedUpdates.md) for details and troubleshooting.

Architecture
------------

[](#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`) via `PLUGIN_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
-------------

[](#documentation)

- [Automatic Feed Updates](Documentation/AutomaticFeedUpdates.md) -- Scheduler and CLI setup
- [Grouping Modes](Documentation/GroupingModes.md) -- Category, source, date, or timeline
- [Custom Templates](Documentation/CustomTemplates.md) -- Override templates and available variables
- [Routing](Documentation/Routing.md) -- SEO-friendly URLs

License
-------

[](#license)

GPL-2.0-or-later

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance87

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Total

6

Last Release

65d ago

PHP version history (2 changes)v1.0.5PHP &gt;=8.2

1.0.7PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/0e83a68b66501b808de6117f7849ba0599205126aa412e80f486156f26b4f821?d=identicon)[MatPeltz](/maintainers/MatPeltz)

---

Top Contributors

[![MatthiasPeltzer](https://avatars.githubusercontent.com/u/7772293?v=4)](https://github.com/MatthiasPeltzer "MatthiasPeltzer (33 commits)")

### Embed Badge

![Health badge](/badges/mpc-mpc-rss/health.svg)

```
[![Health](https://phpackages.com/badges/mpc-mpc-rss/health.svg)](https://phpackages.com/packages/mpc-mpc-rss)
```

###  Alternatives

[fluidtypo3/flux

The flux package from FluidTYPO3

152982.2k20](/packages/fluidtypo3-flux)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

96374.6k23](/packages/friendsoftypo3-content-blocks)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1481.0k](/packages/eliashaeussler-typo3-form-consent)[praetorius/vite-asset-collector

Use AssetCollector to embed frontend assets generated by vite

52255.0k1](/packages/praetorius-vite-asset-collector)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[t3kit/theme-t3kit

Base Theme fot t3kit project

2410.2k](/packages/t3kit-theme-t3kit)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
