All posts
Introducing Collections — CRUDable document types in the CMS
The new define primitive lets you ship blogs, product catalogues and anything else on the same infrastructure that already powers regular CMS pages.
Today we are opening up a new primitive in the CMS: defineCollection. Where definePage and defineSingleton have always been single-instance documents, collections let you CRUD as many instances as you want — blogs, products, cars, recipes.
Why is this a big deal?
The data layer was already ready for it. All content and assets are stored against a document string — so we synthesise one id per instance (blog:<itemId>) and reuse the entire existing editor, locale and cache stack.
What do you get in admin?
- A list view with draft/published statuses and quick actions.
- The same Text + Media editor you already know.
- A new
richText: trueflag on any key that opens the TipTap editor.
The nicest part? It is under two days of code because we only added one new schema and one Prisma table.