PHPackages                             ak1r0/flysystem-nuxeo - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. ak1r0/flysystem-nuxeo

ActiveLibrary[File &amp; Storage](/categories/file-storage)

ak1r0/flysystem-nuxeo
=====================

Flysystem adapter for Nuxeo

1.0.0(7y ago)03PHPPHP ^5.4

Since Feb 25Pushed 7y ago1 watchersCompare

[ Source](https://github.com/Ak1r0/flysystem-nuxeo)[ Packagist](https://packagist.org/packages/ak1r0/flysystem-nuxeo)[ RSS](/packages/ak1r0-flysystem-nuxeo/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

flysystem-nuxeo
===============

[](#flysystem-nuxeo)

Flysystem adapter for Nuxeo

Todos
-----

[](#todos)

- Tests Units
- PHP 7 version

Install
-------

[](#install)

```
composer require ak1r0/flysystem-nuxeo

```

Usage
-----

[](#usage)

### Init

[](#init)

```
$config = array(
    'url' => 'https://host/nuxeo',
    'username' => 'root',
    'password' => 'root',
    'baseRepository' => '/default-domain/workspaces/myWorkspace/'
)

$client = new \Nuxeo\Client\Api\NuxeoClient($config['url'], $config['username'], $config['password']);

$nuxeoAdapter = new \Ak1r0\Flysystem\Adapter\Nuxeo($client);
$nuxeoAdapter->setPathPrefix($config['baseRepository']);

$filesystem   = new \League\Flysystem\Filesystem($nuxeoAdapter);
$filesystem->addPlugin(new \Ak1r0\Flysystem\Plugin\UidResolverPlugin($nuxeoAdapter));
$filesystem->addPlugin(new \Ak1r0\Flysystem\Plugin\MimetypeConverterPlugin($nuxeoAdapter));
$filesystem->addPlugin(new \Ak1r0\Flysystem\Plugin\ConcatenatorPlugin($nuxeoAdapter));
```

### Basic functions

[](#basic-functions)

```
// Read
$filesystem->read($path): string; // The file content
$filesystem->readStream($path): string; // The file content

// Write
$filesystem->write(string $path, string $content): bool;

// Write Stream
$handle = fopen($pathToNewContent, 'r');
$filesystem->writeStream(string $path, resource $handle): bool;

// Create Dir
$filesystem->createDir(string $dirname, \League\Flysystem\Config $config): array; // return ['path' => '/path/to/dir/', 'type' => 'dir'];

// Update
$filesystem->update(string $path, string $content): bool;

// Update Stream
$handle = fopen($pathToNewContent, 'r');
$filesystem->updateStream(string $path, resource $handle): bool;

// Rename
$filesystem->rename(string $path, string $newName): bool;

// Copy
$filesystem->copy(string $fromPath, string $toPath): bool;

// Delete
$filesystem->delete(string $path): bool;
$filesystem->deleteDir(string $dirPath): bool;
```

### Get the UID after a write operation

[](#get-the-uid-after-a-write-operation)

```
$filesystem->getMetadata($path): array;
/*
return [
    'type'      => 'file', // string
    'path'      => '/path/to/doc/', // string
    'dirname'   => 'dir', // string
    'timestamp' => 123456, // int
    'size'      => 500, // int
    'mimetype'  => 'application/pdf', // string
    'uid'       => 'f4e22103-2540-46e8-8ed6-2a78586bd2e3', // string - only for writes methods
];
*/
```

Plugins
-------

[](#plugins)

### UidResolverPlugin

[](#uidresolverplugin)

Flysystem works using paths but one best pratice with Nuxeo is to use uids

```
$uid = 'f4e22103-2540-46e8-8ed6-2a78586bd2e3';
$filesystem->resolveUid(string $uid): string; // return '/path/to/doc/';
```

### MimetypeConverterPlugin

[](#mimetypeconverterplugin)

```
$filesystem->convert(string $path, string $mimeType): array;
/*
return [
   'type'      => 'file', // string
   'path'      => '/path/to/doc/', // string
   'dirname'   => 'dir', // string
   'timestamp' => 123456, // int
   'size'      => 500, // int
   'mimetype'  => 'application/pdf', // string
   'contents'  => '...' // string the file content
];
*/
```

### ConcatenatorPlugin

[](#concatenatorplugin)

```
$filesystem->concatenate(array [$path, $path1, $path2]): array;
```

For this case nuxeo also implements a faster way using uids

```
$normalisedArray = $filesystem->concatenate(array [$uid, $uid1, $uid2], bool true): array;
```

Boths cases return this array

```
[
   'type'      => 'file', // string
   'path'      => '/path/to/doc/', // string
   'dirname'   => 'dir', // string
   'timestamp' => 123456, // int
   'size'      => 500, // int
   'mimetype'  => 'application/pdf', // string
   'contents'  => '...' // string the file content
];
```

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% 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

2682d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/dfff3a5aac423e6b6c2c5d5c9833e4982c72f22d339d62c1ebe4613d546c02f6?d=identicon)[4k1r0](/maintainers/4k1r0)

---

Top Contributors

[![Ak1r0](https://avatars.githubusercontent.com/u/7613997?v=4)](https://github.com/Ak1r0 "Ak1r0 (3 commits)")[![4k1r0](https://avatars.githubusercontent.com/u/251424776?v=4)](https://github.com/4k1r0 "4k1r0 (1 commits)")[![aslvconsulting](https://avatars.githubusercontent.com/u/44241428?v=4)](https://github.com/aslvconsulting "aslvconsulting (1 commits)")

---

Tags

FlysystemdocumentnuxeoGED

### Embed Badge

![Health badge](/badges/ak1r0-flysystem-nuxeo/health.svg)

```
[![Health](https://phpackages.com/badges/ak1r0-flysystem-nuxeo/health.svg)](https://phpackages.com/packages/ak1r0-flysystem-nuxeo)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k532.1M19.4k](/packages/laravel-framework)[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.7k277.8M965](/packages/league-flysystem-aws-s3-v3)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[league/flysystem-bundle

Symfony bundle integrating Flysystem into Symfony applications

40331.4M120](/packages/league-flysystem-bundle)[barryvdh/elfinder-flysystem-driver

A Flysystem Driver for elFinder

1864.9M40](/packages/barryvdh-elfinder-flysystem-driver)[masbug/flysystem-google-drive-ext

Flysystem adapter for Google Drive with seamless virtual&lt;=&gt;display path translation

2672.0M17](/packages/masbug-flysystem-google-drive-ext)

PHPackages © 2026

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