What setting the migration up on a site gives it: the permission names its runs are gated by,
admin:dashboard:migration and admin:api:migration, so a site's admin can be granted them. The
names are shared by every site, so the first site's install creates them and every later one finds
them; the system writes them, whoever asked, through
MishkaCmsCore.Install.Bootstrap.ensure_permissions/1, as
MishkaCmsCore.Runtime.ExtensionProvision does for every extension. The extension ships no
components, pages or snippets.
The module is the extension's plugin on installer:extension:install
(MishkaCmsCore.Install.Extensions): subscribing is what makes the extension installable, and
:extra is what the installer's picker shows. It answers the payload whose key is
"mishka_cms_migration" with install/2's report, appended to reports, and hands every other
payload on untouched. Installing needs admin:dashboard:runtime:site; a site's admin installs it
only on their own site. With no actor it runs only while the CMS itself is being installed.
The extension registers no settings, so it has no tab on the Settings page.
Summary
Functions
Returns a specification to start this module under a supervisor.
Callback implementation for MishkaInstaller.Event.Hook.enable/0.
Callback implementation for MishkaInstaller.Event.Hook.get/0.
Optional. See MishkaInstaller.Event.Hook.health_check/0. Override to report health.
Installs the migration on site_id as actor and answers the report the installer shows, in the
shape of MishkaCmsCore.Runtime.ExtensionProvision.report/0 (permissions names the ones
created by this install), or %{error: message} when actor may not.
Optional. See MishkaInstaller.Event.Hook.on_dependency_error/1. Override to react.
Callback implementation for MishkaInstaller.Event.Hook.register/0.
Callback implementation for MishkaInstaller.Event.Hook.restart/0.
Callback implementation for MishkaInstaller.Event.Hook.start/0.
Callback implementation for MishkaInstaller.Event.Hook.stop/0.
Callback implementation for MishkaInstaller.Event.Hook.unregister/0.
Types
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec config() :: keyword()
@spec enable() :: okey_return() | error_return()
Callback implementation for MishkaInstaller.Event.Hook.enable/0.
@spec get() :: keyword()
Callback implementation for MishkaInstaller.Event.Hook.get/0.
Optional. See MishkaInstaller.Event.Hook.health_check/0. Override to report health.
@spec install(String.t(), map() | nil) :: MishkaCmsCore.Runtime.ExtensionProvision.report() | %{error: String.t()}
Installs the migration on site_id as actor and answers the report the installer shows, in the
shape of MishkaCmsCore.Runtime.ExtensionProvision.report/0 (permissions names the ones
created by this install), or %{error: message} when actor may not.
Optional. See MishkaInstaller.Event.Hook.on_dependency_error/1. Override to react.
@spec register() :: okey_return() | error_return()
Callback implementation for MishkaInstaller.Event.Hook.register/0.
@spec restart() :: okey_return() | error_return()
Callback implementation for MishkaInstaller.Event.Hook.restart/0.
@spec start() :: okey_return() | error_return()
Callback implementation for MishkaInstaller.Event.Hook.start/0.
@spec stop() :: okey_return() | error_return()
Callback implementation for MishkaInstaller.Event.Hook.stop/0.
@spec unregister() :: okey_return() | error_return()
Callback implementation for MishkaInstaller.Event.Hook.unregister/0.