https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43666

--- Comment #1 from Martin Renvoize (ashimema) 
<[email protected]> ---
Created attachment 207006
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=207006&action=edit
Bug 43666: Add Koha::Objects::Mixin::SingleTableInheritance::Pluggable

Adds Koha::Objects::Mixin::SingleTableInheritance::Pluggable, which
inherits from ::SingleTableInheritance (bug 43663) and overrides only
_sti_map, merging in classes contributed by plugins via a public
additional_sti_classes() method - reusing the same GetPlugins({ method
=> ... }) discovery pattern Koha::SuggestionEngine/Koha::RecordProcessor
already use. No filesystem scanning, no new registry.

Composing ::Pluggable is itself the code-level opt-in gate. Two further
gates apply: a koha-conf.xml kill-switch,
enable_plugin_sti_registration, defaulting off; and the master
enable_plugins switch, which _sti_map now honours the same way every
other plugin discovery call site does.

Plugin contributions are merged defensively - eval-wrapped per plugin,
dropped with a warning if a plugin's method dies, returns the wrong
shape, or contributes a class that fails to load or doesn't subclass
the target's base class. Results are cached per target class via
Koha::Cache::Memory::Lite. Core-declared keys are always merged in
last, so they structurally win over any plugin contribution.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Co-Authored-By: Claude Fable 5 <[email protected]>

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to