Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Jackalope Fs

Jackalope Fs Laravel Package

jackalope/jackalope-fs

Filesystem-backed PHPCR (Jackalope) transport implementation, storing repository data on disk. Useful for local development, testing, and lightweight setups where a database isn’t needed, while staying compatible with PHPCR APIs and tooling.

View on GitHub
Deep Wiki
Context7

Jackalope Transport library using the filesystem

Frequently asked questions about Jackalope Fs
How do I use jackalope/jackalope-fs with Laravel for CMIS-based file storage?
This package isn’t a direct Laravel filesystem driver but can be wrapped in a custom adapter. Extend Laravel’s `Filesystem` contract to bridge Jackalope’s filesystem abstraction layer (FSAL) with Laravel’s storage API. Start by implementing methods like `write()`, `read()`, and `delete()` to translate between Laravel’s filesystem calls and Jackalope’s CMIS operations.
Does jackalope/jackalope-fs work with Laravel’s native filesystem (Illuminate/Filesystem) out of the box?
No, it requires manual integration. Since Laravel’s filesystem stack is optimized for local/cloud storage (e.g., S3, FTP), you’ll need to create a custom adapter or service provider to bind Jackalope’s filesystem to Laravel’s IoC container. This ensures compatibility with Laravel’s `Storage` facade or filesystem contracts.
Which Laravel versions support jackalope/jackalope-fs?
The package targets PHP 7.4+, making it compatible with Laravel 8, 9, and 10. However, ensure your Laravel app’s dependencies (e.g., Symfony components) align with Jackalope’s requirements. Test thoroughly, as CMIS operations may introduce latency or edge cases not covered by Laravel’s default filesystem drivers.
Can I use jackalope/jackalope-fs for production without a CMIS server?
No, this package is a filesystem abstraction layer (FSAL) for CMIS, not a standalone storage solution. It requires a CMIS-compliant backend (e.g., Alfresco, Nuxeo) for remote operations. For local-only use, consider Laravel’s built-in `local` driver or Flysystem adapters, which are more lightweight and actively maintained.
How do I handle authentication for CMIS repositories in Laravel?
Credentials for CMIS repositories (e.g., session tokens, usernames/passwords) should never be hardcoded. Use Laravel’s configuration system (`config/cmis.php`) with environment variables or a dedicated service class to manage authentication. For example, inject a `CmisClient` into your adapter, which handles secure credential storage and session management.
Are there performance concerns when using jackalope/jackalope-fs in Laravel?
Yes, CMIS operations (e.g., large file uploads, versioning) can introduce latency compared to native Laravel storage. Benchmark your workflows, especially for high-traffic applications. For performance-critical paths, cache frequently accessed files locally or use Laravel’s `local` driver for drafts while offloading published assets to CMIS.
What’s the difference between jackalope/jackalope-fs and Laravel’s Flysystem adapters?
Flysystem adapters (e.g., S3, Dropbox) are optimized for cloud/local storage with minimal overhead, while jackalope/jackalope-fs is a CMIS-specific layer for enterprise document management. Use Flysystem if you need simple cloud storage; use jackalope/jackalope-fs only if you require CMIS compliance (e.g., Alfresco integrations, metadata versioning).
How do I test jackalope/jackalope-fs in a Laravel application?
Set up a mock CMIS server (e.g., Chemistry or a local Alfresco/Nuxeo instance) for testing. Use Laravel’s `Storage` facade or a custom adapter to interact with the filesystem layer. Mock Jackalope’s CMIS operations in unit tests to avoid dependency on a live repository. For integration tests, use a disposable CMIS sandbox environment.
Is jackalope/jackalope-fs actively maintained? Are there alternatives?
The package has minimal recent activity (last release in 2022), so maintenance risks exist. Alternatives include PHP-CMIS (a lower-level CMIS client) or commercial solutions like Hyland’s OnBase API. For Laravel-specific needs, consider Flysystem’s CMIS adapter (if available) or build a custom wrapper around PHP-CMIS for better integration.
Can I use jackalope/jackalope-fs for versioning files in Laravel?
Yes, but only if your CMIS backend supports versioning (e.g., Alfresco, Nuxeo). Jackalope’s FSAL inherits versioning capabilities from the underlying CMIS repository. For local filesystems, Laravel’s native filesystem lacks versioning, so this package is essential for CMIS-based version control. Ensure your adapter exposes versioning methods (e.g., `getVersionHistory()`) to Laravel.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai