Fix: ImpulseDB Postgres is not appearing in ImpulseCore's modules registered table
You activated ImpulseDB Postgres in WHMCS, but ImpulseCore's Overview tab doesn't show the module under Modules registered.
Last updated 20 days ago
Fix: ImpulseDB Postgres is not appearing in ImpulseCore's modules registered table
What you're seeing
You activated ImpulseDB Postgres under System Settings > Addon Modules in WHMCS. The activation appeared to succeed β no fatal in the page, the addon is in the Active list. But when you open Addons > ImpulseCore and look at the Overview tab's Modules registered table, ImpulseDB Postgres isn't there. The admin tab for ImpulseDB Postgres might load, but anything that depends on Core (cron tasks, hooks, the Security pipeline) is silently inert.
Why it happens
Every Impulse module registers with ImpulseCore through its activate hook by calling ImpulseCore::registerModule() with its manifest. If that call doesn't complete, the module ships its UI but never appears in Core's registry β and Core never knows to dispatch hooks or cron ticks to it.
Three common reasons it fails:
- ImpulseCore isn't installed yet. The activate hook fatals with
Class not found: ImpulseCore. Activation rolls back. (Surfaces as the linked article below.) - ImpulseCore is older than the version pinned in ImpulseDB Postgres's manifest. ImpulseDB Postgres depends on ImpulseCore 1.6.0 or newer. Older Core throws a version-mismatch exception.
- The module's
impulse_module.jsonmanifest is malformed or unreadable β usually a permissions issue onmodules/addons/impulsepostgres_addon/impulse_module.json.
Fix
- Confirm ImpulseCore is installed and active. Open System Settings > Addon Modules and look for ImpulseCore in the Active list. If it's not there, install and activate it before proceeding. See the linked ImpulseCore troubleshooting article for the install steps.
- Confirm Core is recent enough. Open Addons > ImpulseCore and check the version in the page footer. If it's older than 1.6.0, drop the latest release archive into
modules/addons/impulsecore/and re-activate Core. Core's activate hook is idempotent and migrates schema in place. - Check the audit log for the registration exception. With Core installed, open Addons > ImpulseCore > Audit and filter to
module=impulsecorewith severityerror. A failedmodule.registerevent fromimpulsedb-postgreswill be near the top β the exception text names the cause (version mismatch, manifest parse error, missing field). - Verify the manifest file is readable. SSH to the WHMCS box and confirm the WHMCS web user can read the manifest:
If it's missing or permission-denied, re-extract the ImpulseDB Postgres release archive and fix ownership.ls -l /path/to/whmcs/modules/addons/impulsepostgres_addon/impulse_module.json - Re-activate ImpulseDB Postgres. Under System Settings > Addon Modules, click Deactivate then Activate on ImpulseDB Postgres. The activate hook re-runs and calls
registerModule()again. No data is lost β re-activation is idempotent.
How to confirm it worked
Open Addons > ImpulseCore. The Overview tab's Modules registered table now has a row for impulsedb-postgres with its version and a recent registration timestamp. Cron tasks registered by the module appear under Cron Health, and the Security pipeline starts collecting on the next Core tick.