Schedules Example Base
This is my first post to forum; hope I get the mechanics right.
You may find this base handy if you need to schedule recurring events.
I work for a community radio station and wanted to be able to offer users the ability to schedule our on-air broadcasts and various meetings as recurring events. I wanted to give users the same flexibility they have in Google Calendar and Outlook.
I’ve encapsulated recurring date calculation logic in a single table: “Schedules”. I’ve seeded the table with example rows and the primary field’s default formula describes each row using the user-entered fields.
The Schedules calendar view shows a set of example recurring dates, with the primary field documenting each recurring pattern. Check out the calendar view to get a quick idea of scheduling features.
Since all recurring dates are calculated off of the value of the built-in Airtable TODAY() function, the calendar is always automatically up to date. Recurring dates that slip into the past are recalculated into the future as each day passes.
The implementation is not complete: The design and usage document in the Documentation trable of the base outlines design issues and the implementation backlog. I’m publishing this early for selfish reasons. If I’m lucky others will have better ideas and/or implementations. I’m thinking of you, W_Vann_Hall, and all those experienced developers that can poke holes in this thing and/or point me to better ideas and code.
I intend to deploy the schedule table by adding it to our bases where needed and to keep the date logic encapsulated in the table. I’ll use links, lookups and rollups to integrate the date logic into the tables that need it.
The ‘’'Documentation ‘’'table holds source listings and more detailed user documentation.
The date logic supports the following types of recurring dates:
Hi Charles, thank you so much for sharing. This is exactly what I need, but I’m struggling to understand how to adapt and use it on my base. The formula file, converted to txt, is fairly difficult for me to follow.
I am building a calendar for 2021 where I only need 12 rows, one for each month, and the date should be the first Thursday of every month. I’m struggling how to build the formulas. Can you help me to understand how best to use your sample base? Many thanks in advance.
Hi @Charles_Beckett thanks for sharing! Looks very similar to something we’re trying to do. I see that you have the ability to add things like weekly recurring evnets and when the record is open it shows when the next ~4 events take place. In the calendar view I see the first event but the subsequent events don’t show up. Is this a limit you ran into or am I not using the views correctly?
I’m just about to release a ‘V2’ version of this, which eliminates a lot of bugs and provides a much better user experience. I’ll share it with you if you are interested in trying it out and giving feedback; I’d love some feedback before I post to Airtable.
This version is aimed at letting folks sync the recurring events from the base to bases of their own. This eliminates all the work of copying formulas to your own base, and means you can share the same set of events to multiple bases.
Let me know if you would have the time to review the base.
Thanks for sharing, not bad for a first time forum poster :winking_face:
I’ll will have a look at the way you solved this complex issue, it might be handy for us (public broadcaster in the Netherlands). We use Airtable extensively, but not yet on this daily programming level. Although it shows how you can shape Airtable according to your needs, the downside is making it too complicated and too dependant on just one or some people in the organisation. I’m looking forward to the V2 version you are referring to and will certainly try your way of solving this issue.
Kind regards, GertJan
Thanks I’m a couple of days away from V2 now.
I’m doing this for our community radio station so I’m interested in what you are doing with Airtable in that space. I’m also interested in how/if your organization is getting a non-profit discount on your Airtable collaborator accounts.
Chuck Beckett, every Wednesday 9-11am on WFHB: Community Radio for south central Indiana
91.3 FM | 98.1 Bloomington | 100.7 Nashville | 106.3 Ellettsville
Thanks for the update!
About the non-profit discount: yes, we as public broadcaster have a official status that made us eligible for the non-profit discount. That helps a lot, in managing costs. Regarding that: the VPRO has ca 350 people working in all kind of professions, and we have grown in 2-3 years from 5 pro-accounts towards 50. And are about to make the step towards an Enterprise light account, mainly to have more control over users and to integrate the user accounts into our SSO.
We are now using a wide variety of bases. It is used to control the crossmedia workflow for specific programs, where it functions as a workflow tool and as an archive. Overall the main (and first) Base we created helps us sharing the content and status of all our media production (audio, video, online, lineair, on demand). This backbone of programmes is used for planning people in different departments, but also to keep track of awards and prizes. It has grown into an essential part of our way of working with over 50+ kinds of metadata and several formula driven fields. The latest improvement sends, through Automations, alerts to the dedicated marcom people when titels change or when publication dates (specific or expected) change.
Important guideline has been that Airtable is not thé official authority, that it is managed without any support from the ICT department, and that it is better to to be 80% right for all the people, than trying to achieve 100% accuracy and never getting there (and loosing your flexibility).
Very true. The allure of Airtable to folks who don’t want to be a developer fades when their Base becomes more complex. When your base doesn’t demand complexity, you’re in Airtable’s sweet spot. But for some applications of Airtable you can’t avoid complexity. Recurring dates, particularly dates that recur on the 1st/2nd/3d/4th last Monday/Tuesday/Wednesday etc. of a month are just not easy to implement.
My hope with this base was to leverage Airtable’s sync feature to create a Component: a base that encapsulates the complexity of recurring date calculations and separates that code from the bases that need the results. The base is intended to be maintained without impacting the users’ bases that need it.
If I can provide support for this base, then folks won’t have to be developers to make use of the base.
My motives are not entirely selfless – if there are enough organizations with experienced Airtable developers that decide to try out the recuring dates base, then they will find bugs and suggest fixes, they’ll suggest optimizations and better techniques, and my organization can benefit from that.
I suppose the success of this effort depends on the number of Airtable users who decide they can benefit from it, the number of users who find and suggest bug fixes, and how long I can maintain the base.
I’m very open to putting this base in a Workspace of its own and sharing that workspace out to anyone who is motivated enough to help find and fix bugs. Not exactly GitHub, but hopefully not totally unrealistic.
I’ve updated this base to V2.01, correcting a configuration code error. Details are in the updated documentation. If you have already deployed the base into an environment and don’t want to redo that deployment, then you can just patch your current V2.00 base. The documentation table provides patch instructions. The patch involves updating a single formula in a field in the Events table.