PHPackages                             visol/neos-assetcollectionhelpers - 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. visol/neos-assetcollectionhelpers

ActiveNeos-package[Caching](/categories/caching)

visol/neos-assetcollectionhelpers
=================================

Neos package that helps dealing with cache invalidation of AssetCollections used in content

3.0.1(4y ago)172[1 PRs](https://github.com/visol/Visol.Neos.AssetCollectionHelpers/pulls)MITPHP

Since Mar 5Pushed 2y ago4 watchersCompare

[ Source](https://github.com/visol/Visol.Neos.AssetCollectionHelpers)[ Packagist](https://packagist.org/packages/visol/neos-assetcollectionhelpers)[ RSS](/packages/visol-neos-assetcollectionhelpers/feed)WikiDiscussions master Synced 2mo ago

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

AssetCollectionHelpers
======================

[](#assetcollectionhelpers)

This Neos package solves some problems when dealing with AssetCollections nodes.

In Neos, it is possible to select any entity in the `SelectBoxEditor`. AssetCollections in Neos are entities and they are very useful if you want to provide file list or galleries without selecting each file manually.

The only problem is that the content cache is not aware of the following changes:

- An Asset of an AssetCollection is edited/deleted/replaced
- An Asset is added to/removed from an AssetCollection

Therefore, if you e.g. upload a new Asset to an existing AssetCollection, your file list will still display only the files present when the cache was last built.

This package provides you with the necessary implementations to work around these problems.

Compatibility and Maintenance
-----------------------------

[](#compatibility-and-maintenance)

This package is currently being maintained for the following versions:

Neos VersionVersionMaintainedNeos 3.x1.0NoNeos 4.x2.xYesNeos 5.x and above3.xYes### Example NodeType configuration

[](#example-nodetype-configuration)

Use AssetCollection as in a `SelectBoxEditor`:

```
'My.FoobarCom:Content.FileList':
  [...]
  properties:
    assetCollection:
      type: 'Neos\Media\Domain\Model\AssetCollection'
      ui:
        label: i18n
        inspector:
          group: 'resources'
          editor: 'Neos.Neos/Inspector/Editors/SelectBoxEditor'
          editorOptions:
            dataSourceIdentifier: visol-neos-assetcollections
        reloadIfChanged: true

```

### Example fusion caching configuration

[](#example-fusion-caching-configuration)

In Fusion, we add a cache tag for the given AssetCollection:

```
prototype(My.FoobarCom:Content.FileList) < prototype(Neos.Neos:ContentComponent) {
    assetCollection = ${q(node).property('assetCollection')}
    @context.assetCollection = ${this.assetCollection}

    @cache {
        mode = 'cached'
        entryIdentifier {
            node = ${node}
        }
        entryTags {
            1 = ${'Node_' + node.identifier}
            2 = ${AssetCollection.Caching.assetCollectionTag(assetCollection)}
        }
    }

    [... configure output]
}

```

The package then monitors changes to assets and asset collections and flushes the cache of all nodes having the affected cache tag.

### Credits

[](#credits)

visol digitale Dienstleistungen GmbH, [www.visol.ch](http://www.visol.ch)

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 88.9% 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 ~320 days

Total

5

Last Release

1708d ago

Major Versions

1.0.0 → 2.0.02020-11-16

2.1.0 → 3.0.02021-07-05

### Community

Maintainers

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

---

Top Contributors

[![lorenzulrich](https://avatars.githubusercontent.com/u/1816023?v=4)](https://github.com/lorenzulrich "lorenzulrich (8 commits)")[![dimaip](https://avatars.githubusercontent.com/u/837032?v=4)](https://github.com/dimaip "dimaip (1 commits)")

### Embed Badge

![Health badge](/badges/visol-neos-assetcollectionhelpers/health.svg)

```
[![Health](https://phpackages.com/badges/visol-neos-assetcollectionhelpers/health.svg)](https://phpackages.com/packages/visol-neos-assetcollectionhelpers)
```

###  Alternatives

[predis/predis

A flexible and feature-complete Redis/Valkey client for PHP.

7.8k305.7M2.4k](/packages/predis-predis)[snc/redis-bundle

A Redis bundle for Symfony

1.0k39.4M67](/packages/snc-redis-bundle)[react/cache

Async, Promise-based cache interface for ReactPHP

444112.4M40](/packages/react-cache)[wp-media/wp-rocket

Performance optimization plugin for WordPress

7431.3M3](/packages/wp-media-wp-rocket)[illuminate/cache

The Illuminate Cache package.

12835.6M1.4k](/packages/illuminate-cache)[colinmollenhour/php-redis-session-abstract

A Redis-based session handler with optimistic locking

6325.6M14](/packages/colinmollenhour-php-redis-session-abstract)

PHPackages © 2026

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