[PR #2643] [MERGED] Support specific types with ExternalIds #9173

Closed
opened 2026-02-07 05:57:30 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/2643
Author: @lfoust
Created: 3/22/2020
Status: Merged
Merged: 6/26/2020
Merged by: @Bond-009

Base: masterHead: externalid-type


📝 Commits (6)

📊 Changes

13 files changed (+138 additions, -14 deletions)

View changed files

MediaBrowser.Controller/Providers/ExternalIdMediaType.cs (+45 -0)
📝 MediaBrowser.Controller/Providers/IExternalId.cs (+10 -0)
📝 MediaBrowser.Model/Providers/ExternalIdInfo.cs (+12 -7)
📝 MediaBrowser.Providers/Manager/ProviderManager.cs (+1 -0)
📝 MediaBrowser.Providers/Movies/MovieExternalIds.cs (+6 -0)
📝 MediaBrowser.Providers/Music/MusicExternalIds.cs (+3 -0)
📝 MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs (+14 -2)
📝 MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs (+23 -5)
📝 MediaBrowser.Providers/TV/TvExternalIds.cs (+12 -0)
📝 MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetExternalId.cs (+3 -0)
📝 MediaBrowser.Providers/Tmdb/Movies/TmdbMovieExternalId.cs (+3 -0)
📝 MediaBrowser.Providers/Tmdb/People/TmdbPersonExternalId.cs (+3 -0)
📝 MediaBrowser.Providers/Tmdb/TV/TmdbSeriesExternalId.cs (+3 -0)

📄 Description

Changes
When we have multiple implementations of IExternalId for the same provider, there is no way to distinguish the different IDs on the UI. Some types have handled this by adding the sub type to the Name property but this doesn't allow for localization. This change ads a Type Property which allows the specific type to be specified and displayed in the UI. This is a different approach than the previous PR (#2236) which handled the localization on the server. If we decide to go with this PR, I will close the previous one.

There is a separate PR for the jellyfin-client changes which I will link here once it is created.

Issues
jellyfin/jellyfin-web#808
jellyfin/jellyfin-web#900


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/2643 **Author:** [@lfoust](https://github.com/lfoust) **Created:** 3/22/2020 **Status:** ✅ Merged **Merged:** 6/26/2020 **Merged by:** [@Bond-009](https://github.com/Bond-009) **Base:** `master` ← **Head:** `externalid-type` --- ### 📝 Commits (6) - [`dcd0d93`](https://github.com/jellyfin/jellyfin/commit/dcd0d93f44bf1befea5e61993bc868b5846102a0) Merge pull request #1 from jellyfin/master - [`f3213d3`](https://github.com/jellyfin/jellyfin/commit/f3213d3bef8a49a5e91cafaba2eaefb5592438c6) Merge pull request #2 from jellyfin/master - [`9bdb99f`](https://github.com/jellyfin/jellyfin/commit/9bdb99fe92edaf06679ef855eae9f8bb69b970df) Add type to externalids to distinguish them in the UI - [`a7e7098`](https://github.com/jellyfin/jellyfin/commit/a7e7098da68311eb2adac67500abae0d2bd4d69f) Merge pull request #3 from jellyfin/master - [`ae4e727`](https://github.com/jellyfin/jellyfin/commit/ae4e727b2457f2bbf111406e87d2341535776c73) Merge branch 'master' of https://github.com/lfoust/jellyfin into externalid-type - [`0fb78cf`](https://github.com/jellyfin/jellyfin/commit/0fb78cf54b51843c54e7ff59d191c490a5b196cd) Add documentation around Name, Id, and Type. Changed ExternalIdType to ExternalIdMediaType ### 📊 Changes **13 files changed** (+138 additions, -14 deletions) <details> <summary>View changed files</summary> ➕ `MediaBrowser.Controller/Providers/ExternalIdMediaType.cs` (+45 -0) 📝 `MediaBrowser.Controller/Providers/IExternalId.cs` (+10 -0) 📝 `MediaBrowser.Model/Providers/ExternalIdInfo.cs` (+12 -7) 📝 `MediaBrowser.Providers/Manager/ProviderManager.cs` (+1 -0) 📝 `MediaBrowser.Providers/Movies/MovieExternalIds.cs` (+6 -0) 📝 `MediaBrowser.Providers/Music/MusicExternalIds.cs` (+3 -0) 📝 `MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs` (+14 -2) 📝 `MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs` (+23 -5) 📝 `MediaBrowser.Providers/TV/TvExternalIds.cs` (+12 -0) 📝 `MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetExternalId.cs` (+3 -0) 📝 `MediaBrowser.Providers/Tmdb/Movies/TmdbMovieExternalId.cs` (+3 -0) 📝 `MediaBrowser.Providers/Tmdb/People/TmdbPersonExternalId.cs` (+3 -0) 📝 `MediaBrowser.Providers/Tmdb/TV/TmdbSeriesExternalId.cs` (+3 -0) </details> ### 📄 Description **Changes** When we have multiple implementations of `IExternalId` for the same provider, there is no way to distinguish the different IDs on the UI. Some types have handled this by adding the sub type to the `Name` property but this doesn't allow for localization. This change ads a `Type` Property which allows the specific type to be specified and displayed in the UI. This is a different approach than the previous PR (#2236) which handled the localization on the server. If we decide to go with this PR, I will close the previous one. There is a separate PR for the jellyfin-client changes which I will link here once it is created. **Issues** jellyfin/jellyfin-web#808 jellyfin/jellyfin-web#900 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 05:57:30 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#9173