@ -238,8 +238,8 @@ Check out the example files in the [Plex Meta Manager Configs Repository](https:
## External Templates
To load external templates located in another file you can use the `external_templates` attribute by specifying the path type and path of the files that will be executed. See [Path Types](../config/paths.md) for how to define them.
To load external templates located in another file you can use the `external_templates` attribute by specifying the path type and path of the files that will be executed. See [Path Types](files.md#paths) for how to define them.
| [`templates`](../../builders/templates.md) | contains definitions of templates that can be leveraged by multiple collections |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../paths.md) that point to external templates that can be leveraged by multiple collections |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../../builders/files.md#paths) that point to external templates that can be leveraged by multiple collections |
| [`collections`](#collection-attributes) | contains definitions of collections you wish to add to one or more libraries |
| [`dynamic_collections`](#dynamic-collection-attributes) | contains definitions of [dynamic collections](../../builders/dynamic.md) you wish to create |
| [`templates`](../../builders/templates.md) | contains definitions of templates that can be leveraged by multiple Overlays |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../paths.md) that point to external templates that can be leveraged by multiple Overlays |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../../builders/files.md#paths) that point to external templates that can be leveraged by multiple Overlays |
| [`overlays`](#overlay-attributes) | contains definitions of Overlays you wish to add to one or more libraries |
[files.md](..%2F..%2Fbuilders%2Ffiles.md)
* Example Files can be found in the [Plex Meta Manager Configs Repository](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/PMM)
## Overlay Understandings
@ -128,9 +128,9 @@ To remove all overlays from your library, add `remove_overlays: true` to the `ov
Overlay Files can utilize the following top-level attributes
| [`templates`](../../builders/templates.md) | contains definitions of templates that can be leveraged by multiple overlays |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../paths.md) that point to external templates that can be leveraged by multiple overlays |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../../builders/files.md#paths) that point to external templates that can be leveraged by multiple overlays |
| [`queues`](#overlay-queues) | contains the positional attributes of queues |
| [`overlays`](#overlays-attributes) | contains definitions of overlays you wish to add |
| [`templates`](../../builders/templates.md) | contains definitions of templates that can be leveraged by multiple playlists |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../paths.md) that point to external templates that can be leveraged by multiple playlists |
| [`external_templates`](../../builders/templates.md#external-templates) | contains [path types](../../builders/files.md#paths) that point to external templates that can be leveraged by multiple playlists |
| [`playlists`](#playlist-attributes) | contains definitions of playlists you wish to add to the server |
* `playlists` is required in order to run the Playlist File.
Files define the structure and format for creating Collections, Overlays, Playlists, and Metadata Edits within your libraries.
Files are modular and when properly leveraged, they not only facilitate the management of your library's collections and metadata but also serve as a crucial backup resource in case a restore is necessary.
There are four main File types that can be utilized against Plex servers:
| [Collection Files](data/collections.md) | Defines the data for building collections, allowing you to group and showcase your library in unique ways |
| [Overlay Files](data/overlays.md) | Defines the data for building overlays, allowing you to place information such as resolutions and ratings onto your posters. |
| Metadata Files ([Movies](data/metadata/movie.md)/[Shows](data/metadata/show.md)/[Music](data/metadata/music.md)) | Defines the data for editing metadata, allowing you to find and manipulate the metadata on individual items within your library. |
| [Playlist Files](data/playlists.md) | Defines the data for building playlists, allowing you to combine media from multiple libraries and share them with users on your server |
Collection, Overlay and Metadata Files can be linked to libraries in the [Libraries Attribute](../config/libraries.md#metadata-path) within the [Configuration File](../config/configuration.md).
## Example
This is a basic Files structure showing the use of all four File types.
???+ example "Example Files"
Unlike the other three, Playlist Files are not defined per-library.
Theis examples utilizes the [PMM Defaults](../defaults/files.md)
YAML Files are defined by their path type and path location for the [`collection_files`](libraries.md#metadata-path), [`overlay_files`](libraries.md#overlay-path), [`playlist_files`](libraries.md#metadata-path), and [`external_templates`](libraries.md#metadata-path) attributes.
When using Plex Meta Manager, the structure of each library is made up of Files and Paths
???+ example "Example Library Structure"
```yaml
libraries:
Movies:
collection_files:
- pmm: imdb
```
In the above example, `collection_files` is the type of File, which tells PMM that the entries that follow will create/update collections and `- pmm:` is the type of Path, which PMM that the file it is looking for is a PMM Defaults file.
These ideas will be further outlined on this page.
## Files
Files define the structure and format for creating Collections, Overlays, Playlists, and Metadata Edits within your libraries.
Files are modular and when properly leveraged, they not only facilitate the management of your library's collections and metadata but also serve as a crucial backup resource in case a restore is necessary.
There are four main File types that can be utilized against Plex servers:
| [Collection Files](data/collections.md) | Defines the data for building collections, allowing you to group and showcase your library in unique ways |
| [Overlay Files](data/overlays.md) | Defines the data for building overlays, allowing you to place information such as resolutions and ratings onto your posters. |
| Metadata Files ([Movies](data/metadata/movie.md)/[Shows](data/metadata/show.md)/[Music](data/metadata/music.md)) | Defines the data for editing metadata, allowing you to find and manipulate the metadata on individual items within your library. |
| [Playlist Files](data/playlists.md) | Defines the data for building playlists, allowing you to combine media from multiple libraries and share them with users on your server |
Collection, Overlay and Metadata Files can be linked to libraries in the [Libraries Attribute](../config/libraries.md#metadata-path) within the [Configuration File](../config/configuration.md).
## Example Files
This is a basic Files structure showing the use of all four File types.
???+ example "Example Files"
Unlike the other three, Playlist Files are not defined per-library.
Theis examples utilizes the [PMM Defaults](../defaults/files.md)
```yaml
libraries:
Movies:
collection_files:
- pmm: imdb
overlay_files:
- pmm: resolution
metadata_files:
- file: config/metadata.yml
playlist_files:
- pmm: playlists
```
# Paths
YAML Files are defined by their path type and path location for the [`collection_files`](libraries.md#metadata-path), [`overlay_files`](libraries.md#overlay-path), [`playlist_files`](libraries.md#metadata-path), and [`external_templates`](#external-templates).
They can either be on the local system, online at an url, directly from the [Plex Meta Manager Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs) repository, or from another [`Custom Repository`](settings.md#custom-repo).
@ -10,7 +67,7 @@ The path types are outlined as follows:
* `- folder:` refers to a directory containing collection files which is located within the system that PMM is being run from.
* `- pmm:` refers to a [PMM Defaults](/defaults/guide.md builders/overlay/playlist file.
* `- pmm:` refers to a [PMM Defaults](../defaults/files.md) builders/overlay/playlist file.
* `- url:` refers to a collection file which is hosted publicly on the internet.
@ -18,8 +75,7 @@ The path types are outlined as follows:
* `- repo:` refers to a collection file which is hosted on a custom repository specified by the user with the [`custom_repo` Setting Attribute](settings.md#custom-repo).
## Examples
## Example Paths
```yaml
libraries:
@ -42,6 +98,7 @@ Note that you enter the bits of the items path relative to the top level of the
```
This is assuming the `custom_repo` setting is `https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/meisnate12`
Note that as with `- git:` you enter the bits of the items path relative to repo [`meisnate12/People`] and you don't need the `.yml` extension.
Note that as with `- git:` you enter the bits of the items path relative to repo [`meisnate12/People`] and you don't need the `.yml` extension.
```
- pmm: oscars
```
@ -123,7 +180,7 @@ playlist_files:
## Collection File
The [`collection_files`](libraries.md#metadata-path) attribute is defined under the [`libraries`](libraries.md) attribute in your [Configuration File](configuration.md.
The [`collection_files`](libraries.md#metadata-path) attribute is defined under the [`libraries`](libraries.md) attribute in your [Configuration File](configuration.md).
??? example
@ -154,7 +211,7 @@ The [`collection_files`](libraries.md#metadata-path) attribute is defined under
## Overlay File
The [`overlay_files`](libraries.md#overlay-path) attribute is defined under the [`libraries`](libraries.md) attribute in your [Configuration File](configuration.md.
The [`overlay_files`](libraries.md#overlay-path) attribute is defined under the [`libraries`](libraries.md) attribute in your [Configuration File](configuration.md).
??? example
@ -185,7 +242,7 @@ The [`overlay_files`](libraries.md#overlay-path) attribute is defined under the
## Playlist Files
The [`playlist_files`](playlists.md) at the top level in your [Configuration File](configuration.md.
The [`playlist_files`](data/playlists.md) at the top level in your [Configuration File](configuration.md).
??? example
@ -214,7 +271,7 @@ The [`playlist_files`](playlists.md) at the top level in your [Configuration Fil
## External Templates
The [`external_templates`](../builders/templates.md#external-templates) attribute is defined at the top level in your [Collection File](../data/collections.md).
The [`external_templates`](../builders/templates.md#external-templates) attribute is defined at the top level in your [Collection File](data/collections.md).
| [`library_name`](#library-name) | Library name (required only when trying to use multiple libraries with the same name) | Base Attribute Name | :fontawesome-solid-circle-xmark:{ .red } |
| [`report_path`](#report-path) | Location to create the YAML file listing added, removed, filtered, and missing items for this library |`/config/<<MAPPING_NAME>>_report.yml` | :fontawesome-solid-circle-xmark:{ .red } |
| [`template_variables`](#library-template-variables) | Library template variables to be applied to every Metadata and Overlay file run. | N/A | :fontawesome-solid-circle-xmark:{ .red } |
| [`schedule`](../builders/details/schedule.md) | Use any [schedule option](../builders/details/schedule.md) to control when this library is run. | daily | :fontawesome-solid-circle-xmark:{ .red } |
| [`operations`](operations.md) | Library Operations to run | N/A | :fontawesome-solid-circle-xmark:{ .red } |
| [`settings`](settings.md) | Any `setting` attribute that overrides a global value | global | :fontawesome-solid-circle-xmark:{ .red } |
| [`plex`](plex.md) | Any `plex` attribute that overrides a global value | global | :fontawesome-solid-circle-check:{ .green } Either here or globally |
| [`radarr`](radarr.md) | Any `radarr` attribute that overrides a global value | global | :fontawesome-solid-circle-xmark:{ .red } |
| [`sonarr`](sonarr.md) | Any `sonarr` attribute that overrides a global value | global | :fontawesome-solid-circle-xmark:{ .red } |
| [`tautulli`](tautulli.md) | Any `tautulli` attribute that overrides a global value | global | :fontawesome-solid-circle-xmark:{ .red } |
| [`library_name`](#library-name) | Used to specify the Library's name.<br>*required only when trying to use multiple libraries with the same name.*<br>**Values:** Library Name<br>**Default:** Base Attribute Name |
| [`collection_files`](#collection-file) | Used to define [Collection Files](data/collections.md).<br>**Values:** Location of Collection YAML files.<br>**Default:** `/config/<<MAPPING_NAME>>.yml` |
| [`metadata_files`](#metadata-file) | Used to define [Metadata Files](data/collections.md).<br>**Values:** Location of Metadata YAML files. |
| [`overlay_files`](#overlay-file) | Used to define [Overlay Files](data/overlays.md) .<br>**Values:** Location of Overlay YAML files. |
| [`report_path`](#report-path) | Location to create the YAML file listing added, removed, filtered, and missing items for this library.<br>**Values:** Location of the report file.<br>**Default:**`/config/<<MAPPING_NAME>>_report.yml` |
| [`template_variables`](#library-template-variables) | Library template variables to be applied to every Collection, Metadata, and Overlay file run.<br>**Values:** Values are specified by each particular file. |
| [`schedule`](../builders/details/schedule.md) | Usedto schedule when this library is run.<br>**Values:** Any [schedule option](../builders/details/schedule.md)<br>**Default:** `daily` |
| [`operations`](operations.md) | Used to specify Library Operations to run.<br>**Values:**Any[LibraryOperation](operations.md) |
| [`settings`](settings.md) | Used to override global `setting` values for this library only.<br>**Values:** Any `setting` attribute that overrides a global value.<br>**Default:** global value |
| [`plex`](plex.md) | Used to override global `plex` values for this library only. **`plex` Attribute is required either here or globally**<br>**Values:** Any `plex` attribute that overrides a global value.<br>**Default:** global value |
| [`radarr`](radarr.md) | Used to override global `radarr` values for this library only.<br>**Values:** Any `radarr` attribute that overrides a global value.<br>**Default:** global value |
| [`sonarr`](sonarr.md) | Used to override global `sonarr` values for this library only.<br>**Values:** Any `sonarr` attribute that overrides a global value.<br>**Default:** global value |
| [`tautulli`](tautulli.md) | Used to override global `tautulli` values for this library only.<br>**Values:** Any `tautulli` attribute that overrides a global value.<br>**Default:** global value |
### Library Name
@ -117,11 +117,11 @@ Each library that the user wants Plex Meta Manager to interact with must be docu
token: ####################
```
* In this example, `"Movies01"`, `"TV Shows"`, and `"Anime"` will all use the global plex server (http://192.168.1.12:32400) which is defined using the global `plex` mapping. `"Movies02"` will use the plex server http://192.168.1.35:32400 which is defined under its `plex` mapping over the global mapping.
* In this example, `"Movies01"`, `"TV Shows"`, and `"Anime"` will all use the global plex server (**http://192.168.1.12:32400**) which is defined using the global `plex` mapping. `"Movies02"` will use the plex server **http://192.168.1.35:32400** which is defined under its `plex` mapping over the global mapping.
### Collection File
The `collection_files` attribute is used to define [Collection Files](data/collections.md) by specifying the path type and path of the files that will be executed against the parent library. See [Path Types](paths.md) for how to define them.
The `collection_files` attribute is used to define [Collection Files](data/collections.md) by specifying the path type and path of the files that will be executed against the parent library. See [Path Types](../builders/files.md#paths) for how to define them.
```yaml
libraries:
@ -139,9 +139,27 @@ libraries:
TV Shows:
```
### Metadata File
The `metadata_files` attribute is used to define Metadata Files by specifying the path of the files that will be executed against the parent library. See [Path Types](../builders/files.md#paths) for how to define them.
???+ tip
As of Plex Meta Manager 1.20.0 "Metadata Files" refers to YAML files which refers to managing the metadata of items [movies, shows, music] within your library, and "Collection Files" refers to YAML files which define Collections.
In previous version of Plex Meta Manager, "Metadata Files" could mean either of the above.
```yaml
libraries:
TV Shows:
metadata_files:
- file: config/metadata.yml
```
### Overlay File
The `overlay_files` attribute is used to define [Overlay Files](data/overlays.md) by specifying the path type and path of the files that will be executed against the parent library. See [Path Types](paths.md) for how to define them.
The `overlay_files` attribute is used to define [Overlay Files](data/overlays.md) by specifying the path type and path of the files that will be executed against the parent library. See [Path Types](../builders/files.md#paths) for how to define them.
```yaml
libraries:
@ -228,23 +246,6 @@ You cannot schedule individual Overlay Files, as any unscheduled overlay file wi
- file: config/Overlays.yml
```
### Metadata File
The `metadata_files` attribute is used to define Metadata Files by specifying the path of the files that will be executed against the parent library. See [Path Types](paths.md) for how to define them.
???+ tip
As of Plex Meta Manager 1.19.2 "Metadata Files" refers to YAML files which refers to managing the metadata of items [movies, shows, music] within your library, and "Collection Files" refers to YAML files which define Collections.
In previous version of Plex Meta Manager, "Metadata Files" could mean either of the above.
```yaml
libraries:
TV Shows:
metadata_files:
- file: config/metadata.yml
```
### Report Path
The `report_path` attribute is used to define where to save the YAML Report file. This file is used to store information about what media is added, removed, filtered, and missing from the Plex library compared to what is expected from the Metadata file.
As playlists are not tied to one specific library and can combine media from multiple libraries, they require their own special [Playlist Files](data/playlists.md) to work.
Within the [Config File](configuration.md, the `playlist_files` attribute specifies the [path type](paths.md) and path of the [Playlist Files](data/playlists.md) that the user wants Plex Meta Manager to act on.
Within the [Config File](configuration.md, the `playlist_files` attribute specifies the [path type](../builders/files.md#paths) and path of the [Playlist Files](data/playlists.md) that the user wants Plex Meta Manager to act on.
**The libraries used in the playlist attribute `libraries` must be defined under the `libraries` attribute of the [Config File](configuration.md.**
| [`templates`](templates.md) | contains definitions of templates that can be leveraged by multiple collections |
| [`external_templates`](templates.md#external-templates) | contains [path types](../config/paths.md) that point to external templates that can be leveraged by multiple collections |
| [`external_templates`](templates.md#external-templates) | contains [path types](../builders/files.md#paths) that point to external templates that can be leveraged by multiple collections |
| [`collections`](#collection-attributes) | contains definitions of collections you wish to add to one or more libraries |
| [`dynamic_collections`](#dynamic-collection-attributes) | contains definitions of [dynamic collections](dynamic.md) you wish to create |
| [`metadata`](#metadata-attributes) | contains definitions of metadata changes to [movie](metadata/movie.md), [show](metadata/show.md), or [music](metadata/music.md) library's items [movie titles, episode descriptions, etc.] |
| [`templates`](templates.md) | contains definitions of templates that can be leveraged by multiple overlays |
| [`external_templates`](templates.md#external-templates) | contains [path types](../config/paths.md) that point to external templates that can be leveraged by multiple overlays |
| [`external_templates`](templates.md#external-templates) | contains [path types](../builders/files.md#paths) that point to external templates that can be leveraged by multiple overlays |
| [`queues`](#overlay-queues) | contains the positional attributes of queues |
| [`overlays`](#overlays-attributes) | contains definitions of overlays you wish to add |
| [`templates`](templates.md) | contains definitions of templates that can be leveraged by multiple playlists |
| [`external_templates`](templates.md#external-templates) | contains [path types](../config/paths.md) that point to external templates that can be leveraged by multiple playlists |
| [`external_templates`](templates.md#external-templates) | contains [path types](../builders/files.md#paths) that point to external templates that can be leveraged by multiple playlists |
| [`playlists`](#playlist-attributes) | contains definitions of playlists you wish to add to the server |
* `playlists` is required in order to run the Playlist File.
@ -238,7 +238,7 @@ Check out the example files in the [Plex Meta Manager Configs Repository](https:
## External Templates
To load external templates located in another file you can use the `external_templates` attribute by specifying the path type and path of the files that will be executed. See [Path Types](../config/paths.md) for how to define them.
To load external templates located in another file you can use the `external_templates` attribute by specifying the path type and path of the files that will be executed. See [Path Types](../builders/files.md#paths) for how to define them.
* You can specify an Image Asset Directory per Metadata/Playlist/Overlay File when calling the file. See [Path Types](../../../config/paths.md#asset-directory) for how to define them.
* You can specify an Image Asset Directory per Metadata/Playlist/Overlay File when calling the file. See [Path Types](../../../builders/files.md#paths) for how to define them.
* By default [if no `asset_directory` is specified], the program will look in the same folder as your `config.yml` for a folder called `assets`.