hk21702 / YA-GCal-Notion-Sync-Script

Script to synchronize between a Notion database and Google Calendar both ways. Uses Google App Script.
GNU General Public License v3.0
142 stars 11 forks source link

Adding additional properties #67

Open KayleeLChan opened 10 months ago

KayleeLChan commented 10 months ago

I'm a student and am using this calendar to help organize different views of assignments (calendar and table views that are sortable by grade weights or deadlines). While this calendar works wonderfully with syncing with Gcal (thank you so much!!!) and I'm able to seamlessly switch between a calendar and table view for my assignments, I was wondering if it was possible to add additional properties to the database based on the gcal description?

In my use case, I want to be able to sort all of my events by their grade weight (e.g. an exam on the 13th is 20% and an assignment on the 3rd is 5%. Sorted by date, it will show the assignment first, then the exam. I tried being hacky and putting the weights inside the description and sorting by the description, but since it's textual and not numerical, the assignment will still be sorted first, then the exam, since 5 > 2).

It wasn't clear in the customization whether this would be possible (it seems like the customization is just for changing the names of the already defined properties?). Is there a customization ability where we'd be able to parse the description so that if the description in gcal is written possibly like <custom_property_name>:<property_type>:<property_format>:<value>, then it will convert that into a notion property to add to the database? (e.g. from previous example, in the description of the assignment I would write: Weight:number:percent:5 and the description for the exam would be Weight:number:percent:20) And then the actual description could be written after all the defining properties?

I just think the added flexibility to be able to use additional properties that suit our needs could be helpful. If this won't be added as a feature or is already a feature and I didn't realize, then any advice from others on how to possibly implement it on my end would be appreciated! Thanks ^^