numencode/wn-dropboxadapter-plugin

NumenCode Dropbox Adapter plugin for Winter CMS

v1.0.0 2025-07-09 10:10 UTC

This package is auto-updated.

Last update: 2025-07-09 10:30:51 UTC


README

The Dropbox Adapter Plugin provides Dropbox v2 API integration with Winter CMS as a custom filesystem disk driver. This allows limited usage of Dropbox with Laravel's Storage facade—primarily for custom logic and backup tools such as NumenCode.SyncOps.

Version Packagist PHP Version Support Checks Tests License

Target Audience

This plugin is designed for developers who want to interact with Dropbox from within Winter CMS using Laravel’s filesystem abstraction, especially for automation, remote syncing, and backup scenarios.

Note: Due to framework limitations, Winter CMS (as of version 1.2) does not support using Dropbox as a filesystem for core media or uploads disks. This plugin is not intended for direct media asset management, but rather for use cases like backup transport, cloud storage sync, or custom plugin integration (e.g. NumenCode.SyncOps).

Installation

This plugin is available for installation via Composer.

composer require numencode/wn-dropboxadapter-plugin

Once the plugin is installed, ensure all migrations are executed:

php artisan winter:up

Requirements

  • Winter CMS version 1.2.7 or newer
  • PHP 8.0 or later
  • A Dropbox API access token

Configuration

  1. Create a Dropbox App in the Dropbox App Console and generate an access token.
  2. Define a new filesystem disk in your config/filesystems.php file:
    'dropbox' => [
        'driver' => 'dropbox',
        'authorization_token' => env('DROPBOX_AUTH_TOKEN'),
    ],
  3. Add the token to your .env file:
    DROPBOX_AUTH_TOKEN=your_generated_token
    You can now interact with Dropbox programmatically using the Storage facade in Laravel:
    Storage::disk('dropbox')->put('backups/site.zip', $contents);
    This is especially useful for custom automation (e.g., deployment scripts or remote backup workflows).

Limitations

  • Not compatible with Winter CMS native media or uploads disks.
  • Not suitable for asset serving or file uploading through the CMS backend UI.

Use Dropbox through this plugin only for custom filesystem operations that are manually invoked or triggered via automation (e.g., within the NumenCode.SyncOps plugin or similar).

Example Use Case

This plugin was created to support NumenCode.SyncOps, a Winter CMS plugin for managing deployments, backups, and environment synchronization. Dropbox serves as a remote storage destination for sync packages or archive backups.

Changelog

All notable changes are documented in the CHANGELOG.

Contributing

Please refer to the CONTRIBUTING guide for details on contributing to this project.

Security

If you identify any security issues, email info@numencode.com rather than using the issue tracker.

Author

The NumenCode.DropboxAdapter plugin is created and maintained by Blaz Orazem.

For inquiries, contact: info@numencode.com

License

This project is open-sourced software licensed under the MIT license.

License