You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Invalidation strategy: FIFO/LRU/TTL? Maximum age (optional)
In memory and/or long-time cache? JSON fileswith compression or Redis?
Cache multiple versions with timestamps (daily? only if there have been changes?)
Let the requester know how old the data is and whether it is from the cache
Permalinks to specific cached version (include GTIN, enabled providers, optional additional URLs or ProviderName=ProviderId pairs)
Optimize lookups (perform no GTIN lookup if ID was already looked up)
These repeated lookups also skew the calculated processing time for the initial provider (e.g. Deezer track requests are now cached)
Use as few requests as possible (only make additional API calls for a provider if data is missing, e.g. iTunes regions or Deezer ISRCs)
Lookup by metadata (label and catno, title, artist, track count etc.) for providers without GTIN
Create provider feature categories (e.g. streaming, physical, with GTIN/ISRC, GTIN lookup, scraper, audio drama, Japanese etc.)
Lookup the entire discography of a given artist/label
Make MusicBrainz base url configurable (environment variable)
Deduplicate lookup ReleaseOptions.regions option by using an ordered set
Manage lookup state: Each provider "Example" is split into two classes ExampleProvider and ExampleReleaseLookup, where ExampleReleaseLookup has a (readonly) property provider
Splits general request logic and release processing logic
Possible to store release lookup state as class properties
Separation of unrelated tasks once we add artist/label lookups later, e.g. as ExampleArtistLookup and ExampleLabelLookup
Warn that available regions may not be accurate before the release date has passed (anywhere on earth, UTC-12)
Extract provider URLs from link shortener pages
Extract provider IDs and GTIN from a-tisket URLs
Write more test cases...
Preserve URL blurb (for Beatport)
Improve logging of AggregateErrors, they make it a PITA to find the real issue
Web Interface
Display header with logo and description
Harmony: Music Metadata Aggregator and MusicBrainz Importer/Seeder
Design banner logo and icon
Display footer with version, repo URL and support URL (environment variables DENO_DEPLOYMENT_ID, REPO_BASE_URL, optional COMMIT_BASE_URL, SUPPORT_URL)
Add OpenGraph meta tags
Allow to choose and exclude providers (persistent provider checkboxes)
Persist preferred regions input
Show provider and alternative values for interesting properties
Improve track length comparison, Deezer truncates instead of rounding
This is just a loosely ordered list of things I already have on my radar, to be cleaned up later™️.
Harmonized Data
Providers
/track
URLs (Support standalone Bandcamp tracks #7)/track
URLs (expensive, only if there is no better source)- Single
&- EP
from release names automagically #9)MusicBrainz
and track levelcredits (text only so far)Infrastructure
with compression or Redis?ReleaseOptions.regions
option by using an ordered setprovider
Web Interface
external links or data URIs? inline TSX SVG?SVG sprite built with TSX)Use HTTPS by passingSupport X-Forwarded-Proto proxy headerkey
andcert
options tostart()
The text was updated successfully, but these errors were encountered: