mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[PR #7497] Allow ExternalId to be used on all BaseItems #11428
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Original Pull Request: https://github.com/jellyfin/jellyfin/pull/7497
State: closed
Merged: No
Allow the
ExternalIdfield to be set for allBaseItems. It is currently only used by the Live TV featues. My use case would be to use the field onSeriesentries as it would be a great escape hatch for plugins to forcefully merge entries without (invalidly) using the ImDB id — which I'm currently doing — or the TvDB id, which are the only other two ids besides theExternalIdallowed for merging series together. This behavior is hard coded in the Series entry which results in me resulting to a hacky spaghetti 🍝 workaround like this in order to merge the series before this change.Changes
Change the
GetUserDataKeysmethod for theBaseItemto allow theExternalIdto be used as an escape hatch for plugins using an "unsupported" id to merge series. This change makes the code more error prone if used incorrectly but also gives plugins (and the core) more control over the merging process if used correctly — as there is no collision detection if multiple plugins (and/or other providers) use theExternalIdso it would be up to each plugin to make sure it plays nice with the other plugins (and/or providers).Issues