PHPackages                             pixelant/recall - 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. pixelant/recall

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

pixelant/recall
===============

TYPO3 extension that remembers settings from a different request using a hash. E.g. recall settings or data used in the main request within an eID request.

1.0.0(4y ago)23GPL-2.0-or-laterPHPPHP ~7.2.0 || ~7.3.0 || ~7.4.0

Since Jun 9Pushed 4y ago5 watchersCompare

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

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

Selective Recall (ext:recall)
=============================

[](#selective-recall-extrecall)

TYPO3 extension that can remember settings from a different request using a hash. E.g. recalling settings or data used in the main request within an eID request.

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

[](#installation)

1. Install the extension using Composer: `composer req pixelant/recall`
2. Activate the extension in TYPO3 by using the *Admin Tools &gt; Extensions* module or by running `vendor/bin/typo3 extension:activate recall; vendor/bin/typo3cms database:updateschema` in the command line.

Usage
-----

[](#usage)

Initializing recallable data in a normal controller class:

```
// use Pixelant\Recall\Service\RecallService
// use TYPO3\CMS\Core\Page\PageRenderer
$recallService = GeneralUtility::makeInstance(RecallService::class);
$recallHash = $recallService->set(['settings' => $this->settings]);

$pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
$pageRenderer->addInlineSettingArray(
    'tx_myextension',
    ['recallHash' => $recallHash]
);
```

Make an Ajax call to fetch data using eID:

```
$.ajax(
	'/?eID=tx_myextension_getmore&recall=' + TYPO3.settings.tx_myextension.recallHash
);
```

Handle the eID in a Controller. (Note that eID controllers do not initialize a settings array.)

```
$recallHash = $request->getQueryParams()['recall'];

$settings = $this->recallService->get($recallHash)['settings'];
```

You now have access to the settings from the original request without having to initialize configuration or think about page IDs.

**Tip:** You can of course also supply less information than the entire settings array.

Clean Up
--------

[](#clean-up)

The recall data is stored in the database, and the hash is unique for the data. If you change your data a lot, you'll quickly fill up the database.

Run the cleanup command frequently (or set up a Scheduler task):

```
vendor/bin/typo3 recall:cleanup

```

Help screen:

```
Description:
  Removes old recall data.

Usage:
  recall:cleanup []

Arguments:
  age                   The minimum age of records to remove. Default is sessionTimeout or 86400 seconds. [default: 6000]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  Removes recall data older than [age] seconds. The default age is the same as $GLOBALS['TYPO3_CONF_VARS']['FE']['sessionTimeout'] or (if that's not set) 86400 seconds.

```

**Please note:** The timestamp for each recall data record is updated each time it is requested, so frequently-used records won't be deleted.

Bugs, contribution, and feature requests
----------------------------------------

[](#bugs-contribution-and-feature-requests)

Bug reports, pull requests, and feature requests are very welcome. [Create a bug report or feature request](https://github.com/pixelant/recall/issues/new)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

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

Unknown

Total

1

Last Release

1804d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13124175?v=4)[Resultify AB - Private](/maintainers/pixelant)[@pixelant](https://github.com/pixelant)

---

Top Contributors

[![mabolek](https://avatars.githubusercontent.com/u/8200271?v=4)](https://github.com/mabolek "mabolek (14 commits)")

---

Tags

cachememory

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pixelant-recall/health.svg)

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

###  Alternatives

[lochmueller/staticfilecache

Transparent static file cache solution using mod\_rewrite and mod\_expires. Increase performance for static pages by a factor of 230!!

1311.3M3](/packages/lochmueller-staticfilecache)[bnomei/kirby3-redis-cachedriver

Advanced Redis cache-driver with in-memory store, transactions and preloading

101.7k](/packages/bnomei-kirby3-redis-cachedriver)

PHPackages © 2026

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