Add a calendar for open community calls.#222
Add a calendar for open community calls.#222tombentley wants to merge 2 commits intokroxylicious:mainfrom
Conversation
We're going to try using Jitsi since it seemed to offer the best combination of features: * no time limit * ability to record meetings + publish on youtube. The `.ics` file is hand-crafted, but validated using https://icalendar.org/validator.html and also checked in Google calendar. Using the `webcal:` pseudo-protocol for the link on the page should mean the browser passes the URL to the calendar app to be subscribed-to there. That should cause the calendar app to regularly poll for updates, in case we decide to cancel/reschedule meetings. I thought that was preferable to the user downloading a `.ics` and importing and then us making changes to the schedule making the imported event series stale. Putting these two together means we should have the liberty to cancel (using `EXDATE:`) and reschedule events if we need to. Note that I've already excluded New Years Eve 2026 using `EXDATE:`. Signed-off-by: Tom Bentley <tbentley@redhat.com>
| @@ -0,0 +1,41 @@ | |||
| BEGIN:VCALENDAR | |||
There was a problem hiding this comment.
The ics format lacks support for comments :-(
| X-WR-CALNAME:Kroxylicious Community Call | ||
| X-WR-TIMEZONE:UTC | ||
| BEGIN:VEVENT | ||
| UID:morning-series@kroxylicious.io |
There was a problem hiding this comment.
I'm using UK-centric notions of morning and eventing, since those are compatible with the meetings being in UTC.
| DTSTAMP:20260326T100000Z | ||
| DTSTART:20260326T080000Z | ||
| DTEND:20260326T084500Z | ||
| RRULE:FREQ=WEEKLY;INTERVAL=4;BYDAY=TH |
There was a problem hiding this comment.
Both the events in the calendar repeat every 4 weeks. You have to include the BYDAY thing to get the recurrance on the right day of the week (it doesn't just figure it out from working forwards from the DTSTAMP). I realised that the notion of day is problematic because of the timezones we work in. The schedule means that the meets are always on a NZ Thursday, but that means half of them are a UK Wednesday.
| DTSTART:20260326T080000Z | ||
| DTEND:20260326T084500Z | ||
| RRULE:FREQ=WEEKLY;INTERVAL=4;BYDAY=TH | ||
| EXDATE:20261231T080000Z |
There was a problem hiding this comment.
This shows how we can exclude some events from the series.
| DESCRIPTION:This is the UK morning slot of our bi-weekly rotation.\n | ||
| Click to join: | ||
| https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1 | ||
| bbb8aef920c240112935c2d4742c3b1b38a34588 \n |
There was a problem hiding this comment.
Physical lines need to be <72 chars. A logical line can be split over multiple physical lines, and I think WS at the start of a physical line is ignored.
| URL:https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1 | ||
| bbb8aef920c240112935c2d4742c3b1b38a34588 |
There was a problem hiding this comment.
Splitting the URL is a bit 🤮 , but doing so gets rid of a warning from the validator.
join-us/index.md
Outdated
| <div class="col"> | ||
| <div class="card shadow mb-2 mx-2 h-100"> | ||
| <div class="card-header"><h2 class="card-title fs-4">Join our monthly Office Hours</h2></div> | ||
| <div class="card-header"><h2 class="card-title fs-4">Join our fortnightly Office Hours</h2></div> |
There was a problem hiding this comment.
'Fortnightly' is less ambiguous then 'biweekly' (which could mean twice a week if you squint)
join-us/index.md
Outdated
| </p> | ||
| </div> | ||
| <div class="card-footer text-center"> | ||
| <a href="webcal://kroxylicious.io/join-us/community-call.ics" class="btn btn-primary">Subscribe in my calendar</a> |
There was a problem hiding this comment.
Note the webcal: protocol. I've not actually tested this bit yet.
Signed-off-by: Tom Bentley <tbentley@redhat.com>
|
Pushed a 2nd commit which:
|
| </div> | ||
| <div class="col"> | ||
| <div class="card shadow mb-2 mx-2 h-100"> | ||
| <div class="card-header"><h2 class="card-title fs-4">Join our monthly Office Hours</h2></div> |
There was a problem hiding this comment.
Are we calling it "Community Call" or "Office Hours"? We should be consistent.
There was a problem hiding this comment.
Community Call
+1
I've no intuitive understanding of what Office hours means or what people expect from it.

We're going to try using Jitsi since it seemed to
offer the best combination of features:
The
.icsfile is hand-crafted, but validatedusing https://icalendar.org/validator.html and also checked in Google calendar.
Using the
webcal:pseudo-protocol for the link on the page should mean the browser passes the URL to the calendar app to be subscribed-to there.That should cause the calendar app to regularly
poll for updates, in case we decide to cancel/reschedule meetings. I thought that was preferable to the user downloading a
.icsand importing and then us making changes to the schedule making the imported eventseries stale.
Putting these two together means we should have the liberty to cancel (using
EXDATE:) and reschedule events if we need to. Note that I've already excludedNew Years Eve 2026 using
EXDATE:.