Closed daveajones closed 2 years ago
The Podnews feed now includes this guid - https://podnews.net/rss
Podnews produces other feeds for other services, like https://podnews.net/rss/exampleapp - this retains the canonical GUID as above, since the podcast content is the same.
Here's a PHP library.
Here's the documentation for python's built-in uuid library:
https://docs.python.org/3/library/uuid.html#uuid.uuid5
Example for Podcasting 2.0:
from uuid import UUID, uuid5
PODCAST_NAMESPACE_UUID = UUID('{ead4c236-bf58-58c6-a2c6-a6b28d128cb6}')
uuid5(PODCAST_NAMESPACE_UUID, "mp3s.nashownotes.com/pc20rss.xml")
# output: UUID('917393e3-1b1e-5cef-ace4-edaa54e1f810')
The idea of a GUID tag is very interesting. I had an interesting discussion about the same topic with Manton Reece when he published the first version of JSON Feed.
The issue that comes to my mind is this: if the GUID is programmatically derived from the feed URL, there is a strong possibility that when a user moves his feed to a new url, or a new platform, a new GUID is generated. So the old and new feeds would result as two different podcasts, making the podcast:guid tag useless.
Yeah the idea behind this tag (though it has not been discussed in this issue but inside #243 and #240), is to move WITH it. When you import your feed into a new host, it should retain the original feed guid
We need this.
@daveajones Why not add this to phase 3?
@daveajones Why not add this to phase 3?
Well, it was pretty sudden. Felt like we needed a longer comment period. But maybe we don’t?
In my opinion we had the discussion in so many other issues, c.f. https://github.com/Podcastindex-org/podcast-namespace/issues/251#issuecomment-844083592 – the proposal at it is now is so simple and elegant that you should simply add it. :-)
Makes sense to me.
This looks good, and I've already proposed it to a podcast aggregator as their canonical GUID system, to answer this use-case:
I run a podcast aggregator. I'd like to link to BigCorp's podcast app's page for this podcast. Can I get that URL, please, via an API looking like https://bigcorp.example.com/api/lookup?guid=9b024349-ccf0-5f69-a609-6b82873eab3c
which would return something with a URL to https://bigcorp.example.com/podcast/2854629234
where that's their own system ID.
So that's:
podcast:guid
in the RSS feed if it existspodcast:guid
from the current RSS feed URL. This isn't perfect, since it'll change with different hosts, but is a good startIt would be great to get this finalised.
Could we use these unique identifiesr on episode level instead of feed wide level so that a network wide feed with multiple shows can be separated into its individual shows?
Sounds like your use case is answered by channels or collections.
On Wed, 9 Jun 2021 at 17:49, yoshimo @.***> wrote:
Could we use these unique identifiesr on episode level instead of feed wide level so that a network wide feed with multiple shows can be separated into its individual shows?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Podcastindex-org/podcast-namespace/issues/251#issuecomment-857470819, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABYUBNIPKDNJUCOBLDHEFDTR4MIHANCNFSM442WWF2Q .
-- Tel/SMS/Signal: +61 447 692743 my calendar https://james.cridland.net/lets-chat · my timezone https://www.google.com/search?q=time+in+brisbane · speaking and consultancy https://james.cridland.net
Editor, the Podnews Network [image: Podnews] https://podnews.net/latest [image: Sounds Profitable] https://soundsprofitable.com/latest [image: Podjobs] https://podjobs.net/ [image: Podevents] https://pod.events/
Amazingly Brilliant Pty Ltd · ABN 30 612 913 514
This looks good, and I've already proposed it to a podcast aggregator as their canonical GUID system, to answer this use-case:
I run a podcast aggregator. I'd like to link to BigCorp's podcast app's page for this podcast. Can I get that URL, please, via an API looking like
https://bigcorp.example.com/api/lookup?guid=9b024349-ccf0-5f69-a609-6b82873eab3c
which would return something with a URL tohttps://bigcorp.example.com/podcast/2854629234
where that's their own system ID.So that's:
- Use the
podcast:guid
in the RSS feed if it exists- If not, calculate a
podcast:guid
from the current RSS feed URL. This isn't perfect, since it'll change with different hosts, but is a good startIt would be great to get this finalised.
I think we can finalize this now. I'll work it up.
I just added a paragraph about how the GUID, once assigned, should be permanent and follow the podcast around forever after.
Reference for historical discussion: https://github.com/Podcastindex-org/podping.cloud/issues/1
@daveajones I think we can resolve (close) this issue as it's documented at https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid
Here is a proposal for a GUID tag to uniquely identify podcasts with a url derived hash value that tracks with the podcast across subsequent hosting provider changes.
\
Channel
(optional | single)
This element lives in the
<channel>
and is used to declare a unique, universal identifier for this podcast. The value is easily generated from the RSS feed url (with the protocol scheme and trailing slashes stripped off) of the podcast combined with a unique "podcast" namespace which has a UUID ofead4c236-bf58-58c6-a2c6-a6b28d128cb6
. Tools like this one can help generate these values by hand. And, language libraries like this one in Ruby are widely available.A podcast gets assigned a once in it's lifetime using it's current feed url (at time of assignment) as the seed value. That GUID is then meant to follow the podcast from then on, for the duration of it's lifetime, even if the feed url changes. This means that when a podcast moves from one hosting platform to another, it's should be discovered and imported into the new platform for inclusion into the feed.
Example GUID for the Podcasting 2.0 podcast (feed url: mp3s.nashownotes.com/pc20rss.xml):
Example GUID for the Podnews podcast (feed url: podnews.net/rss):