Per image toolkits. This is a great use case because:, we decided to revert image effects and cache as our initial plugin use cases. But we still need a use case, and moshe suggested
- There's only 1 implemented in core (GD), so should be not too tedious to convert and minimizes patch bloat.
- There's an existing UI for selecting which toolkit to use.
- The 'available' key is based on non-static info, so this demonstrates a use case for Derivatives.
- It's a use case that includes a configuration setting.
- image_toolkit_invoke() is just silly, replacing it with OOP will be satisfying.
Ideally, I think we should build this use case with chx's AnnotatedClassDiscovery rather than HookDiscovery, because I think merlin's point about keeping everything about a plugin in one place (instead of an info hook plus a class) is an important one to reinforce to people who will be seeing this plugin system for the first time. It also helps explain what derivatives are for (which is a concept I've been finding impossible to explain when info hooks are in use, since info hooks can contain runtime logic).
PASSED: [[SimpleTest]]: [MySQL] 53,401 pass(es). View
FAILED: [[SimpleTest]]: [MySQL] 53,000 pass(es), 1 fail(s), and 0 exception(s). View