jackalope/jackalope-fs
Filesystem-based PHPCR Jackalope backend. Stores repository content in flat files, useful for local development, demos, and lightweight setups where a full database backend isn’t needed. Provides a simple way to run PHPCR without extra infrastructure.
jackalope/jackalope-fs package provides a Filesystem Abstraction Layer (FSAL) for Jackalope, a PHP implementation of the Content Repository API (CMIS). This is a niche but critical component for applications requiring CMIS-compliant document management (e.g., enterprise content repositories, DAM systems, or workflow integrations).Illuminate/Filesystem) is not CMIS-compatible, making this package valuable for projects needing CMIS-based storage (e.g., Alfresco, Nuxeo, or SharePoint integrations).jackalope/jackalope) for CMIS functionality.LocalFilesystem) are supported but limited to basic FS features.Filesystem contract).local driver for non-CMIS operations.Flysystem + S3/Dropbox adapters suffice for simpler cloud storage needs?Filesystem contract to wrap jackalope/jackalope-fs.use Jackalope\Filesystem\Filesystem as JackalopeFS;
use Illuminate\Contracts\Filesystem\Filesystem as LaravelFS;
class CmisFilesystem implements LaravelFS {
private $jackalopeFS;
public function __construct(JackalopeFS $fs) {
$this->jackalopeFS = $fs;
}
public function write($path, $contents, $options = []) {
return $this->jackalopeFS->write($path, $contents);
}
// Implement other LaravelFS methods...
}
JackalopeFS to Laravel’s IoC container for dependency injection.$this->app->bind(JackalopeFS::class, function ($app) {
return new JackalopeFS(new LocalFilesystem('/path/to/local'));
});
local driver for files stored in Alfresco/Nuxeo.write, read, delete) via jackalope/jackalope-fs.CmisFilesystem adapter.Storage::disk('local') with Storage::disk('cmis') where needed.lastModified, temporaryUrls).cmis:contentStreamLength).Filesystem methods are implemented (e.g., url(), exists(), copy()).jackalope/jackalope and jackalope/jackalope-fs via Composer.alfresco or nuxeo endpoint).CmisFilesystem class with minimal viable functionality.Storage facade:
Storage::disk('cmis')->put('file.txt', 'content');
local/s3 drivers for critical operations.cache()->remember() for metadata).jackalope/jackalope's built-in logging or wrap in a Monolog handler.filecache driver.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| CMIS Repository Down | File operations fail | Fallback to |
How can I help you explore Laravel packages today?