Recurring events in a schedule

I am looking for a tutorial on how to make recurring events in a schedule.

User case.
The user creates an event on the calendar and specifies that it should repeat every Monday and Wednesday.

New events should be created on the server every day according to the settings specified by the user.

Please, tell me where to look for information on how to implement this on Bubble?

Hey @kovtun :wave:

Welcome to the Bubble Community!

If I am understanding you correctly… I may be wrong…

I think this is what you are looking for:

Try researching backend workflows (API Workflows). These will be vital for scheduling events to happen like that. Basically, very simply put, backend workflows are workflows that run on the server, not in the browser. So the backend workflows can run even when there is no user on your site to trigger the workflow at that time. Does that make sense?

You can schedule a backend workflow to happen at a certain time, then trigger itself to run again next week.

Bubble Documentation: https://manual.bubble.io/using-the-bubble-api/how-to-use-the-api#setting-up-api-workflows

Hope that helps! :blush:

@j805 www.NoCodeMinute.com

For All Your No-Code Education Needs:

  • One-on-One Tutoring
  • eLearning Hub
  • Video Tutorials
  • No-Code Classes
3 Likes

Hi @kovtun

I put together this quick guide that may illustrate, as a first step, the different available backend workflows and when to use them:

5 Likes

This is hard in Bubble. Recurrence rules are basically a client-side thing and (at least by default) Bubble is driven by server-side, database-stored values.

If you do want to support rrules, you will need to define a backend representation of such rules and then have a way of interpreting them on the front end.

I’m not aware of a native or plugin component for Bubble that does this (has a good interface for rrules), beyond being able to hack this together with my Calendar Grid Pro plugin — which would be kind of a hassle and cannot support all use cases).

It may be possible that one of the Full Calendar plugins for Bubble supports rrules, but I have no idea what they expect you to provide. (But then… Full Calendar… Ewww.)

Consider the problem. Here’s an example:

  • I am not available on any Wednesday between 10 AM and 10: 35 AM (my Timezone) from now until… forever (no end date).

This is a very common rrule. Obviously, it’s impossible to compute the list of date ranges on Wednesdays that I am unavailable and store them in the database (as this list is, in fact, infinite).

In fact, it’s stupid to (on the backend) to compute even one of them.

The implementation of rrules must happen on the front end (client side — in the browser). And the need for this computation is entirely dependent on the display component.

Are we displaying a single day and need to just block the times I’m unavailable on that day (only if that day happens to be Wednesday)? Well, that’s different from if we’re displaying a month-view of individual dates, right?

Nobody’s ever going to write a plugin to address all of this, because the presentation is so tightly tied to database structure.

So, you’re in at least semi-custom-code territory here. (I’ve left out a bunch of stuff about how in vanilla Bubble you can’t do iterative stuff with any ease, anyway.)

None of this is “hard” in code, but it’s very application-specific.

2 Likes