feature: Source Events data from Notion
This Issue tracks the feature request for maintaining and sharing an event calendar through our websites (ultimately iterative.ai once we move the community page).
While originally intended for Google Calendar, we currently maintain our calendar in notion.so so that'll be the obvious first choice for an API we consume.
Interesting. What is the question @rogermparent, whether to implement this given the tradeoffs?
Interesting. What is the
question, whether to implement this given the tradeoffs?
Yeah, posing a question to everyone who edits the calendar whether we should make this switch or not. I think there's enough support for the overall idea (me from the website dev perspective, @jendefig from the editor perspective) that this Issue's current stage would better be described with research and discussion: specifically research on Gcal/Notion (or whatever else) APIs and discussion on what platform we want and the tradeoffs their APIs will give us.
I did a few quick searches the other day which unfortunately rule out Gcal iframes unless we're okay with not having images in the Events list, but beyond that I'm not sure what the capabilities of the other APIs are.
@rogermparent I would definitely want to have images for these. I will research as best I can too. Notion just updated their API, so maybe it's workable? If it is, this maybe a way to do the User content too. I migrated the the collection of that from the previous gsheet to Notion: https://www.notion.so/iterative/10cc0a511d0b486eb40a1cb219b68068?v=928314676b3d445db6405aa225009d32
@jendefig howdy. Are you guys using the current JSON-based calendar regularly for https://dvc.org/community#events ? Do we even keep a calendar of events? I.e. is this still relevant? (the Notion calendar seems empty). Thanks
@jorgeorpinel I'm really behind on my email and for some unknown reason, some of my GH emails go to my inbox and some to promotions.
We are not keeping this up to date but should be. I don't have time. We do keep a calendar of events. It's in Notion. We really need to find a way to automate it.
Hi! I would like to work on this issue.
Wonderful! Do you happen to be familiar with GatsbyJS and Notion's API? If not, we'll have to research it a bit.
Wonderful! Do you happen to be familiar with GatsbyJS and Notion's API? If not, we'll have to research it a bit.
I am not familiar with Gatsby JS but would love to learn about it.
Cool! Let me ask a few more questions to figure out where I should suggest you start:
- Are you familiar with React?
- Are you familiar with Static Site Generators, often abbreviated SSGs?
Gatsby is a mix of those two concepts. From a React-centric perspective, Gatsby's main difference is that it has a very elaborate build phase with a GraphQL data layer. Gatsby's build-time data layer allows us to query APIs while the site is being built and bake the result into the HTML, so users of the website experience no performance hit for an API call.
While less likely to be relevant, from an SSG-centric perspective you could consider Gatsby's build phase to be an SSG, which has a React application layered on top of it acting as the templates.
For this problem, we'd want to access the Notion API in Gatsby's build phase, then display that data in the react app on the Community page. By going through the relevant projects' docs (Gatsby and Notion.so's API in particular), you could probably get the knowledge to solve this problem in a week or two!
I am familiar with react and at the same time would love to learn about Static Site Generators.
This explanation is so surreal at this stage but would make sure that I understand things clearly. Let me scroll through the docs to get a better idea and also found a tutorial that might come to the rescue.