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.