api-specs
api-specs copied to clipboard
Add UUID namespace details
Following discussions on Matrix, I put together this summary of how GUIDs should be calculated using namespaces. This document currently sits outside of the specification hierarchy, but can be divided up into the relevant specs at a later date.
The goal of this document is to set out a normalized approach for calculating GUIDs using predefined namespaces. To put it shortly:
- The client MUST be responsible for calculating the GUID.
- Feed GUIDs MUST be parsed from the
guidtag if present, or calculated by combining the feed URL and the global podcast namespace (ead4c236-bf58-58c6-a2c6-a6b28d128cb6). - Episode GUIDs MUST be calculated using the calculated feed GUID and EITHER:
1. The normalized (trimmed)
guidtag for the episode if available OR 2. The normalized (lowercased and trimmed) combination oftitle,enclosure_url, andpublish_date, in that order.
The result is a consistent calculation of UUID values that will match across all client implementations. This has the added benefit of reducing the amount of database storage used on the server side as duplicate feeds/episodes can be avoided, and instead users can simply be linked to existing entries. Similarly, it makes the data more portable between different OPA hosts.
I'd like some input specifically regarding my assumption about the metadata used in the podcast episodes.
- Are these values always present?
- How well would this work with client deduplication methods?
Deploy Preview for openpodcastapi ready!
| Name | Link |
|---|---|
| Latest commit | ddb8098962093119a84d10f530ad51cae549b383 |
| Latest deploy log | https://app.netlify.com/projects/openpodcastapi/deploys/690773f5326c5c00083a9079 |
| Deploy Preview | https://deploy-preview-140--openpodcastapi.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify project configuration.