Module settings, installation wizard and uninstalling

The module's settings endpoints, the environment check criteria, the seven steps of the installation wizard, the registered events and schedules, and the scope of uninstalling.

The module's settings page saves the module-level settings and, for the super administrator only, runs the environment check, the installation wizard, the library installation, the schema export and the installation-specific settings.

Saving the settings

Saving writes the whole submitted form over the existing module settings. The NAV software details (URL, software ID, name, operation, developer name, contact, tax number) are required. Condition: basic modify permission on the module settings route.

Installation wizard

StepBehaviour
checklooks for blocking errors with the environment check
composersyncs the bundled vendor directory or runs composer install
schemaapplies the baseline schema (install/schema/baseline.sql) with the seed tables, otherwise the built-in installer
migrateapplies the migrations automatically
defaultsdefault settings and the scheduler secret
registerevents (loaders, left menu, header), built-in schedules (invoice download and account coding), HUF as default currency, error log switched on, startup entries
finishinstallation state done, completion of the super administrator's route permissions

Environment check criteria: PHP at least 8.0.0 (recommended 8.2.0), framework 4.0.2.x, disk at least 300 MB (recommended 1 GB), libraries, PHP extensions, programs, network, schema; result as an HTML table.

Further endpoints

  • croncommand: the command-line (php cron.php) and the web (masterdata/cronqueue.run with secret) scheduler command.
  • exportschema: downloads baseline.sql.
  • tenantsave: saves or deletes an installation-specific JSON setting per key.
  • install: default settings, installation state pending. uninstall: the model's removal step and deletion of the own events, schedules and the two startup entries; no business data is deleted.

Permissions

  • Wizard, environment check, library installation, cron command, export and installation-specific settings: isSetupAdmin() = basic modify permission and user_group_id = 1.
  • install and uninstall: basic modify on the extension manager.
  • In the seed, the module's list row exists only in the permission input, unclassified.

Data used

Table names carry the installation's own prefix in the database.

setting (module and installation-specific settings), event (event handlers), the framework's scheduler list and startup list.