PHPackages                             toumoro/tm-cloudfront - 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. [Caching](/categories/caching)
4. /
5. toumoro/tm-cloudfront

ActiveTypo3-cms-extension[Caching](/categories/caching)

toumoro/tm-cloudfront
=====================

this extension is designed to clear the Amazon CloudFront cache based on the speaking path of a page.

v13.0.6(7mo ago)23.6k↓45.8%5[1 PRs](https://github.com/toumoro/tm_cloudfront/pulls)GPL-2.0-or-laterShell

Since May 12Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/toumoro/tm_cloudfront)[ Packagist](https://packagist.org/packages/toumoro/tm-cloudfront)[ RSS](/packages/toumoro-tm-cloudfront/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (31)Used By (0)

TYPO3 Extension tm\_cloudfront
==============================

[](#typo3-extension-tm_cloudfront)

This extension clears the AWS CloudFront cache based on the speaking path of a page by creating an AWS CloudFront invalidation queue based on clearCacheCmd.

Installation (TYPO3 v13)
------------------------

[](#installation-typo3-v13)

### Using Composer

[](#using-composer)

1. **Require the extension via Composer**In your TYPO3 project root, run: ```
    composer require toumoro/tm-cloudfront

    ```

Configuration
-------------

[](#configuration)

1. **CloudFront Settings**

    - Add your configuration in the TYPO3 backend or in `config/system/settings.php`: ```
        'EXTENSIONS' => [
            'tm_cloudfront' => [
                'apikey' => 'YOUR_AWS_KEY',
                'apisecret' => 'YOUR_AWS_SECRET',
                'region' => 'us-east-1',
                'version' => 'latest',
                'distributionIds' => '{"domain1.com":"DIST_ID_1", "domain2.com":"DIST_ID_2", "cdn.domain3.com":"DIST_ID_3", "domain4.com":"DIST_ID_4, DIST_ID_5", "domain5.com":""}'
            ]
        ]
        ```

    NB: to disable cache invalidation for a specific domain, set the distribution ID to an empty string. See domain5.com in the example above.
2. **Storage/CDN Mapping**

    - For files, set the CDN domain in the storage configuration (`domain` field).
3. **TSconfig (optional)**

    - Add to your page configuration to customize cache commands: ```
        distributionIds = DIST_ID_1

        ```
4. **AWS Permissions**

    - The AWS user must have permission to invalidate CloudFront cache.

Usage
-----

[](#usage)

- Use the "Clear Cache" button in TYPO3 to trigger CloudFront invalidation.
- Invalidations are handled automatically according to your configuration.

Testing
-------

[](#testing)

```
composer install
RUNTESTS_DIR_BIN=.Build/bin/ ./Build/Scripts/runTests.sh -p 8.4 -s functional

```

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance74

Regular maintenance activity

Popularity27

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~85 days

Recently: every ~13 days

Total

20

Last Release

214d ago

Major Versions

1.10.0 → 11.0.02022-10-26

11.0.1 → v13.x-dev2023-02-01

v12.x-dev → 13.0.02025-08-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/ded88026dc7bfd3d5a42cd486830ba428b8e2cc3cf0c9835fbcf25e6f9a61483?d=identicon)[tm\_souellet](/maintainers/tm_souellet)

![](https://www.gravatar.com/avatar/e74a2ef1f9ad7854090fee38c884708070dc9c7ad20c4751c989550e73e95b05?d=identicon)[tm-lmathieu](/maintainers/tm-lmathieu)

![](https://www.gravatar.com/avatar/f23ec0cffa408a37e7e57dbf28cfbe38c87d3126eb1724374e5ae6bd2ff05c36?d=identicon)[mehdiguermazi](/maintainers/mehdiguermazi)

---

Top Contributors

[![simouel](https://avatars.githubusercontent.com/u/56318224?v=4)](https://github.com/simouel "simouel (49 commits)")[![mehdiguermazi](https://avatars.githubusercontent.com/u/73132442?v=4)](https://github.com/mehdiguermazi "mehdiguermazi (25 commits)")[![marc-munos](https://avatars.githubusercontent.com/u/64539039?v=4)](https://github.com/marc-munos "marc-munos (20 commits)")[![tm-hdaoud](https://avatars.githubusercontent.com/u/211350868?v=4)](https://github.com/tm-hdaoud "tm-hdaoud (11 commits)")[![philippefekete](https://avatars.githubusercontent.com/u/60110242?v=4)](https://github.com/philippefekete "philippefekete (10 commits)")[![tm-sfranic](https://avatars.githubusercontent.com/u/266794084?v=4)](https://github.com/tm-sfranic "tm-sfranic (5 commits)")[![tm-lmathieu](https://avatars.githubusercontent.com/u/16961738?v=4)](https://github.com/tm-lmathieu "tm-lmathieu (3 commits)")[![taieb123](https://avatars.githubusercontent.com/u/29729164?v=4)](https://github.com/taieb123 "taieb123 (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/toumoro-tm-cloudfront/health.svg)

```
[![Health](https://phpackages.com/badges/toumoro-tm-cloudfront/health.svg)](https://phpackages.com/packages/toumoro-tm-cloudfront)
```

###  Alternatives

[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

20229.9k](/packages/eliashaeussler-typo3-warming)

PHPackages © 2026

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