Module Usage

Module Usage

Module Usage

Formerly titled “Usage”. Refreshed against dev-next. Do not follow obsolete Pingpong / PPModule examples.

Module system

NMS Prime uses nwidart/laravel-modules. Modules live under modules/<Module>/ and are described by module.json.

Useful artisan commands

php artisan module:list php artisan module:enable ExampleApp php artisan module:disable ExampleApp php artisan module:migrate --all php artisan module:publish --all

Check whether a module is enabled

Preferred patterns in current code:

use Module; if (Module::collections()->has('Ticketsystem')) { // enabled } if (Module::isEnabled('ProvVoipEnvia')) { // enabled }

For optional cross-module features, prefer dedicated availability helpers when the codebase already provides one for that domain.

Frontend impact

Enabled modules also affect asset compilation. Laravel Mix reads modules_statuses.json when building module JS/CSS.

Related pages