-
Notifications
You must be signed in to change notification settings - Fork 0
Thoughts on a data model
I’m sure we can turn this into something more formal later but I wanted to get some basic ideas down on "paper" so we can agree the high level data model.
We want to provide a platform for hosting virtual <Events>.
<Events> can be help over one or more <Days>
<Events> have <Agendas> that can be split into one or more <Tracks> which can be allocated to <Rooms> (? if there is a 1:1 mapping from <Tracks> to <Rooms> is there any benefit in having the separate concepts?)
<Tracks> have <Sessions> that have <DateTime>, <Type>, <IsKeynote>, <Duration>, <Speakers>, <Topic>, <Description>, <Tags> etc. Each <Session> will have a <VideoSource> and ideally a separate <PresentationSource> so we can show the speaker AND the slides at the same time. (? can we pull some of this data from Sessionize or equivalent? Do we want to make that the default or optional?)
<Speakers> have <Name>, <Photo>, <Bio>, <SessionList>, <Twitter> etc
<Events> have <Sponsors> who have different <SponsorLevel> e.g. Platinum, Gold, Silver, Bronze etc. You might have an <EventSponsor> who is the highest level and has wider branding. Each <Sponsor> might have one or more <Offers> that might be video, standard IAB Advert formats (https://www.iab.com/newadportfolio/) that we can use in different parts of the event site. Ad rotation can be proportional to sponsor level.
<Events> have <ExhibitionHall> that have <Stands> that are allocated to <Sponsors> based on their <SponsorLevel> - in a virtual world this might be a larger virtual space (that supports a larger IAB ad unit). Sponsors could also implement a virtual chat solution? We could basically give them an iframe that they can do what they want with BUT that might have privacy implications.
<Events> also have <Attendees> who have all the standard demographic data (? should we use the [Microsoft Common Data Model](https://docs.microsoft.com/en-us/common-data-model/) here?). <Attendees> also normally have <MyAgenda> that is a list of the <Sessions> they have chosen to attend. Ideally we’d implement some type of social login for the site to make some of this data collection easier e.g. Okta.