Skip to content

Manual Content Modeling

00:00 / 00:00

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

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

  1. Open the Model tab and expand the menu.

  2. Select Add New Enum and name it Format.

  3. Add the values In person, Online and Hybrid, 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.

  1. Click Add New Model and name it Speaker.

  2. Add these fields:

    Name Type Validations
    Name Short Text Required
    Photo Media —
  3. Save the model.

Create the event

  1. Click Add New Model and name it Event.

  2. Add these fields:

    Name Type Collection Validations
    Title Short Text No Required
    Date Date and Time No —
    Format Format No —
    Speakers Speaker Yes —
    Topic Short Text No —
    Description Long Text No —
  3. Save the model.

Notice two details:

  • In the Format field you can pick the enum you just created directly: it shows up in the list as one more type.
  • In Speakers you pick the Speaker model 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

  1. Switch to the Schema view. It shows how the pieces relate: the event has its format and is connected to its speakers. Since Speakers is a collection, an event can have several.

  2. Go back to the List view, find Event and 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

  1. Open the Content tab and switch to the Tree view.

  2. Click + on Speaker. In Name type the following text, upload a photo in Photo and save:

    Lucía Martín
  3. Click + again and create the second speaker the same way:

    Carlos Vega

Create the first event

  1. Click + on Event.

  2. In General, rename the content to:

    From model to website
  3. Fill 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 CMS
    • Description: 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.
  4. 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

  1. With the Title field 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.

  2. Type the title and save:

    From model to website
  3. Publish 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:

  1. Go to the content list.

  2. Select the two speakers and the two new events.

  3. 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