Contentful Architecture Overview
This guide will walk you through the layout of Contentful and the steps to create a Product in Contentful.
What is provided by Chord?
If you do not have a Contentful account, we recommend creating a Contentful environment (Contentful's free tier should suffice, and your plan can be upgraded when necessary) and allowing Chord team access. Once Chord can access your Contentful Space, we will seed the following:
- The Chord Content models
- The Chord sample store content
- Set up the webhooks all in 1 environment.
You will be responsible for creating/managing new environments. If you have an existing Contentful account, you only need to provide Chord access, and we will seed everything.
Space and Environments
The space selector allows you to switch between the different spaces in your organization.. The main elements are:
- Organization name: the organization name to which these spaces belong; in our example, it is Chord
- Space list: An organization can contain multiple spaces but must at least contain 1
- Each space will consist of Environments (i.e., Production, Staging, Development)
- If the space consists of only one environment, clicking on the space name will automatically redirect you to the spaces' content entries and not show a list of the available environments. Select a space to see its contents.
Content entries page
The content entries page lists all your content entries in that environment in that space. You can publish, duplicate or archive your entries in bulk. You can reuse the provided sample content, create your store, or discuss your structure with your developers or agency partners.
In Contentful, you will have separate content types for each project area by breaking them into granular entries. Content types comprise different data types such as text, images, time, and location for all unique use cases.
You can start by designing a custom structure for your content. This structure is like a schema that allows you and your editors to generate reusable content.
Different Content Types have different sync options. For example, Content Types such as FAQ, Articles, and Notification Bar, to list a few, while created in Contentful and part of your online store, are NOT sync'd with the OMS, unlike Variants, Products, and Collection, which determines what products are in your store. Think of it as "if it relates to checkout, it syncs with the OMS.
Media refers to any digital media file stored and used in your content, such as images, videos, or audio files. Depending on the file size in your space, you can store approximately 25,000 media entries.
You can upload Media from the Media Menu or create or add it "on the go" while creating a Product.
When you are ready to publish your content, click the Publish button. Depending on the configuration of Contentful and your hosting provider, a publish will trigger a site rebuild. Once rebuilt, your latest content updates should be available on your website.
Using the Scheduled Publishing feature, you can also schedule content to be published at a specific date and time. This allows you to plan and automate your content release schedule.
To ensure that your published content is up-to-date, you can use Contentful's webhook feature to trigger updates whenever changes are made to your content.
Chord offers a Sync Service tool, which enables syncing of product content and data between your Content Management System (CMS) and your Order Management System (OMS).
Contentful allows for the creation/set-up of webhooks configured to point to your OMS. The Chord team will set up and enable the Chord Sync Service webhook when your environment is provisioned
When a change is detected in the origin integration, a webhook will trigger a sync event in the Sync Service. For example, a Contentful product slug will map to the Sync Product's slug attribute.
⚠️ If your environment has not been to be set up for syncing webhook events, please contact email@example.com.
Webhooks are HTTP callbacks that can be used to send notifications when your data in Contentful is changed, allowing external systems to react to changes and do things such as trigger a website rebuild or sync product content.
Webhooks are environment specific. If you’ve made a product change that does not appear to have propagated to the OMS, it may be because it was made in an environment not configured to a webhook.