Skip to content

Feature request: Support speaker name alias #1177

Open

Description

@Mariatta

I understand currently only one name per speaker is allowed.
I'm wondering if it would be possible to support alias for people who might have "stage name", using non-latin alphabets, or different name due to life events.

Examples of such speakers:

Proposed solution:

  • support a new metadata: speaker alias
  • associate the talk with all speaker names including the alias
  • in the speaker listing page, the speaker may be listed multiple times under different alias, but all alias points to one speaker page.

Activity

  1. jonafato commented on Aug 1, 2024

    @jonafato
    Member

    Thank you for the suggestion, this will be a great addition. Currently, speaker names are currently just strings, so this will require expanding support to speakers as JSON objects (which also opens up the possibility of adding info such as a bio to the speaker page). As a first pass, I think this will look something like

    {
        "name": "Conference Speaker",  # the speaker's canonical name
        "slug": "conference-speaker",  # can be used to override the default logic for generating speaker URLs when necessary
        "aliases": [  # a list of globally unique speaker name aliases
            "Conf Speaker",
            "C. Speaker",
        ]
    }

    This will require changes in both pyvideo/pyvideo and pyvideo/data, so I can create the relevant issues on the static site repository to support the new feature as well. Input welcome for this initial new metadata structure (but let's limit the first change to names and aliases).

  2. Mariatta commented on Aug 1, 2024

    @Mariatta
    CollaboratorAuthor

    Yes I think adding the slug and list of aliases will work. Thanks!

  3. Mariatta commented on Aug 1, 2024

    @Mariatta
    CollaboratorAuthor

    So if I understand it, the approach is to have a new speakers.json with the above schema.
    And in the videos.json will refer to speaker slug instead of speaker names, correct?
    I think this will work. I can perhaps start working on transforming the current record into the new schema format, if that's decided.

  4. jonafato commented on Aug 3, 2024

    @jonafato
    Member

    @Mariatta I haven't sketched out an implementation yet, but I think it will likely look like a speakers/ directory with each speaker getting a JSON file (likely named to match the "slug" attribute that generates their speaker page URL) that fits the format in my comment above. The usage of speaker names and aliases in each video JSON file would remain as-is, which would allow us to display the alias as specified in the video metadata while still linking to canonical speaker page (if we swapped out the slug for the name or alias, we would lose reference to whichever version was intended to be associated with a given video). I'll be creating a few issues in the pyvideo/pyvideo repository this weekend to plan out these changes, and I think the combined effort will be approximately the following:

    • New / updated JSONSchema definitions for the speaker metadata.
    • Support for the static site project to use the updated schema (I think this may require a small Pelican plugin).
    • New JSON files for each speaker matching the new schema, initially treating every name as unique as is done on the site today.
    • Speaker page redirect support. This is a separate issue, but it is related in the context of moving an alias to a canonical speaker URL. This does not have to be a blocker (i.e. we could render the same speaker page for each of the current names and aliases as a first pass), but I think we'll want the ability to combine two speaker records into one and redirect to a main speaker page eventually.
    • Documentation for all of the above.
    • Speaker outreach to determine the desired course of action for situations like the one you identified. These actions should be opt-in and include at least the following options:
      • Leave two records up as separate speaker profiles as they exist today.
      • Combine two sets of speaker metadata into one while rendering on both URLs / redirecting to a canonical URL
      • Combine two sets of speaker metadata into one and stop supporting the old URL
      • "Fix" a speaker record by correcting a name, with or without the redirect option (this is the option we have today, before we implement speaker aliases; e.g. for your own videos, you could choose to update your name to be consistent in the video metadata, which would effectively fold all of your talks into a single speaker page and leave the other speaker page URL as a 404).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions