Skip to content

<podcast:person> does not support multiple roles #336

@RebelBaseMediaPierre

Description

@RebelBaseMediaPierre

Hi, I'm a developer at Captivate, working on features relating to this.

At the moment, there is no way to signify that a person has multiple roles in a way that is unambiguous from two people with the same name and different roles.

For example:

<podcast:person role="Guest">John Smith</podcast:person>
<podcast:person role="Editor">John Smith</podcast:person>

could mean
John Smith is both a Guest and an Editor
or
John Smith (A) is a Guest
John Smith (B) is an Editor

Ideally I think we'd want to separate roles by spaces. However, the roles contain spaces themselves, which seems like it might be a mistake. Given this, another delimiter would need to be used to clarify multiple roles. Perhaps comma?

e.g.

<podcast:person role="Editor,Guest">John Smith</podcast:person>

It might also be worth making official codes for each role/group for this page: https://github.com/Podcastindex-org/podcast-namespace/blob/main/taxonomy.json

e.g.

  {
    "group": "Creative Direction",
    "group-code": "creative-direction",
    "role": "Development Producer",
    "role-code": "development-producer",
    "description": "The Development Producer coordinates and executes the pre-production create direction of a podcast. Their responsibilities include finding new episode and series ideas and working with writers and researchers to prepare the concept for production.",
    "example": ""
  }

role-code and group-code could both be case-sensitive, removing the requirement to lowercase the role and group.

This would allow the more natural space separation:

<podcast:person role="editor development-producer">John Smith</podcast:person>

Further, if you want to retain backwards compatibility with earlier parsers, something like this could work:

<podcast:person role-code="editor development-producer">John Smith</podcast:person>

Originally posted by @picard102 in #96 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions