Download the PHP package voodflow/vmedia without Composer

On this page you can find all versions of the php package voodflow/vmedia. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package vmedia

VoodMedia (voodflow/vmedia)

Media Vault for Laravel + Filament: upload once, reuse everywhere. One vault storage copy, many gallery memberships, morph attachments for your domain models.

Works standalone in any Filament app. Optional integrations with VoodBuilder (Asset Manager), Voodflow (e.g. Approval Page heroes), and any third-party package that registers its own vault root.

Built on Filament 5 and Spatie Media Library.

Screenshots

Media library

Central library: preview, galleries, usage counts, type, size, and upload time. Upload media or Import ZIP from the header.

Galleries (folders & albums)

Organize vault media with a hierarchy: Folder = container (year, product, plugin…); Album = holds photos/files. Mark a default gallery and toggle public albums.

Album editor

Edit album metadata (parent, slug, public/default), manage images (browse library, upload, ZIP import, drag reorder), and assign album tags.

Picker (VmediaPicker)

Modal for forms and builders: upload into the selected folder/album, filter by parent/gallery, search, grid/list view, multi-select → Use selection.

Requirements

Requirement Notes
PHP 8.4+
Laravel 12 or 13
Filament 5
Spatie Media Library 11
PHP gd extension Must be built with JPEG (and preferably WebP + FreeType). Spatie generates thumb conversions on upload; without JPEG support you get imagecreatefromstring(): No JPEG support in this PHP build.

Verify in the app container:

Docker / php:*-fpm example:

Quick start (5 minutes)

Register on the Filament panel:

Attach media to a model:

Upload in a Filament form:

Pick existing vault media:

Plugin vault roots (for packages & host apps)

VoodMedia does not hardcode product folders. Each package (or the host app) registers a top-level folder + default Library album, then uses it for uploads/pickers.

1. Register + ensure on boot

In your package ServiceProvider (or AppServiceProvider):

Equivalent low-level API:

After boot you get a folder Acme with a child Library album (upload target when browsing that folder).

Sync all registered roots (after companions have booted):

2. Use the vault in code

Optional: nest under a configured parent (settings / multi-tenant layout):

3. Conventions

Concept Rule
source Stable string stored as integration_source (e.g. acme, voodflow)
slug URL/path segment for the folder
Library album Auto-created under the root; use it as default upload target
Isolation Your package owns only its source; do not hardcode other products in VoodMedia

Shared Logos folder is provided by VoodMedia itself (PluginVaultRootGroup::logos()).

Model

Features

Area What you get
Admin Library + galleries hierarchy, metadata (alt, caption, credits; video poster on videos), soft delete / trash
Picker VmediaPicker + VmediaFileUpload for other plugins
Files Photos, videos, and documents (PDF/Office/ZIP…)
Thumbs Spatie thumb conversion (WebP) for images
Usage Attachment counts; delete protected when media is in use
Tags Media tags + album tags; bulk assign
Duplicates SHA-256 reuse (optional)
ZIP import Bulk extract into the vault
Events MediaStored, MediaAttached, MediaDetached, MediaDeleted, MediaRestored
Stats Dashboard widget + php artisan vmedia:stats
Orphans php artisan vmedia:prune-orphans --force
Public GET /galleries/{slug} Blade gallery for is_public galleries

HTTP API (package-owned)

Method Path Role
GET /vmedia/media/galleries Gallery list + counts
GET /vmedia/media?page=&per_page=&gallery_id=&type=&q= Paginated assets (type: image|video|file)
POST /vmedia/media/upload Upload; optional gallery_id (folder/album — folders resolve to library album)
DELETE /vmedia/media/{media} Soft-delete (?force=1 force-deletes)

All routes require authentication (and optional Gate ability VMEDIA_ABILITY).

Config highlights

Storage disk (local / S3 / …)

VMEDIA_DISK is any disk from Laravel’s config/filesystems.php. Spatie stores vault files on that disk (MediaVaultuseDisk(...)).

Local (default):

S3 (or compatible): define the disk as usual, then point VoodMedia at it:

config/filesystems.php (stock Laravel s3 disk is enough):

Require the Flysystem S3 adapter if the host app does not already:

No VoodMedia-specific S3 code path: Filament uploads and Spatie conversions use the configured disk. Keep Livewire temporary uploads on a local disk if you prefer (LIVEWIRE_TEMPORARY_FILE_UPLOAD_DISK=local); only the final vault objects need VMEDIA_DISK=s3.

Public URLs come from Storage::disk(...)->url(...) (local → /storage/..., S3 → bucket/CloudFront URL). Use a public bucket (or CDN AWS_URL) so thumbs and embeds resolve without signed URLs.

Docs

License

MIT — see LICENSE.


All versions of vmedia with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
ext-gd Version *
filament/filament Version ^5.0
filament/spatie-laravel-media-library-plugin Version ^5.0
illuminate/contracts Version ^12.0|^13.0
spatie/laravel-medialibrary Version ^11.0
spatie/laravel-package-tools Version ^1.15
spatie/laravel-sluggable Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package voodflow/vmedia contains the following files

Loading the files please wait ...