1. Two roads into the same contract
Every Analyzer in Media Audit Tool — whether it ships with the product or was added afterward — ultimately produces the same thing: a set of fact records describing which media files a given piece of content references. The Inspector, the orphan scan, and the Asset Intelligence Report don't care how those facts were produced; they only care that each one arrives shaped correctly.
There are two ways to produce them:
- Coding a Fact Contract v1.0 plugin — a real Joomla plugin (
plg_mat_<name>) that implementsonMediaaudittoolCollectReferences()in PHP, with full control over how it reads its data source and what it reports. - Using the Custom Analyzer Builder — an admin screen inside Media Audit Tool where you point at one database table, pick a few columns, and get a working analyzer with no PHP written by hand.
Both roads lead to the same contract. The difference is how much of the data source's real-world messiness each one can actually handle — and that gap is the subject of this document.