WebBlocks UI Manager
Requirements
Documented package version: 0.2.0. WebBlocks CMS ^1.32; PHP >=8.3.
Internal operator plugin for WebBlocks UI release metadata and first-party local CDN preparation workflows. It is not for general installs: it belongs on the operator hosts that publish WebBlocks UI, such as webblocksui.com.
What it does, and what it refuses to do
The plugin records WebBlocks UI releases, validates a set of dist files against stored SHA-256
checksums, and writes them into a project-owned static root under public/cdn/webblocks-ui/{version}.
It does not build WebBlocks UI, deploy to external production infrastructure, publish update-server
metadata, or change what the CMS consumes. Versioned artifact directories are immutable: an existing
file whose checksum matches is skipped, and one whose checksum differs blocks the run rather than
being replaced. latest is never written.
Dry-run reports every write, skip and block without touching the filesystem. Run it before an apply.
Manual Lifecycle
- Build the ZIP artifact with
composer plugin:build. - Upload it through
System -> Plugins. - Review the plugin detail screen.
- Enable the plugin.
- If health reports
Setup requiredorPlugin migrations pending, runRun Plugin Migrationsfrom the plugin detail screen. - Open
/webadmin/plugins/webblocks-ui-manager/releasesfrom the sidebar or directly after setup completes. - Disable before uninstalling. Uninstall removes the uploaded package and enabled state, but preserves
webblocks_ui_manager_*tables.
The Releases screen checks for webblocks_ui_manager_releases, webblocks_ui_manager_artifacts, and webblocks_ui_manager_publish_runs before querying. Missing tables render controlled setup guidance on the releases URL, including a plugin detail link and super-admin migration action, instead of a raw database error or dashboard redirect.
Enabled admin routes use plugin-owned permissions. webblocks-ui-manager.view protects release listing/detail pages, webblocks-ui-manager.manage protects release metadata changes and the settings page, and webblocks-ui-manager.publish protects publish actions. CMS super_admin users are allowed for these active plugin permissions; other roles require an explicit CMS permission grant before accessing the plugin.
CMS v1.32.75+ bridges the full WebBlocks UI Manager admin release/settings route tree through CMS core, including New Release, edit/update, dry-run, and publish actions. This keeps enabled compatible manual plugin actions on /webadmin/plugins/webblocks-ui-manager/... even when the uploaded artifact copy has stale route/source context.
Commands
php artisan webblocks-ui-manager:prepare-release v2.7.9 --artifact=/path/to/webblocks-ui.css
php artisan webblocks-ui-manager:publish-release v2.7.9 --dry-run
php artisan webblocks-ui-manager:publish-release v2.7.9
Conventions
handle webblocks-ui-manager
settings namespace webblocks_ui_manager
database prefix webblocks_ui_manager_
view namespace webblocks-ui-manager::
admin routes /webadmin/plugins/webblocks-ui-manager
route names webblocks.plugins.webblocks_ui_manager.*
commands webblocks-ui-manager:prepare-release, :publish-release
permissions webblocks-ui-manager.view, .manage, .publish
publish is separate from manage on purpose: recording that a release exists and writing files
into the CDN root are different acts, and an operator install should be able to grant one without
the other.