Traditional cms’ are heavy and susceptible to attack, their plugin systems offer a lot of customizability but also introduce vulnerabilities, bloat, and pay walls
Headless CMS’, while taking more initial setup time offer:
lighter deployment
separation of data from presentation
added security
better developer experience
cheaper to run
more customizability
However the drawbacks are:
the project will need a developer (this is good for us, and actually good for client even if they don’t see it)
more setup time is required
more decisions need to be made at the beginning
initial setup time can be longer
In Class Research
In groups of 3-4 take 20 minutes to research CMS solutions
Find 1 monolithic and 2-3 Headless options
Assess them for:
cost
integration options (ie: for Nuxt)
type of database used
number of users
bandwidth
other features that spark your interest
Then take another 10 minutes to make a comparison of your 2 favourites
contrast them and identify:
your general preference
ideal use cases for each cms (one might be better for some kinds of site and less so for others)
features that needed more research to understand
most valuable features from your point of view
Class Debrief
Each group will present on one of the CMS’s reviewed
basically in your render, vercel etc, deployment; you need to recreate the environment from your local setup
as the .env file is not in the repo, you’ll need to add those variables using Render’s dashboard
this workflow is more or less the same for all env variables and platforms.
Outcome
The objective of doing this is to have a basis to compare again when we do a containerized cloud deployment next
Instructions and resources provided will often give you examples like this
however we will need a more powerful deployment option
Explore the Directus Dashboard
Content / Data Model
Data Model collections are where you create schemas for data
set up the necessary fields for whatever your data is
common usages:
products
gallery
articles
posts
anything where you have the same data structure for repeated content
After setting up a data model, you can start creating content
Activity: Create a blog post schema
Create a blog post schema
Fields should include:
title
summary
post
date
For a more advanced experience, try recreating a post from Cassie Codes