-
Type:
Improvement
-
Resolution: Won't Do
-
Priority:
Normal
-
None
-
Affects Version/s: None
-
Component/s: Back-end, Schema Change
-
None
Due to regional URLs provided by some streaming services, matching external URLs for various entities can become difficult and in some cases entirely impossible, with some of the biggest offenders being Apple and Amazon Music.
An example of an issue caused by this would be in how SAMBL matches artists in MusicBrainz from the search page, as the only way to reasonably do this is to use a URL lookup with the page of artists the streaming service returns. With Apple Music, the list of URLs that Apple Music returns does not specify a region, making matching impossible without trying every single region for each URL.
This issue proposes a change to add an extra database field to URL relations that provides a way to look up URL entities using a standard format by extracting an ID from supported URLs.
Similar in concept to issues like MBS-13248 but instead of modifying existing URLs, new data would be added to supplement it
Current idea on how to implement a change like this:
- The database schema change would add a new field to the URL table called external_id which would contain a service namespace (which MusicBrainz already uses for URL cleanups) and ID extracted from the URL
- Example 1:
- url: https://music.apple.com/jp/artist/353899348
- external_id: applemusic:353899348
- Example 2:
- url: https://music.amazon.co.uk/artists/B0041WE2WU
- external_id: amazonmusic:B0041WE2WU
- Example 1:
- The API change would simply add another query option to URL lookups, instead of using /api?resource=<url>, you could use /api?external-id=<external_id>, and it would function the same with multiple provided IDs as the existing URL lookup does.
- ID extraction would likely happen server side, where URL edits are usually processed
- is related to
-
MBS-13248 Normalize apple music regional links
-
- Closed
-