Manual Content Modeling
Content Modeling
In this guide you will build a community events calendar in a few minutes by modeling it by hand. First you will create a model that tells Content Island how an event is organized and what information it holds. After that, you only have to fill in the data.
Prerequisites
- A Content Island account.
- A project created from the Projects page.
- Two photos for the speakers (any image will do).
Start with the small pieces
An event can have several speakers and a format (in person, online or hybrid). So you will start with the small pieces and, once you have them, create the event model.
Create the formats
Open the Model tab and expand the menu.
Select Add New Enum and name it
Format.Add the values
In person,OnlineandHybrid, and save.
An enum stops people from writing "online", "remote" or "on Zoom" to mean the same thing. Your data stays tidy and you can filter it later without surprises.
Create the speakers
Think of a model as a template: it states what information you will store for each item. Here, for each person you only need a name and a photo.
Click Add New Model and name it
Speaker.Add these fields:
Name Type Validations NameShort Text Required PhotoMedia — Save the model.
Create the event
Click Add New Model and name it
Event.Add these fields:
Name Type Collection Validations TitleShort Text No Required DateDate and Time No — FormatFormat No — SpeakersSpeaker Yes — TopicShort Text No — DescriptionLong Text No — Save the model.
Notice two details:
- In the
Formatfield you can pick the enum you just created directly: it shows up in the list as one more type. - In
Speakersyou pick theSpeakermodel and turn on Collection, because a talk can have more than one speaker and you want to be able to add them all.
Review the model
Switch to the Schema view. It shows how the pieces relate: the event has its format and is connected to its speakers. Since
Speakersis a collection, an event can have several.Go back to the List view, find
Eventand click the TS button to generate the TypeScript interface of the model.
In the generated interface, Speakers is a list and Format is limited to the values you defined in the enum. If you are building the community website, you can copy this code and use it directly in your project.
Add the content
So far you have defined the structure. Now it is time to add content, following the same logic as with the models: small pieces first.
Create the speakers
Open the Content tab and switch to the Tree view.
Click + on
Speaker. InNametype the following text, upload a photo inPhotoand save:Lucía MartínClick + again and create the second speaker the same way:
Carlos Vega
Create the first event
Click + on
Event.In General, rename the content to:
From model to websiteFill in the fields:
Title: leave it empty on purpose; you will use it in the next step to check the validations.
Date: pick a day and a time.
Format: select
Hybrid.Topic:
Headless CMSDescription: paste this text and make the second line bold:
We build a community events calendar with Content Island, from the model to publishing. Nothing to install and in under four minutes.
In Speakers, select Lucía Martín and add Carlos Vega too. Since they already exist, you only have to pick them to link them to the event. As it is a collection, you can keep adding more if the event needs them.
Save and publish
With the
Titlefield still empty, try to save the event. Content Island shows an error: since you marked that field as required, it warns you that information is missing. This way an event without a title never slips through.Type the title and save:
From model to websitePublish the event.
Add more events
A calendar with a single event looks a bit empty. Everything goes much faster now: the model is ready and the speakers already exist, so you only have to fill in the fields and choose who gives each talk. The same speaker can take part in as many events as you like without creating them again.
Go back to the Tree view, click + on Event and create these two events. Use the title as the content name (in General) and save them without publishing.
| Field | Second event | Third event |
|---|---|---|
| Title | TypeScript with Content Island | Content as a team |
| Date | After the first event | After the second event |
| Format | Online |
In person |
| Topic | TypeScript | Editorial workflow |
| Description | We generate the types of our model and use them on the community website. Bring your questions and we'll answer them live. |
How to organize a team to create, review and publish content without stepping on each other's toes. |
| Speakers | Carlos Vega | Lucía Martín |
Batch publish
You now have several pieces of content waiting to be published: the two speakers and the two new events. Instead of going one by one, publish them all at once:
Go to the content list.
Select the two speakers and the two new events.
Click Batch publish.
And that's it: your events calendar is built by modeling it by hand in Content Island. You have defined the structure, created the models and added the data.
Next steps
- Go through every option of the Model tab and the Content tab.
- Consume your content from a website with Astro, Next.js or TanStack Start.
- Would you rather let AI do the modeling for you? Try the Quick Start with Claude Code.