# How the detection works

This chapter explains how Media Organizer arrives at its verdict. You do not need it for everyday work — but if you want to follow a classification or judge how well your website is covered, it is exactly the right place.

## Two separate steps

A scan consists of two parts that are deliberately kept apart:

1. **Build the inventory.** Which media files exist at all? Read from the configured media adapters.
2. **Collect references.** Who points to which file? That is done by several independent *search areas*.

Only then does Media Organizer compare the two. A file without a matching reference becomes a candidate — no more than that.

<div class="callout info" id="bkmrk-important-for-unders">Important for understanding: a search area **only reports occurrences**. It does not judge. The statement "without a reference" is made solely by the evaluating stage, after *all* search areas have run.

</div>## The search areas

<table class="table" id="bkmrk-area-what-it-searche"> <thead> <tr> <th scope="col">Area</th> <th scope="col">What it searches</th> </tr> </thead> <tbody> <tr> <td>**Articles and categories**</td> <td>Articles (intro and full text, article image) and categories, including custom fields.</td> </tr> <tr> <td>**Modules**</td> <td>The HTML of "custom HTML" modules, the module settings and folder entries. Unpublished modules and those in the trash count as well (configurable).</td> </tr> <tr> <td>**Version history**</td> <td>Older versions of articles. Whoever restores an old version needs its images.</td> </tr> <tr> <td>**Template files**</td> <td>CSS and template files with image paths hard-coded in them — background images, for instance.</td> </tr> <tr> <td>**Extension profiles**</td> <td>Third-party extensions for which a vetted profile exists.</td> </tr> <tr> <td>**Deep scan**</td> <td>The safety net: searches all database tables for image references — including those of extensions without a profile of their own.</td> </tr> </tbody></table>

All six can be switched off individually (Options → *scanning*). That is rarely a good idea: every area switched off makes the list of candidates longer and the conclusion weaker.

## The deep scan

The specialised areas know exactly where to look. The deep scan does not — it goes broadly across the database and searches for everything that looks like a media reference.

That makes it slower but indispensable: it catches references from extensions for which there is (as yet) no profile. If you switch it off, you lose exactly that safety net.

## Folder references

Some references point not to a file but to a folder — a random-image module with the parameter "folder: `images/banner`", for instance.

Media Organizer counts that as a full reference to **all** files below it, including subfolders. Overlooking that would make a whole image directory count as orphaned, just because no image is named individually.

## Normalisation: why paths get straightened out

The same reference can be written in many ways: with or without a leading slash, as an absolute URL, with Joomla's internal `#joomlaImage://` suffix, URL-encoded. For a comparison to succeed at all, Media Organizer reduces everything to one uniform form.

One special case deserves attention: **Unicode normalisation (NFC)**. Uploads from a Mac encode umlauts technically differently from Windows or Linux — *ä* can be one character or two. Without normalisation such files would wrongly count as "without a reference". The option is active by default; when in doubt, leave it on.

With **known website URLs** you additionally tell Media Organizer which absolute URLs count as local — useful when content is linked with full addresses.

## Derivatives

Many images have automatically generated variants: thumbnails, scaled-down versions. Media Organizer recognises this relationship and passes the classification on: if the original is in use, the derivative counts as used as well.

## What is never recorded

Certain top-level folders are off limits in principle and are not inventoried at all — among them `administrator`, `libraries`, `templates`, `plugins`, `cache` and the quarantine folder itself. That protects Joomla system files from being touched, even if a media adapter is configured wrongly.

The folder `media/` is deliberately *not* protected — on many websites real uploads live there.

## Where to go from here

- [Extension profiles and the coverage gate](https://docs.graup-it.de/books/media-organizer-en/page/extension-profiles-and-the-coverage-gate)
- [Configuration reference](https://docs.graup-it.de/books/media-organizer-en/page/configuration-reference)

<small>Applies to version 1.2.0.</small>

[Deutsche Fassung](https://docs.graup-it.de/link/67)