MishkaCmsCore. Runtime. PageBuilder. CardPreviewInvalidator
(Mishka CMS Core v0.0.1)
Copy Markdown
View Source
Drops cached palette-card previews when the component they drew has been recompiled.
A preview is markup produced by a component's module. Recompile the module and the markup can change — and a stale one is the worst kind of wrong, because it looks fine: the author sees the component they edited still drawn the old way and concludes their edit did not take.
Hung off runtime:after_module_compile, which the compiler already announces, rather than a call
wired into the compiler by hand. The core is a participant in its own events (ADR-14), so this is
the same mechanism an extension would use to react to the same fact — see
MishkaCmsCore.Builder.Events.
It cannot tell WHICH site's previews a module belongs to without loading it, so it drops all of them. That is the cheap and correct trade: the cache refills at about two milliseconds an entry, and a compile is rare next to a hover.
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.
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.
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.