A jazz camp, a brass festival, an annual convention, an industry conference: each has a program to publish, people to introduce, a schedule that keeps changing until the week before, and registration that opens and closes on a date. Most of it is rebuilt every year, often by a volunteer, and last year's program disappears when the new site goes up.
On Total CMS the event is content in collections. Next year is new records in the same site, and every past year stays online.
The JumpStart below builds Juniper Point Jazz Camp, a fictional week-long summer camp with its 2027 program on sale and 2026 kept as the archive: eight faculty and guests, fifteen sessions, a registration form, three emails and a page of charts and recordings for signed-in campers.
The program, the people and the schedule
Speakers or faculty are one collection: photo, bio, instrument or topic, links. Sessions are another: date and time, room, track, and a relational field that points at the people leading it. A teacher who leads five sessions has one record, so a corrected bio is corrected everywhere, and each person gets a page that lists their sessions.
The schedule reads the dates. A template can show only what is upcoming, today's sessions, or the past ones, so the front page always shows what's next without anyone tidying it.
Registration
There are two ways in, depending on what you need:
- A registration form. It saves each sign-up as a record in a registrations collection and emails the attendee and you. Protected fields keep the status and the year out of the visitor's hands, so nobody confirms their own place. Registrations export to CSV for the name badges or the caterer.
- Limited places. Relay Queue, an extension, gives each session a set number of spots, approvals, a waitlist and the emails at each step. Its Pro version takes Stripe payments at booking and prints attendee lists for check-in.
Keeping everyone informed
- News. The built-in blog covers announcements, and any collection can publish an RSS feed.
- One email to everyone registered. Bulk Send mails a template to every record in a collection that matches a filter, such as this year's registrations minus the cancelled ones, so a schedule change or a reminder reaches each attendee by name. Each template reaches each record once, which makes a send safe to repeat; the next notice is a new template.
- Material for attendees only. Slides, recordings and handouts can sit behind a login, with access groups protecting both the page and the files. Accounts are separate from registrations: you add one for each confirmed attendee, or let attendees sign up themselves.
- The rest of the site. Venue and travel pages, sponsors, and galleries from past years, all edited in the same admin.
Year after year
Give sessions and speakers a year, and each edition is a filter, not a new website. Past programs keep their addresses, so a speaker can still link to the talk they gave three years ago, and the archive shows newcomers what the event is like.
Where it stops
- It isn't a ticketing platform. There are no seat maps, discount codes or a door-scanning app. A large paid event with ticket tiers is better served by a ticketing service, with your site linking to it.
- Payments need an extension or a link. Total CMS takes no payments itself; Relay Queue Pro adds Stripe, otherwise registration points to a payment link.
- No attendee app. There is no personal agenda builder, attendee messaging or matchmaking.
- Streams are embedded, not hosted. A video field plays a recording from YouTube, Vimeo and similar services; Total CMS doesn't stream.
What you need
- Pro, for the speakers, sessions and registrations collections (custom schemas), for Bulk Send, and for Relay Queue.
- Standard covers the blog, access groups and galleries, which is enough for an event site whose registration links out to a ticketing or payment page. A form that saves sign-ups needs a collection of its own, and that is Pro.
- The job queue cron job, which sends Bulk Send's emails, and the automations cron job if you use Relay Queue, for its emails and reminders.
- Any host with PHP 8.2 or later, with no database.