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

Speaker URLs include custom id instead of slug #46

Open
cbeyls opened this issue Dec 27, 2023 · 10 comments
Open

Speaker URLs include custom id instead of slug #46

cbeyls opened this issue Dec 27, 2023 · 10 comments

Comments

@cbeyls
Copy link

cbeyls commented Dec 27, 2023

The speaker URLs now look like this:

https://fosdem.org/2024/schedule/speaker/WBPJSF/

Before, they looked like this:

https://fosdem.org/2023/schedule/speaker/richard_hartmann/

Is it possible to revert to having a slug instead of a custom id?

It currently causes an issue for my app, since I'm transforming the speaker name to a slug in order to generate the speaker URL. Ideally, that URL should be part of of the schedule XML but it's not yet the case, so relying on slugs is my only alternative to be able to open the speaker details in a browser.

Alternatively, the numerical id of the speaker (present in the schedule XML file) should be able to be used to generate an URL that redirects to the proper URL, if that's possible to do. Otherwise, I'll have to remove that feature.

@kergon
Copy link
Member

kergon commented Dec 27, 2023 via email

@johanvdw
Copy link
Member

johanvdw commented Dec 27, 2023 via email

@kergon
Copy link
Member

kergon commented Dec 27, 2023 via email

@cbeyls
Copy link
Author

cbeyls commented Dec 28, 2023

To clarify:

  • The URL on the website should be human-readable, so should contain a slug.
  • The id in the XML schedule file must be a positive integer, to comply with the existing Pentabarf/Pretalx file format. It may also be completed by an optional uuid.

Excerpt from the XSD:

<xs:complexType name="persons">
    <xs:sequence>
      <xs:element name="person" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute type="xs:positiveInteger" name="id" />
              <xs:attribute type="uuid" name="guid"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

This doesn't mean we are not allowed to add our own extra fields in addition to the standard, like the slug, the full person URL, maybe even the person's bio. But this is probably out of scope for now, so let's stick to compatibility first.

By the way, I submitted another pending pull request to level up the XML schedule file's compatibility with Pretalx while preserving backwards-compatibility.

@johanvdw
Copy link
Member

Checked the old implementation in penta and will change the speaker slug that we export.
It does not support two speakers with the same name.

@cbeyls
Copy link
Author

cbeyls commented Jan 31, 2024

It appears this will not be fixed for this year's edition.
I left the broken feature in my app for now, in case it gets fixed at some point.
For next year we should focus on enriching the XML schedule with speaker data (URL, photo, bio).

@johanvdw
Copy link
Member

I may still fix it for speakers, but not for talks, because too many references have been made to the long names.

@johanvdw
Copy link
Member

johanvdw commented Feb 3, 2024

refrained from changing this at this point (because people have published links in too many places).

@cbeyls
Copy link
Author

cbeyls commented Feb 5, 2024

No problem, let's fix it for 2025

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

3 participants