I did this doc very early after joining Coda, and would do it very differently now, using more formulas, and less buttons.
I leave it in place for two reasons:
It also shows that there are many ways to get things done in Coda, and you do not always have to be a formula master to make good use of Coda.
You don’t need to wait until you’re an expert, just jump in and start
Pre Weddings, Post Weddings and baptisms are created as EventTypes.
Each EventType have a Template of Tasks that needs to be executed.
When a new Event (Baptism, Funeral, etc) is created, then all the Tasks for that EventType needs to be created in a date driven Task List
There are four tables:
tabTasklist - Date driven list of all the tasks needed for a specific event
The table is filled by clicking the “Add Template to Task List” button in tabEvents. The button does so by pushing the buttons that will create an entry in tabTaskList for each task for that event. At the moment these buttons need to be created manually each time a new Task is created for a Template.
tabEventTemplate - List of Templates for the Eventtypes (Pre, Post Wedding, Baptism, Fish Fry(?) that can be scheduled. It consists of a standard list of tasks that is needed to complete an event;
tabEvents - Record each event that needs to be scheduled, for a wedding it contains details about the couple, their names, contact details and info about the wedding. For baptisms, it would add the name of the child, etc. There are also the buttons needed to make copies of all the Tasks needed for the Event.
tabEventType - Keeps a master list of all the EventTypes that can be scheduled. It is used to make sure that there are no spelling differences in the EventTypes in the tabTemplate and tabEvents tables.
How is tabTaskList populated
The “Add Template to Task List” button will push buttons one after the other to make copies of the Tasks relevant to the EventType to tabTaskList. To achieve this, each button creates a new row in tabTaskList, and populates the tabTaskList.colName column with the name entered in the tabEvents.colName column. This information is the used to create a column LinkName of type Lookup, to link to the tabEvents table. This in turn is then used to pull in information into columns for the email, name, surname etc columns. (This will be used in the building of the email message).
In the same way it creates a link from tabTaskList to tabTemplate, so that it can pull in the correct Subject and email Body information.
The tabTaskList.butSendMail column contains a button that will build the email, and then send it.
The tabTaskList.Anchor date column is populated from the tabEvents table via a lookup column. Each scheduled Task has an Eventdate - that event date is determined by AnchorDate + Offset days can be changed by adding a number of days. (If needed, we can add a standard OffsetDays value in tabTemplate, and adding a lookup column linking to that. Alternatively one can simply remove all this, and just capture the event date manually.
You mentioned about accumulating knowledge. To “learn” about scheduling Events one could add a new Event, for example the Fish Fry, to tabEventTemplate. Then in that table, create a list of tasks that needs to be executed to make the Fish Fry happen - E.g. Add the event to the church bulletin one month before, Order the Fish and the Oil one week before, Arrange for the setup of the venue the day before. Each year, with experience, new tasks could be added, or more detail about existing tasks added.
Each Event can have its own page, with views that filter for that specific Event.
For larger events like a church fete, some “assembly” might be required to adequately address this. (Maybe linked to a community, where the fete is a Group and each activity could be a Topic where the people organising the topic could keep their meeting minutes and discussions. At our church it was a mission each year to find out how many bread rolls, plates and other goods are needed. For this one could link back from the activity Topic to a table in CODA..... 😀 )
Date handling - Have an anchor date, all tasks’ execution dates are relative to this date.
Automate the creation of the buttons that create an entry in tabTasklist for each task for a template. FormulaMap()?
See if Forms can work to create new baptisms, weddings, etc.
Add the new functionality to automatically create a page from a button in a table row
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (