Entry patterns

Marketers often face the need to enhance their content by incorporating data from different content silos, databases, and systems. This task can be quite challenging, often requiring assistance from developers to create custom integrations for accessing and consolidating data from various sources. In some cases, content is spread across multiple systems, making it difficult to aggregate and reuse in a cohesive manner.

To address this challenge, Uniform provides a feature called Entry patterns.

They enable marketers to unify data from different sources into a single entry, making it easier to create and enrich structured content by combining local content with data from external systems in a visual way.

Like with any other kind of patterns, entry patterns allow content architects to templatize and reuse the configuration of entries of a specific content type. This includes pattern data resources, the mapping of data to dynamic tokens in fields, default field values, localizations, and override settings.

Entry patterns don't store a copy of external data

Uniform only stores the configuration of the query to the external system in the entry pattern and not the data itself.

When an entry is created from an entry pattern, the pattern data resources fetch the data from the external systems at the time of the request. The responses are then cached on the CDN edge for high-performance delivery in subsequent requests. With flexible and granular caching invalidation settings, you can ensure that the data is always up-to-date and that the entry does not store any stale data.

Use cases for entry patterns#

Besides the common high-level use cases that apply to any kind of pattern, entry patterns can be useful in a variety of additional scenarios, such as:

1. Compose an entry from multiple sources#

One common example is a unified product catalog where you combine product data from a PIM system, product images from a DAM, pricing and availability from another system along with local content to create a unified entry that represents a "Product" that contains all product metadata and content.

Aggregate and unify content of the same type that is stored in different systems into a single unified content set. For example, articles that are stored in multiple CMS instances can be aggregated into a unified set of entries of a "Article" content type. This is particularly useful when you want to support legacy systems or break down content silos.

Inspired by the strangler fig software pattern, you can use entry patterns to gradually migrate content from a legacy system to a new system by creating entry patterns as a facade layer for the legacy system. You then create new entries from the new system while keeping the old entries in the legacy system and mirror them using entries that are based on the facade entry pattern. Over time you then can migrate the entries from the legacy system to Uniform by simply disconnecting from the origin source.

Create content types that provide a generic content schema independent from the source system. By using vendor-specific entry patterns you map the data from different systems to the shared content type. For example a Product content type can be used for products from different PIM systems where each system has its own schema. By creating an entry pattern for each system with the vendor-specific mapping allows you then to easily create entries by only selecting the external record in the pattern data resource.

By encapsulating the implementation details of the various systems in entry patterns, you can operate on a unified content model that is independent from the source system. Content editors don't even need to know from which system the data in an entry is coming from - for them all entries can be treated equal regardless of source system.

This can be particularly useful when you want to switch systems or consolidate systems in the future. It also enables you to mix remote entries with local entries in a single content set.

As entries that are based on entry patterns are just normal entries they can be used to orchestrate cross-system content workflows for content releases.

Integrate common data sources like country information, weather data, or any other kind of data that is available through public or private APIs

Create entry patterns that provide a set of default values for fields for common use cases that can or cannot be overridden by the content author. This can boost productivity and ensure consistency across entries or adhere to brand guidelines or legal requirements.

Manage entry patterns#

Entry patterns can be managed in two places:

  1. All entry patterns can be managed in the "Experience > Entry Patterns" view

    entry-patterns
    Manage all entry patterns of a project
  2. A overview of the entry patterns of a specific content type can be found in the Patterns tab of the component in the "Experience > Content Types" view

Entry patterns are not content

In contrast to component patterns, which can be referenced in multiple compositions, entry patterns are not considered to be reusable content entries themselves. Instead, they act like blueprints for creating entries. As a result, entry patterns are not included in any entry listings and cannot be selected in data resources directly.

Create an entry pattern#

There are two ways to create a component pattern:

  1. In the "Experience > Entry Patterns" view click the Add entry pattern button and then select the content type you want to base the pattern on in dropdown menu that appears.
  2. In the "Experience > Content types" view navigate to the content type on which you want to base the entry pattern, select the Patterns tab, and click the Add pattern button.

Completing this step will open the entry pattern editor where you can configure the entry pattern:

  1. Provide a name for your entry pattern. This name should be descriptive and reflect the purpose of the entry pattern. Often this would contain the name of the content type and the source system (like "Commercetools Product" or "Shopify Product").
  2. Optionally, you can add pattern data resources and the mappings to dynamic tokens in the fields.
  3. If used in a localized project, you can configure the enabled locales for the entry pattern and the default values and data mapping for each locale.
  4. Define the override settings for the entry pattern. This allows you to specify which fields can be overridden when creating an entry from the entry pattern.
  5. Save and publish the entry pattern

Don't forget to publish entry patterns

Entry patterns also have a draft and published state to allow you to iterate on the configuration without changes affecting published entries when saved.

Make sure to publish the entry pattern after you have configured it to make it available for creating entries. You can not create entries from a draft entry pattern.

If a published entry pattern is unpublished then you no longer can create entries from it. Existing entries that are based on the entry pattern will still work.

Edit an entry pattern#

To edit an entry pattern you can:

  • In the " Entry Patterns" view click on the desired entry pattern to open it for editing.
  • From a entry that is based on an entry pattern in the entry editor:
    • Click the menu next to the Publish button choose Edit parent pattern.
  • In the "Content Types" view find the content type and switch to the "Patterns" tab. Click on the entry pattern to open it for editing.

Edit with care

Updating an entry pattern will affect all entries that are based on it. Make sure to review the changes carefully before publishing the entry pattern to avoid unintended changes to existing entries. You can use the history feature to compare changes and revert to a previous version if needed.

A best practice is to regularly export entry patterns and other patterns to a version control system to have a backup and history of changes. You can use the Uniform CLI to automate this process.

Using entry patterns#

Once you have created and published an entry pattern, you can create entries from it in the "Experience > Entries" view.

  1. Click the Add entry button
  2. Select the content type for which you want to create an entry from the dropdown menu
  3. If a content type has entry patterns, you can select the entry pattern from the second dropdown menu that appears.
create-entry-from-entry-pattern
Create an entry from an entry pattern

After selecting the entry pattern, a new entry will be created based on the entry pattern. The entry editor will open with the fields pre-filled with the default values and data from the pattern data resources. You can then further edit the entry as needed:

  1. Usually you would replace the pattern data resources with the actual data.
  2. You can then override the fields as needed.
entry-edit-pattern-data-resource
Update the pattern data resource of an entry
  1. Save and publish the entry

In the entry listing when choosing the "List" or "Large list" option with the list view selector you can see which entries are based on an entry pattern by looking at the type column where both then entry pattern and the content type are shown. In the "Grid" view you can click on the icon to see the that info.

entry-patterns-entry-list
Identify entries that are based on an entry pattern in entry lists