Wire Console

Provides status and setup guidance for ProcessWire Console and Boost composer packages.

WireConsole (ProcessWire Admin UI)

This module provides a ProcessWire Admin UI (“bridge UI”) for the ProcessWire Console ecosystem. It does not re-implement Console features itself; instead it integrates with:

  • trk/processwire-console (required for most features)
  • trk/processwire-boost (optional; status/info only)

Compatibility


ProcessWire / PHP

  • ProcessWire >= 3.0.210
  • PHP >= 8.2

Console package PHP API expectations

This admin UI depends on the Console package exposing a small set of PHP API classes. If your installed Console version does not provide these classes, the UI will display a warning with the missing FQCNs.

  • Migrations:
    • Totoglu\Console\Migration\Migrator
    • Totoglu\Console\Migration\MigrationRepository
  • Queues:
    • Totoglu\Console\Queue\QueueManager
  • Seeding:
    • Totoglu\Console\Database\SeederManager
    • Totoglu\Console\Database\Seeder
  • Scheduling:
    • Totoglu\Console\Scheduling\ScheduleManager
    • Totoglu\Console\Scheduling\Task
    • Totoglu\Console\Scheduling\Event

Installation


From your project root:

composer require trk/processwire-wireconsole

Then in ProcessWire Admin:

  • Admin → Modules → Refresh
  • Install WireConsole (and ProcessWireConsole Process module)

Dependencies

Install Console packages (from your project root):

composer require trk/processwire-console
composer require trk/processwire-boost # optional

If you install trk/processwire-wireconsole via Composer, you may still want to install trk/processwire-console for full functionality.

Permissions


The admin page requires the base permission:

  • wire-console

Feature tabs are permission-based (superusers bypass all checks):

  • wire-console-migrations
  • wire-console-queues
  • wire-console-seeding
  • wire-console-scheduling
  • wire-console-backup
  • wire-console-testing

If a user lacks a permission, the tab is hidden and direct access will display a “permission required” card.

Scheduling (cron)


Scheduling depends on a server cron entry that runs every minute:

* * * * * cd /path/to/project && php vendor/bin/wire schedule:run >> /dev/null 2>&1

The Admin UI can also trigger “run due tasks” manually (superuser-only), but cron is recommended for production.

Queues (workers)


Queue processing is operationally a CLI/worker concern. For production, run a worker process:

php vendor/bin/wire queue:work

The Admin UI focuses on table installation, inspecting failed jobs, and retry/clear operations.

Database backups & restore


The module uses ProcessWire core backup tooling ($database->backups()).

Notes:

  • In many production installs, site/assets/backups/ is protected via .htaccess (downloads may be blocked).
  • Ensure site/assets/backups/database/ is writable by the PHP user.
  • Restore is destructive. The UI requires typed confirmation (RESTORE) and can optionally create a pre-backup.

Testing


The UI can run php vendor/bin/wire test (superuser-only) if:

  • proc_open is enabled
  • vendor/bin/wire exists

Security notes:

  • Test arguments are allowlisted.
  • In non-debug mode ($config->debug = false), test output is hidden in the UI.

Audit log


All critical actions write structured audit entries to:

site/assets/logs/wire-console.txt

Troubleshooting


“Console PHP API not available”

Common causes:

  • vendor/autoload.php not found (wrong project root detection)
  • Console package not installed

The module resolves the Composer root by searching upwards from /site for composer.json and vendor markers.

If site/assets/backups/.htaccess denies access, the UI will avoid generating public download links. Use filesystem access to retrieve backup files.

Actions are blocked / not visible

  • Confirm the user has the required feature permission.
  • Superusers bypass feature permissions.

Development & tests


Module tests live under:

site/modules/WireConsole/tests

Run:

php vendor/bin/wire test --filter=WireConsole

More modules by ukyo (@trk)

  • FieldtypeFontIconPicker

    Module allow you to use Font-Awesome, Ionicons and other icon libraries easily. You can select icons directly from icon select list, also you can set settings for each InputfieldFontIconPicker.
  • WireMail: PHPMailer

    This module extends WireMail base class, integrating the PHPMailer mailing library into ProcessWire.
  • Mystique

    Mystique is a config file based field creation module for ProcessWire CMS/CMF by ALTI VE BIR.
  • Turkish (tr-TR)

    ProcessWire Türkçe Dil Çevirileri
  • Event Loader

    Event Loader module module allow you to load events from event files
  • Validation Module

    Validation Module For ProcessWire
  • Component

    Module help you to create and use set of components to utilise in your ProcessWire page templates.
  • Intervention Image Engine

    Replaces PW sizing with Intervention Image + Delayed Rendering using ImageManager logic.
  • Vite

    Vite adapter for ProcessWire

All modules by ukyo (@trk)

Install and use modules at your own risk. Always have a site and database backup before installing new modules.