Skip to content

CMS Requirements

Martin Trenker edited this page Apr 2, 2020 · 2 revisions

Most pages on clean.dev should be managed via contentful to easily allow updates and new content.

Data storage

To save bandwidth and reduce costs, every time an entity on contentful gets updated, a webhook will be triggered that sends all required info to a webhook lambda which publishes it via sns. Once published, the subscribed content lambda will make necessary updates to the dynamodb table.

Access patterns

The following access patterns are currently identified:

# use case partition key sort key comment
1 get all content content-overview content-overview has only partial content like title and slug for further processing, e.g. for lists
2 get content for date content-2020-04-02 content-2020-04-02 same as overview but limited to date
3 get content by slug content- content- slug is defined in contentful

Contentful details

Content models

  • Navigation - A navigation describes the main way to navigate the site and can have multiple targets. maybe even nested
  • Page - The core model for all pages, it contains a slug, content which can be richtext with a certain set of embedded component models (e.g. blog-overview, album, video, etc)
Clone this wiki locally