Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contributors #23

Open
saerdnaer opened this issue Nov 2, 2019 · 1 comment
Open

Contributors #23

saerdnaer opened this issue Nov 2, 2019 · 1 comment

Comments

@saerdnaer
Copy link

saerdnaer commented Nov 2, 2019

A feed generated by Podlove Publisher exports contributors of an item using the atom:contributor element from RFC4287, currently only using the atom:name and atom:uri elements, where atom:uri is typically not filled in by users :-( .

For example, current state often looks like that:

<item>
  <title>FG072 Verantwortung in der Informatik</title>
  <link>https://forschergeist.de/podcast/fg072-verantwortung-in-der-informatik/</link>
  <pubDate>Tue, 01 Oct 2019 09:00:44 +0000</pubDate>
  <guid isPermaLink="false">podlove-2019-09-25t07:03:05+00:00-ae9b4afff088687</guid>
  …
  <atom:contributor>
    <atom:name>Tim Pritlove</atom:name>
  </atom:contributor>
  <atom:contributor>
    <atom:name>Peter Purgathofer</atom:name>
  </atom:contributor>
</item>

In my option there should be an own document about that usage, optionally extending it with fields for the role of the contributor (host, guest etc.) other external IDs e.g. Twitter handle, Facebook ID, etc.

The Atom spec even allows that using the extensionElement, see definitions below:

atomContributor = element atom:contributor { atomPersonConstruct }
atomPersonConstruct =
      atomCommonAttributes,
      (element atom:name { text }
       & element atom:uri { atomUri }?
       & element atom:email { atomEmailAddress }?
       & extensionElement*)

extensionElement =
      simpleExtensionElement | structuredExtensionElemen
simpleExtensionElement =
      element * - atom:* {
         text
      }
 structuredExtensionElement =
      element * - atom:* {
         (attribute * { text }+,
            (text|anyElement)*)
       | (attribute * { text }*,
          (text?, anyElement+, (text|anyElement)*))
      }

Then the example above could be something like that:

  <atom:contributor>
    <atom:name>Tim Pritlove</atom:name>
    <atom:uri>http://tim.pritlove.org/</atom:uri>
    <atom:role type="host" />
    <atom:id type="twitter">timpritlove</atom:id>
  </atom:contributor>
  <atom:contributor>
    <atom:name>Peter Purgathofer</atom:name>
    <atom:role type="guest" />
    <atom:id type="twitter">peterpur</atom:id>
  </atom:contributor>

Other specs also define contributors on the feed level (which is actually also allowed by the Atom, also compare https://blog.podchaser.com/rss-spec/v1/

@saerdnaer
Copy link
Author

Podlove Publisher 3.4.0 introduced usage of <podcast:person> from https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#person – but guid / uri is not exposed, yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant