Closed chriseidhof closed 8 years ago
How to construct unique URLs, would something like {event}-{speaker}-{video title}
work in all cases? E.g., http://www.pomo.tv/videos/cmdr-2014-chris-eidhof-functional-swift.html (does not exist, yet)
I was thinking of something like speakers/{speaker}/{video title}
but I guess some speakers might give the same (or a quite similar) talk at two different conferences (or a meetup and a conference), so I am not quite sure if that would work.
Otherwise, do we want something like videos/{event}-{speaker}-{video title}
or events/{event}/{speaker}/{video title}
, or …?
What about /videos/{event}/{speaker}-{video title}
? I have given multiple talks with the same name (sometimes even also the same content, but not always :p).
Or actually, we already have http://www.pomo.tv/events/{event}/
. So maybe we should just build on that? http://www.pomo.tv/events/swift-summit-san-francisco-2015/{speaker}-{title}
?
Currently there are 3 perspectives: speakers, events and tags. I think the page with the single video should not be part an existing perspective (there’s no simple canonical way to structure that, we can argue for days whether we should do it as part of /events
or /speakers
;), that’s why I proposed a ‘flat’ URL.
I was leaning towards the /events/{event}/{speaker}-{video title}
because that is more or less how it is organized in the YAML-files. Of course there is no need to move the database structure into the URLs.
I am fine with either the videos ‘belonging’ to an event or being standalone.
But every video always at an event (there's a to-one relation). It can have multiple speakers, so putting it underneath the speakers wouldn't make too much sense. I'm not sure if I understand why we shouldn't put it under events, could you elaborate a bit more @eelco ?
I think the data is structured from a practical standpoint (not having to repeat the name of the event for a bunch of videos), but it makes most sense to me to think of a video as a top-level model (with the event being a property). In other words, the site is a collection of videos that can be viewed through different perspectives (speaker, event, tag), not a collection of events that have videos.
Hm, I'm still not convinced :p. But if you're doing the search and implementing it like that I'm happy to merge it in your way.
I think it’s fine either way at this point, while everything is in flux not all URLs have to be stable yet, maybe. I might have a bit too strong a distaste for hierarchies unless it’s the only way to structure something, because it will bite you when you want to restructure when requirements change.
I do also have the feeling that I might not be making my point well enough, so one more try and then I’ll shut up :stuck_out_tongue_winking_eye:
In my mind the data of site exists of two basic ‘types’: videos and lists (of videos). Currently the videos are only available through the lists (3 subtypes of lists: events, speakers, tags). If we give each video a canonical location I don’t think that location should be part of any list (like ‘event’ as the data is structured currently).
To make sure the canonical video location is unique (and because we lack IDs), using some fixed properties that are currently in the data (speaker(s), event, title) makes sense to me. But, in this case, those properties don’t have any hierarchical meaning, they’re just a crutch. I would keep the ‘master list’ out of the root though, so that’s why I proposed /videos/{something to make up an unique url}
@eelco I agree to your point but I have few doubts here, doing it that way, the videos will become the root object, rest all (speaker(s), event, title etc) will be it's tags.
So say for example "The Zen Guide to WatchOS 2" is the video, it will have the tags "Natasha Murashev" "NSSpain 2015" "WatchOS" etc right?
Tags are general keywords related to the content of the video that can help with search and categorization. Both events and speakers are specific pieces of information that also have additional metadata.
I think this would be especially nice to have. Also, a nice side-effect would be having permanent URLs for each video that people can link to.