PHPackages                             ezsystems/ezdfs-fsbackend-dispatcher - 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. ezsystems/ezdfs-fsbackend-dispatcher

ActiveEzpublish-legacy-extension

ezsystems/ezdfs-fsbackend-dispatcher
====================================

eZ Publish Dispatcher DFS backend

v1.0.0-beta4(11y ago)110.1k3GPL-2.0PHP

Since Jun 6Pushed 6y ago13 watchersCompare

[ Source](https://github.com/ezsystems/ezdfs-fsbackend-dispatcher)[ Packagist](https://packagist.org/packages/ezsystems/ezdfs-fsbackend-dispatcher)[ RSS](/packages/ezsystems-ezdfs-fsbackend-dispatcher/feed)WikiDiscussions master Synced yesterday

READMEChangelog (4)Dependencies (4)Versions (7)Used By (0)

DFS Cluster DFS Dispatcher
==========================

[](#dfs-cluster-dfs-dispatcher)

What is it ?
------------

[](#what-is-it-)

*This extension by itself won't provide any new end-user feature.*

This extension provides a custom DFSBackend that dispatches calls to any DFS backend to a backend from a custom list, based on the path of the file.

It makes it possible to store some storage subdirectories to custom handlers, such as a cloud based one.

Actual handlers
---------------

[](#actual-handlers)

An AWS-S3 handler, that stores binary files to Amazon S3, is available: .

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

[](#requirements)

- eZ Publish master (5.4.0-dev or 2014.05).
- eZ DFS configured (NFS itself doesn't matter, a local directory will work just as fine)

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

[](#installation)

### Using composer

[](#using-composer)

It can be installed via composer from eZ Publish, new stack or legacy:

```
composer require "ezsystems/ezdfs-fsbackend-dispatcher:~1.0@beta"

```

Or by adding `"ezsystems/ezdfs-fsbackend-dispatcher": "~1.0@beta"` to your project's composer.json.

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

[](#configuration)

Due to INI settings loading order limitations, some settings can't be stored into extension INI files but in a global override.

The contents of the settings/file.ini.append.php file must be copied to `settings/override/file.ini.append.php`, or obviously merged into it, since it should already exist.

Backends are configured by adding their class name to the DFSBackends array in file.ini. This will make the dispatcher send operations on files with a path starting with `var/ezdemo_site/storage/images` to MyCustomBackend.

```
PathBackends[var/ezdemo_site/storage/images]=MyCustomBackend

```

Priority is a simple first-come, first-served. Path that aren't matched by any path in `PathBackends` are handled by `DispatchableDFS.DefaultBackend`, by default set to the native `eZDFSFileHandlerDFSBackend`.

Backends initialization
-----------------------

[](#backends-initialization)

By default, backends are instanciated with a simple "new $class". But if a backend implements `eZDFSFileHandlerDFSFactoryBackendInterface` interface, it will be built by calling the static `build()` method.

If any kind of initialization or injection is required, it can be done in this method.

A typical settings/override/file.ini.append.php with a custom handler enabled would look like this:

```
[ClusteringSettings]
FileHandler=eZDFSFileHandler

[eZDFSClusteringSettings]
MountPointPath=/media/nfs
DFSBackend=eZDFSFileHandlerDFSDispatcher
DBHost=cluster_server
DBName=db_cluster
DBUser=root
DBPassword=
MetaDataTableNameCache=ezdfsfile_cache

[DispatchableDFS]
DefaultBackend=eZDFSFileHandlerDFSBackend

PathBackends[var/site/storage/images]=MyCustomBackend
```

Remember that `DefaultBackend` *must* be explicitly configured in the global override to be taken into account.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity53

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

Total

6

Last Release

4260d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/235928?v=4)[Bertrand Dunogier](/maintainers/bdunogier)[@bdunogier](https://github.com/bdunogier)

---

Top Contributors

[![bdunogier](https://avatars.githubusercontent.com/u/235928?v=4)](https://github.com/bdunogier "bdunogier (8 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ezsystems-ezdfs-fsbackend-dispatcher/health.svg)

```
[![Health](https://phpackages.com/badges/ezsystems-ezdfs-fsbackend-dispatcher/health.svg)](https://phpackages.com/packages/ezsystems-ezdfs-fsbackend-dispatcher)
```

###  Alternatives

[ezsystems/ezpublish-legacy

eZ Publish Legacy (aka LegacyStack in 5.x. Is an updated version of eZ Publish 4.x cable of being combined with eZ Platform)

252242.4k18](/packages/ezsystems-ezpublish-legacy)[ezsystems/ezfind-ls

eZ Find is a search extension for eZ Publish legacy, providing more functionality and better results than the default search in eZ Publish.

5883.3k1](/packages/ezsystems-ezfind-ls)[ezsystems/eztags-ls

eZ Tags is an extension for eZ Publish, providing more functionality for tagging content objects than ezkeyword datatype included in eZ Publish kernel.

40203.6k2](/packages/ezsystems-eztags-ls)[ezsystems/ezie-ls

An image editor for simple and usual image modifications integrated in the editing interface of any eZ Publish Content Object that has at least an image as attribute.

27412.4k3](/packages/ezsystems-ezie-ls)[ezsystems/legacy-bridge

eZ Platform bridge to eZ Publish Legacy

17118.6k4](/packages/ezsystems-legacy-bridge)[ezsystems/ezautosave-ls

Content editing autosave extension for eZ Publish legacy

22423.2k3](/packages/ezsystems-ezautosave-ls)

PHPackages © 2026

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