Skip to main content

Contentful PIM

Overview

Currently in CMS we are manually creating products. This is time consuming and means that product data in CMS can go out of sync very quickly as it has no link to products in Hybris. The aim of this proposal is to suggest a solution to fix the above issue. It will also give us a test bed to test using Contentful as a PIM (Product Information Management) solution.

PIM

A Product Information Management (PIM) solution is a business application that provides a single place to collect, manage, and enrich product information, create a product catalog(s), and distribute it to our sales and eCommerce channels. We have some cross-over here with the management of catalogs in Algolia.

Why

PIM tools make the product information management process fast, efficient, and productive. With a PIM, everyone involved can collaborate to get products ready for sale on time and on budget. We are also able to manage everything about a product including:

  • Technical data - Specifications, dimensions, colors, ingredients, and other facts
  • Usage data - Describe where and how your product should be used
  • Emotional data - Manage compelling descriptions and product stories, list your brand values, and associate relevant images, videos, and documents with each product

Contentful

All of the above functionality of a PIM is somewhat the same as Contentful. Product information is essentially content that can be shared amongst other content models. We are able to cover the different types of enrichment such as technical data, usage data and emotional data. After speaking with a third party agency we collated Pros and Cons of using Contentful as our PIM

Cons

  • Contentful Admin Panel - Has a standard way of managing content. Its not geared towards PIM.
  • Workflows - PIM workflows can be complex and these are desirable when a company already has a PIM in place. I think its worth noting that as we don't have a PIM we don't have any workflows that we need to recreate.

Considerations

  • Automatic Enrichments - One big thing to take into account is automatic enrichment. However, we already know about this and have built our DAM to facilitate this. Because this is event driven we can easily extend our automatic enrichments to other areas of the business.

Pros

  • The recommended PIMs are Akeneo and Pimcore. Both solutions are expensive as they offer functionality that is not needed. For example they both act as DAMs for product images but we already have Cloudinary for this use.
  • The third party agency have two customers with 60k+ SKUs that both use Contentful as a PIM. They chose to do that based on the availability of Contentful APIs.
  • Despite the Contentful Admin Panel being a con, we can actually fix that problem by writing custom applications on the app framework in Contentful to introduce ways to manage products like a PIM.

Proposal

The proposal is to use an existing Hybris endpoint that we can use to trigger a migration of product data between Hybris and Contentful. This is purely a technical exercise. We can use this POC to further investigate creating a Contentful application to manage to import and update of product data. We can also use it as a test bed for Digital Merchandising.

This endpoint:

{{rootUrl}}/{{baseUrl}}/{{baseSiteId}}/products/{{sku}}?fields=FULL

or

https://{uat|www}.rapha.cc/raphacommercewebservices/v2/rapha/products/BJR06LS?fields=FULL

can accept either a base / variant or size sku.

The idea is to use this and build a workflow / step function in AWS to get and transform the data to match our content models in Contentful. We will also take advantage of the multi-space architecture in Contentful and move products to their own space. Below are architectural diagrams for Contentful and the AWS workflow.

Contentful

Multi-space architecture

  • Product will be migrated to its own space. The above diagram shows how we can link relatonships between spaces such as products in stories, collections, guides etc.
  • The product model does not differ too much from what we have in content.rapha.cc. The biggest change would be the addition of a UI extension to show and hide guides fields.
  • The plan is to allow a base product to ingest other models such as size guides, image feature sets etc so they can be shared across products.

AWS

Import workflow

  1. Query Hybris to get product data by base, variant or size
  2. The data needs to be processed by a lambda. Its job is to transform the data from hybris to content models. 2.1 Firstly it needs to assign or create a size to a variant. This is its own content model so it is reusable. 2.2 Secondly it needs to assign or create a colour. The beauty of this is we are able to translate colours across locales and reuse them across variants 2.3 Thirdly it needs to create a variant and assign the previous references to sizes and colours. 2.4 We would need to automatically assign mannequins to variants. In the instance where they have amplience urls we would not migrate them and alert merchanding that products cannot be published until mannequins are added. 2.5 Lastly we would create the base product data. 2.6 We would finally have to test all the data to make sure that we could import it into Contentful. Any failures need to be reported appropriately.
  3. Product data is migrated into contentful and notifications are sent back into EventBridge to be consumed later.