socallinuxexpo / scale-drupal

SCALE's drupal website and related configs
1 stars 3 forks source link

speaker pages don't always render properly #64

Open kcbraunschweig opened 1 year ago

kcbraunschweig commented 1 year ago

In reviewing cfp submissions I keep finding that speaker pages don't render properly. Some do, but others you get no content on the speaker page linked from the talk page. Examples (you'll need to be logged in with cfp reviewer access to repro):

good: https://www.socallinuxexpo.org/scale/20x/presentations/why-do-so-many-projects-fail links to https://www.socallinuxexpo.org/scale/20x/speakers/kai-wagner which renders properly

bad 1: https://www.socallinuxexpo.org/scale/20x/presentations/business-open-source-2023 links to https://www.socallinuxexpo.org/scale/20x/speakers/matt-yonkovit which renders blank content. However, this speaker has spoken in the past so if I manually edit the URL to the 19x link it works as expected: https://www.socallinuxexpo.org/scale/19x/speakers/matt-yonkovit

bad 2: https://www.socallinuxexpo.org/scale/20x/presentations/what-heck-freecad-and-why-do-i-care links to https://www.socallinuxexpo.org/scale/20x/speakers/jon-cruz which renders blank data but in this case if you change the URL to 19x he doesn't have a page you so get a generic speaker list rendered: https://www.socallinuxexpo.org/scale/19x/speakers/jon-cruz

It seems like the speakers in the submission are properly linked to an actual speaker so not sure what to do here to help. It'd be great to resolve this ASAP as seeing the speaker info is helpful in reviewing CFP submissions but we definitely have to get it fixed before we go live with the selected talks so that speakers can publicize their talks with good data.

DrupalPhil commented 1 year ago

Looks like we're using this pattern for user profiles: /scale/{scale_event}/speakers/matt-yonkovit

The links you provided are dynamically replacing the scale_event via context. If we are ok with changing this pattern to something evergreen, we can fix this.

Something like: /scale/speakers/matt-yonkovit

Any issues with this approach?

kcbraunschweig commented 1 year ago

i've noticed recently since i've been publishing some of the 20x talks that sometimes it seems to resolve my issue. i wonder if the publish action rewrites the profile url to the current year and that fixes it? in a way that makes sense since when its unpublished no one would see it except reviewers who have internal access.

that being said, a fixed link for speakers doesn't seem like a bad idea to me. people are relatively static (sortof)

jaymzh commented 1 year ago

To me, a speaker page should be event-generic. Thought if it lists talks, I'd hope it would show which event each scale was from.

DrupalPhil commented 1 year ago

Actually -- Looking at this again, you might just need to update the URL aliases for some/all of your users. This seems a bit unorthodox so let me know if this doesn't sound right.

Some users work and some don't because those that work were created when the site:slogan was 20x. Previous users have 19x assigned as their profile alias. Example:

If you try to link to /scale/{scale_event}/speakers/{real_name} the 19x users will give you a 404. If you update the path aliases (delete first, then regenerate), you will end up with:

For example: https://www.socallinuxexpo.org/admin/config/search/path/edit/25763

^ Updating ALL users may not be ideal since it will make legacy presenter aliases look like current/active presenters.

One solution could be to update the path aliases for each of those presenters that were at a previous event (updating 19x to 20x).

There are many 18x url aliases for presenters so updating all users might not be how you've handled this before: https://www.socallinuxexpo.org/admin/config/search/path/list/scale/18x/speakers

It looks like much of this site is built with this same concept of leveraging context in strange ways. I'm not sure if we should tackle that now or on the new site.

Also, it looks like you have two accounts for the same presenter:

Do you guys normally create a new user for each presenter each year? Could this be contributing to the confusion? I see a couple of "Jon Cruz" users as well: https://www.socallinuxexpo.org/admin/config/search/path/list/jon-cruz

In the future, or where we can, try not to link to hard-coded patterns, link to the entity, itself ("Link to user"). It will automatically account for redirects and context.

This should definitely be addressed in the future site build.

jaymzh commented 1 year ago

@irabinovitch and @kcbraunschweig - what say you?

kcbraunschweig commented 1 year ago

What's the plan for the future site build? We're kinda past the annoying part for this year now. If that'll be done by next year's CFP then waiting for that is probably fine. Not sure I grok the whole thing (not having looked at any of the code) enough to have a strong opinion on a particular fix if we were gonna do that. Logically it makes sense to me that a speaker should only have 1 page at a fixed URL cause its always 1 person (and we should do a 1 time attempt to dedupe whenever this happens) but dunno given the current tech debt if that's a bridge worth crossing right now.

On Thu, Jan 26, 2023 at 10:55 AM Phil Dibowitz @.***> wrote:

@irabinovitch https://github.com/irabinovitch and @kcbraunschweig https://github.com/kcbraunschweig - what say you?

— Reply to this email directly, view it on GitHub https://github.com/socallinuxexpo/scale-drupal/issues/64#issuecomment-1405456787, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFUVD3ZOIK6FXRM3NV4LFTWULCBRANCNFSM6AAAAAAS5YFYK4 . You are receiving this because you were mentioned.Message ID: @.***>

DrupalPhil commented 1 year ago

What's the plan for the future site build? We're kinda past the annoying part for this year now. If that'll be done by next year's CFP then waiting for that is probably fine.

I'm ready to discuss immediately.

Not sure I grok the whole thing (not having looked at any of the code) enough to have a strong opinion on a particular fix if we were gonna do that. Logically it makes sense to me that a speaker should only have 1 page at a fixed URL cause its always 1 person (and we should do a 1 time attempt to dedupe whenever this happens) but dunno given the current tech debt if that's a bridge worth crossing right now.

Do you want to apply what we can with the safety net that we can revert if we find it introduces a bigger issue.