meetplume/plume
Laravel integration for MeetPlume that connects your PHP application to Plume's meeting and scheduling features via a configurable API client, service bindings, and convenient helpers for common workflows. Designed to keep setup simple and code testable.
composer require <vendor>/plume
php artisan vendor:publish --provider="<Vendor>\Plume\PlumeServiceProvider"
Assets land in public/vendor/plume; any config is exposed as config/plume.php.composer install / composer update that changes the package version, run:
php artisan plume:update-assets
This deletes the previously published files under public/vendor/plume and republishes the current ones, so stale content-hashed filenames stop accumulating.Deploy script (the intended workflow). The command is designed to be a single line in your release pipeline, immediately after dependency installation:
composer install --no-dev --optimize-autoloader
php artisan plume:update-assets
php artisan migrate --force
php artisan config:cache && php artisan route:cache && php artisan view:cache
Placing it after Composer and before your cache-warming steps means the freshly published manifest/hashed files are what get referenced once caches are rebuilt.
Composer hook for local development. If you don't want to remember the command, wire it into composer.json — but scope it to updates of this package so it doesn't run on every unrelated dependency bump:
"scripts": {
"post-update-cmd": [
"@php artisan plume:update-assets --ansi"
]
}
Version-gated invocation. The command only exists from v0.10.5 onward. If staging/production may run older versions during a rolling deploy, guard it so a missing command doesn't fail the build:
php artisan list plume | grep -q plume:update-assets \
&& php artisan plume:update-assets \
|| echo "plume:update-assets not available, skipping"
Container/immutable-image builds. If your runtime filesystem is read-only or rebuilt from an image, run plume:update-assets at image build time (after composer install), not at container start — the command writes to public/vendor/plume.
Pair it with a cache purge. Republishing assets produces new hashed filenames; if you front the app with a CDN or aggressive reverse proxy, purge or invalidate the affected paths as a follow-up step so clients pick up the new references.
public/vendor/plume. The command recursively removes the directory before republishing, so any local hotfix, custom CSS, or override placed there will be silently destroyed. Put overrides in resources/ and publish-to-a-different-path, or document them explicitly.root or as a CI user while the web server reads as www-data can produce permission errors or unreadable assets later. Use sudo -u www-data or fix ownership/permissions after the step.artisan optimize. Run the command before config:cache/view:cache so any cached references point at the newly published files. If you cache first, clear and re-warm afterwards.public/vendor/plume. If users report missing styles/scripts right after a release, this is the first thing to check.public/vendor/plume out of version control. It's generated output. If it is committed today, add it to .gitignore and let the command own the directory — otherwise merges will reintroduce the stale files the command just cleaned up.public/ directory you're writing to (symlinked current/ releases are a common culprit), and check for an opcache or realpath cache holding onto deleted paths.How can I help you explore Laravel packages today?