How the Site Runs
Everything on the Larkspur dashboard is fed by six Google Sheets. This page explains what each one does, what to change and when, and what to do when something looks wrong — written for whoever comes next, with no assumption that you’ve done anything like this before.
The shape of it
There is one idea behind this whole site, and if you understand it you can maintain everything:
You edit a spreadsheet. The website reads it.
Nobody edits the website. When a mother signs up for lunch, or you tick a box for a signed waiver, or you type in next unit’s class assignments, it all happens in a Google Sheet. The website pages simply read those sheets and make them look nice.
That means two things. First, you never have to touch code to keep the site current. Second, if a page is showing the wrong thing, the answer is almost always in a spreadsheet, not in the website.
All six sheets live in one folder on Rebekah’s Google Drive called Larkspur Site Dashboard. Bookmark that folder — it is the whole toolbox.
Open the folderFive rules that will keep you out of trouble
- Edit the spreadsheet, never the website. If you find yourself looking at code, stop and ask.
- Never rename a tab, and never change the top row of a sheet. Those little words across the top —
name,status,cost— are how the website finds things. Renaming a tab fromslotstoSlotsis enough to break a page. - Some columns fill themselves. Don’t type in them. There is exactly one in the whole system — the People column on the assignments sheet — and it’s marked below.
- Changes take up to five minutes to appear. Google holds a copy for a few minutes to keep things fast. Make your change, go make tea, then refresh.
- When in doubt, screenshot before you change anything. It costs three seconds and it has saved us more than once.
The six sheets
Each card below tells you what the sheet feeds, which tabs to touch, and what to leave alone.
Larkspur Assignments
Who teaches what, and who assists where, for the current unit. This is the busiest sheet — it’s the one you update every unit.
- Tabs
assignments-sheetis the one the website reads.signups-logis left over from the old sign-up service and can be ignored.- You edit
- The META rows at the top (unit dates, the feast, the sign-up link), and the slot rows — Section, Class, Role, Note, Total, and Base People.
- Never touch
- The People column. It fills itself from Base People. If you type in it you’ll wipe the formula for every row — put names in Base People instead.
Each unit: update the META rows, then replace the slot rows. Full steps are in The rhythm.
Larkspur Unit Topics
Where mothers submit what they plan to teach, and where leaders approve it. Approved topics appear on Past Class Topics on their own.
- Tabs
topics— every submission and its status.members— the mothers’ names and email addresses.- You edit
- The
memberstab, when a family joins or leaves. Name in one column, email in the next. - Never touch
- The
topicstab. Approve and send back on the Topic Review page instead — that’s what sends the email to the mother. - Good to know
- Those emails come from Rebekah’s Gmail, signed “The Larkspur Leadership Team.” Google allows about 100 a day, which is far more than we use.
Larkspur Lunch Sign-Ups
The whole year of lunches is already loaded — all twenty-four co-op days, with the four rotating menus. In a normal week you do nothing at all.
- Tabs
weeks— one row per co-op day.slots— what’s needed each week.signups— who claimed what.members— the mothers’ names.- You edit
weeksorslotsonly if a menu changes.memberswhen families change.- Never touch
signups. The page writes there when a mother claims a dish, and she can release it herself.- Good to know
- Each week’s sign-up opens at 10:00 on the Saturday six days before, so everyone gets a fair chance. Until then the page shows “Opens at 10:00 Saturday…”
Larkspur Attendance
One row per mother per co-op day, with which of her children were there.
- Tabs
attendance— the records.members— the 27 mothers.students— the 103 children, each with her mother and her class.- You edit
membersandstudentsat the start of the year, or when a family joins, a baby arrives, or a child moves up a class.- Never touch
attendance. Mark people present or away by tapping their names on the Attendance Tracker page — that writes the row correctly.- Good to know
- The co-op dates themselves live inside the script, not in this sheet. New dates each year need a hand — see Handing it on.
Larkspur Signed Docs Tracker
Who has turned in which of the five documents. One row per family, five tick boxes.
- Tab
- Just the one. Columns: Family, the five documents, Date, PDF link, Note.
- You edit
- All of it. Tick boxes as documents arrive, put the signing date in Date, and the note column for anything odd — a blank children’s line, a father signing, and so on.
- The PDF link
- The signed packets live in Squarespace, not Drive. Upload the PDF there named
signed-docs-lastname.pdf, then put/s/signed-docs-lastname.pdfin the PDF link column. - Careful
- Only tick Likeness Release when you actually have the signature. Any family without it is treated as having said no, and their children are kept out of photographs.
A new family is simply a new row — anywhere in the sheet. Keep the columns in order; the row order doesn’t matter.
Larkspur Procurement
Every purchase, receipt and in-kind donation, and the year-end packet for the 990.
- Tab
purchases— the ledger.- You edit
- Normally nothing. Log purchases on the Procurement Log page. You can fix a typo directly in the sheet if it’s easier.
- Receipts
- They file themselves into a Drive folder called Larkspur Procurement Receipts, sorted by fiscal year and month. Don’t rearrange that folder.
- Good to know
- “Remove” on the page only hides an entry — the row stays in the sheet, marked deleted. Nothing is ever really lost.
Changing what lunch needs
The whole year of lunches is already loaded, so most weeks you do nothing. But menus change, a dish turns out to be unpopular, or four pots of soup turns out to be two too many. All of that is edited in the Larkspur Lunch Sign-Ups sheet, and it takes about a minute.
Two tabs matter. weeks is one row per co-op day — the menu name and the note underneath it. slots is the list of dishes and jobs for each of those days.
| A | B | C | D | E | F | |
| 1 | id | unit | theme | date | location | note |
|---|---|---|---|---|---|---|
| 2 | u1s1 | 1 | Soup Du Jour | 2026-08-21 | Living Faith Fellowship | Middle School cleans up. If your dish … |
| 3 | u1s2 | 1 | Sandwich Bar | 2026-08-28 | Living Faith Fellowship | Upper Elementary cleans up. If your di… |
| 4 | u1s3 | 1 | Taco Salad | 2026-09-04 | Living Faith Fellowship | Upper High School cleans up. If your d… |
The id in column A is the thread that ties the two tabs together. u1s1 means Unit 1, Session 1. Whatever you put in theme is the name the mothers see; the note is the line under it.
| A | B | C | D | E | F | |
| 1 | week_id | slot | qty | note | kind | sort |
|---|---|---|---|---|---|---|
| 2 | u1s1 | Big Pot of Soup | 4 | Not chili | food | 1 |
| 3 | u1s1 | Big pot of chili | 2 | food | 2 | |
| 4 | u1s1 | 2 loaves of bread | 6 | food | 3 | |
| 5 | u1s1 | Butter | 2 | food | 4 | |
| 6 | u1s1 | Crackers | 3 | food | 5 | |
| 7 | u1s1 | Fresh veggies | 3 | food | 6 | |
| 8 | u1s1 | Fresh fruit | 5 | food | 7 | |
| 9 | u1s1 | Recess helper | 5 | helper | 12 | |
| … | … | … | … | … | … | … |
Column C · qty is how many of that dish are wanted. Change the 5 beside Fresh fruit to a 6 and the page immediately asks for six.
Change how many are needed
Open the slots tab, find the row — the week_id column tells you which week it belongs to — and type a new number in qty. That’s the whole job.
If mothers have already signed up
Lowering the number never removes anyone. If four have claimed a dish and you drop it to two, those four keep their dish and the page simply stops offering it to anyone else. Raising the number re-opens it.
Add a dish or a job
Add one new row at the bottom of the slots tab. Nothing needs to be in order — the sort number decides where it shows up on the page, not where the row sits.
| A | B | C | D | E | F | |
| 1 | week_id | slot | qty | note | kind | sort |
|---|---|---|---|---|---|---|
| 2 | u1s1 | Big Pot of Soup | 4 | Not chili | food | 1 |
| 3 | u1s1 | Big pot of chili | 2 | food | 2 | |
| 4 | u1s1 | 2 loaves of bread | 6 | food | 3 | |
| 5 | u1s1 | Shredded cheese | 2 | food | 14 |
The green row is the new one. Only three things really matter: the week_id must match the week you mean, kind is food or helper, and sort decides where it appears in the list.
- week_id — copy it exactly from another row of the same week. A typo here means the dish belongs to no week and simply never appears.
- slot — what the mothers will read. “3 loaves of bread” is better than “bread”.
- qty — how many are wanted.
- note — optional, shown small underneath. Good for “Not chili” or “pre-cut please”.
- kind —
foodorhelper. A helper slot doesn’t ask what she’s bringing, because she isn’t bringing anything. - sort — the order on the page. Food is usually 1 upward, with helpers last.
Remove a dish
Delete the whole row. If someone has already claimed it, tell her — her sign-up will vanish from the page along with the dish.
Better than deleting
If a dish is claimed and you simply need less of it, set qty to the number already claimed rather than deleting the row. Nobody loses their spot, and nobody new can sign up.
Change a whole week’s menu
- In the
weekstab, change the theme for that day — that’s the name the mothers see. Update the note if the cleanup class changed. - In the
slotstab, delete every row whoseweek_idmatches that day. - Type the new dishes as fresh rows, using the same
week_id, numbering sort from 1. - Wait five minutes and open the Lunch Sign-Up page to check.
The four menus repeat all year — Soup Du Jour, Sandwich Bar, Taco Salad, Pasta Bar — so if you’rechanging one for good, copy your new rows into all six of that menu’s weeks.
Two things you can’t break
The signups tab is written by the page, not by you — leave it alone and mothers can always release a dish themselves. And sign-ups only open at 10:00 on the Saturday six days before, so you have the whole week beforehand to make changes quietly.
What comes from the Member Handbook
The Member Handbook is a page, not a spreadsheet — nothing reads it automatically. But it is where several facts were first written down, and those same facts were copied into other places so the site could use them. When the handbook changes, these have to be changed too, or the site will quietly disagree with itself.
- The children
- Names, families and classes. Copied into Class Rosters, Digital Popsicle Sticks, the Family Directory, and the
studentstab of the Attendance sheet. - Co-op dates
- The twenty-four Fridays. Copied into Dates & Rhythm, the Feast Cycle page, the Lunch sheet’s
weekstab, and the Attendance and Lunch scripts. - The co-op day
- Morning Time at 9:45, Feast Cycle from 10:30, lunch, recess, afternoon class, dismissal at 2:00. Copied into the Feast Cycle page’s live bar.
- Feast Cycle times
- The ten- and fifteen-minute blocks. Copied into the Feast Cycle Schedule page.
- Leadership
- Names, roles and phone numbers. Copied into Meet Your Leadership Team, the Family Directory, and New Family Welcome.
Of these, only the students tab and the Lunch weeks tab are things you can edit yourself. The rest live in page code — when the handbook changes, send the change along and it will be carried across.
The rhythm
Every unit — about ten minutes
- Open Larkspur Assignments →
assignments-sheet. Update the META rows: the unit label, the date, the location, and the sign-up link. - Replace the slot rows with the new unit’s classes and roles. Fill in Base People for anyone assigned by hand. Leave the People column alone.
- Delete last unit’s rows from the
signups-logtab. - Wait five minutes, then open the Unit Class Assignments page and check it looks right.
Every co-op week
Nothing is required. Lunch runs itself, and topics arrive as mothers submit them. Two habits worth keeping:
- Glance at Topic Review midweek so nobody is waiting on an approval.
- After co-op, open the Attendance Tracker and tidy up anyone missed.
Once a year — June to August
- Rosters: update the
membersandstudentstabs on Attendance, andmemberson Lunch and Unit Topics. - Signed docs: clear last year’s ticks and dates, keep the family rows.
- Lunch: new co-op dates and menus go in
weeksandslots. - Procurement: nothing — the fiscal year rolls over by itself on 1 July.
- Co-op dates and the Feast Cycle timetable live inside the scripts and the page code. Those need a hand — see below.
When something looks wrong
I changed the sheet but the website still shows the old thing
Almost always just the wait. Google keeps a copy for about five minutes. Give it a few minutes and refresh the page. If it’s still wrong after ten, read on.
A page is showing information from months ago
The link between the sheet and the page has come undone — usually because the sheet stopped being “published to the web.” In the sheet: File → Share → Publish to web, choose the right tab, choose Comma-separated values (.csv), and publish. If the link it gives you is different from before, the page needs updating too — send it over.
Some pages say “saved copy” when this happens, which is the page telling you honestly that it couldn’t reach the sheet.
A page says “Almost there — this page isn’t connected to its backend yet”
The page has lost the address of its script. This happens if someone pastes an older version of the page code over the current one. Ask for a fresh copy of that page’s code block — it takes a minute to fix.
The emails stopped going out
Google allows about 100 emails a day from a personal Gmail account. We use nowhere near that, so if they’ve stopped it’s more likely the script needs re-authorising — which happens if the Google password changed. Ask for help; it’s a two-minute fix.
Someone edited the code and now a page is blank
Don’t try to repair it by hand. Every page’s code is kept safe and can be handed back to you complete. Say which page and what you were doing.
I changed something in the script and now nothing works
The most common cause: after editing a script you must choose Deploy → Manage deployments → the pencil → Version: New version. If you choose New deployment instead, Google makes a brand-new address and the website is left talking to the old one.
Words you’ll see
- Tab
- One page inside a spreadsheet — the little labels along the bottom. Their names matter.
- Apps Script
- A small program attached to a spreadsheet. It’s what lets a website page write into the sheet. You get to it with Extensions → Apps Script.
- Web app URL
- The address of that program. It ends in
/exec. The website page holds a copy of it. - Publish to web
- A Google Sheets setting that makes one tab readable at a long web address. Two of our sheets are read this way instead of through a script.
- Code block
- The box in Squarespace where a page’s code lives. Editing a page means pasting a new version into that box.
- Deployment
- A saved version of a script. Always update with New version, never New deployment.
When it isn’t in a spreadsheet
Some things on this site are written into the page itself rather than into a sheet — usually because they only change once a year. You don’t need to learn how to edit them, and you shouldn’t try. Send them along and they’ll be updated for you.
Gage Jaeger
Send what you want changed and on which page. A screenshot with the wrong bit circled is perfect — you don’t need to describe it in technical terms.
The things that fall in this basket
- The children
- Adding a child, removing one, moving one up a class, or changing a birthday, allergy or support note. Affects Class Rosters, Digital Popsicle Sticks and the Family Directory.
- Family details
- A new phone number, email or address on the Family Directory — and the phone numbers on Unit Class Assignments, which are a second copy of the same thing.
- The calendar
- New co-op dates, mother’s meetings, the banquet, the knowledge fair — anything on Dates & Rhythm.
- Feast Cycle times
- The ten- and fifteen-minute blocks on the Feast Cycle Schedule, and the shape of the co-op day behind its live bar.
- This year’s feast
- The artist, composer and poet, and the Spotify playlist links.
- Photographs
- New faces on Meet Your Leadership Team, The Guild Board, or the photo on the main dashboard.
- Written pages
- The Member Handbook, Teacher Guide, New Family Welcome and the Feast Cycle class guides.
- Anything odd
- A page looking broken, a name in the wrong place, wording that reads badly — even if you’re not sure it’s a real problem.
None of this is urgent in the way it feels
Nothing on that list stops the site working. An out-of-date phone number or last year’s photo is untidy, not broken — the sign-ups, the topics, the attendance and the waivers all carry on regardless. Gather them up and send them together when it suits you.
Handing it on
The one thing that really matters
All six sheets and all four scripts live on Rebekah’s personal Google account. The emails come from it too. If Rebekah steps down and that account goes away, the site stops.
Before a secretary hands over, transfer ownership of the Larkspur Site Dashboard folder and the Larkspur Procurement Receipts folder to the next person, and have her re-deploy each script from her own account. It is not difficult, but it cannot be done afterwards.
A complete handover is five things:
- The Google account that owns the sheets, the scripts and the receipts folder.
- The Squarespace login — the pages themselves, and the file area where signed PDFs live.
- This page, and the printed check-in QR poster if the chapter starts using it.
Two things that are not in a spreadsheet
The co-op dates and the Feast Cycle timetable are written into the scripts and page code, because they don’t change during the year. When they do change — new calendar, new block times — that’s the one job that needs someone comfortable with the code. Everything else on this page you can do yourself.