api-specs icon indicating copy to clipboard operation
api-specs copied to clipboard

Add UUID namespace details

Open Sporiff opened this issue 3 months ago • 1 comments

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:

  1. The client MUST be responsible for calculating the GUID.
  2. Feed GUIDs MUST be parsed from the guid tag if present, or calculated by combining the feed URL and the global podcast namespace (ead4c236-bf58-58c6-a2c6-a6b28d128cb6).
  3. Episode GUIDs MUST be calculated using the calculated feed GUID and EITHER:  1. The normalized (trimmed) guid tag for the episode if available OR  2. The normalized (lowercased and trimmed) combination of title, enclosure_url, and publish_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?

Sporiff avatar Aug 13 '25 18:08 Sporiff

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...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

netlify[bot] avatar Aug 13 '25 18:08 netlify[bot]