Custom Analyzer Builder vs. Coded Fact Contract Plugins
| If your situation is... | Use... |
| One table, one column (or one JSON key) that already holds a clean path |
Custom Analyzer Builder — no code needed |
| Same as above, but you want it packaged as an installable plugin for another site |
Builder, then Export as Plugin |
| A data source with more than one image-bearing field per record (like Articles) |
Export a starting plugin from the Builder, then hand-extend it — or code one from scratch if you already know you need multiple fields |
| Image references embedded inside rich-text/HTML content |
Coded plugin only — the Builder cannot do this at any configuration |
| The data source has folders that should never be flagged as orphaned (a component's own cache, thumbnails, or working directories) |
Coded plugin only — Inventory Hints contract |
| The data source has a cache the admin should be able to safely clear from the Inspector |
Coded plugin only — Cache Locations contract |