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

  1. Build the ZIP artifact with composer plugin:build.
  2. Upload it through System -> Plugins.
  3. Review the plugin detail screen.
  4. Enable the plugin.
  5. If health reports Setup required or Plugin migrations pending, run Run Plugin Migrations from the plugin detail screen.
  6. Open /webadmin/plugins/webblocks-ui-manager/releases from the sidebar or directly after setup completes.
  7. 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.