opensearch-project / project-website

The source to opensearch.org
https://opensearch.org
BSD 3-Clause "New" or "Revised" License
40 stars 475 forks source link

[Feature Request] OpenSearchCon Session Information Automation #3033

Closed nateynateynate closed 1 month ago

nateynateynate commented 3 months ago

Is your feature request related to a problem? Please describe

As we move deeper and deeper into using Airtable as our source of truth for session/partner/speaker information, we're going to need some way to automate the creation of speaker and session profiles using our Airtable contents as the source of truth.

When we eventually go through the scoring process for our submitted presentations, we will for sure end up with an Airtable table that contains all of the sessions that have been accepted as well as the speaker information for those sessions.

We need to come up with the requirements and specifications for the process that:

  1. Pulls the session and speaker information from Airtable and includes it either as markdown or as a data file in the form of json or YML in _data so that it can be referred to in our page templates.

  2. Creates the presentation portion of that information for our website, hopefully by creating some bootstrap-enabled page templates that don't require ten thousand lines of custom CSS and javascript to link sessions to presenters.

  3. Hopefully a reasonably simple way to filter those sessions by some of their more basic facets.

Perhaps in a further iteration we can find some way to create a conference schedule that would allow us to automatically create the conference calendar, and/or a way to present it on the site or download it as an ICS file to incorporate into users' personal calendars.

Describe the solution you'd like to see

Ideally we'd pull all the session and speaker information from Airtable using the api, collect it as a data file in jekyll, and then just refer to the session information using site.data

This is an oversimplification of course, but we'll fill in the blanks and requirements as we go.

Describe alternatives you've considered

Our current process is to hand-write YML for each session and each presenter and refer to the presenter's short_name frontmatter variable so that they can be linked as the author for the session information display. This is ugly and inefficient.

Additional context

We should include as little information about our Airtable base as possible when committing code to GitHub. Of course there's an API key we need to obfuscate. I'm not sure how serious it is to have our base-id's in the code, but if we need to obfuscate those through AWS secrets manager, we can do that as well as long as we can provide them as environment variables for our build process.

kaimmej commented 2 months ago

Question - Can we assume that the speaker will have a _communityMember profile? If not, can we assume that a picture will be provided by the speaker?

I think the nuts and bolts of this project will be in configuration and handling edge-cases. Is there sample data from last year we could use to start troubleshooting?

nateynateynate commented 1 month ago

I don't think this is going to happen. Let's put our heads together to minimize time spent on data entry when creating pages for opensearchcon sessions.