Nested data sources
Up until now, tinyMediaManager required your data sources to be completely separate from each other. If you tried to add a folder that was already covered by another data source - or that itself contained one - the add dialog simply refused it with an error, because overlapping data sources used to lead to duplicate entries and bogus imports.
Starting with v5.3.5, this restriction is gone: you can now add a data source inside another data source.
What Is a Nested Data Source?
A nested data source is exactly what it sounds like - a data source that lives inside another data source. A typical setup might look like this:
/mnt/media
Movies <- data source
Aladdin
Cars
Anime <- nested data source
Akira
Your Name
4K <- nested data source
Blade Runner 2049
Dune
Here Movies is your main movie data source, and both Anime and 4K are data sources of their own, located inside it. Previously tinyMediaManager would have refused to add them.
How It Behaves
Nested data sources follow three simple rules, so you never end up with duplicates or phantom entries:
- Every data source owns its own subtree. A scan of a parent data source never descends into a nested data source. Since
Animeand4Kare data sources themselves, they are skipped while scanningMovies- their content is only imported when those data sources are scanned. - Every item belongs to the deepest data source it is located in. A movie in
Movies/4K/Dunebelongs to the4Kdata source, not toMovies. If you later add a parent folder of already imported movies as a data source, tinyMediaManager automatically moves those movies to the owning data source on the next update data sources. - The data source stays in sync. Renaming a movie into a nested data source updates its data source automatically, so it continues to be managed by the right data source.
Why This Matters
Being able to nest data sources finally lets you organize your collection the way your storage is organized - without having to fight tinyMediaManager over it. Some ideas:
- Keep a general movie source and separate data sources for 4K/UHD, remux or 3D content
- Separate anime, documentaries or kids content into their own data sources, each with its own scraper settings and renamer profile
- Split an existing large collection into smaller, independently manageable sources without moving a single file
Since each nested data source is a real data source, it also gets its own entry in the settings and its own index, so you can scan and update it independently - for example via the UI, the command line or the HTTP API.
A Note on Symlinks
All nesting checks are done on the (normalized) path, not on the real file system path. A data source which is only reachable through a symbolic link is therefore not recognized as nested, and a scan following that link may still produce duplicate entries. Keep your data source folders free of symbolic links to other data sources.
A Quick Recap
- Add a data source inside another data source (v5.3.5)
- A parent data source never scans into a nested one - no duplicates
- Every movie/TV show belongs to the deepest matching data source
- The data source field is kept in sync when scanning and when renaming
- Keep data source folders free of symlinks to other data sources