Multi-catalog limitations

Vote:
 

Hi All,

I am currently investigating what kind of "product range per (multi)site approach" would be best. The business requirement is to have products restricted to one or more sites. So one product could belong to one site or it could belong to multiple sites. The product data is the same for all sites and so is the unique identification of the product which we store in the Code field.
Some sites use markets and some don't. Products are imported from a PIM system.

I think the main decision is whether or not to use multiple catalogs (one for each site). What I discovered so far:

  1. The "Code field" value for a catalog entry must be unique across catalogs.
  2. A catalog entry can belong to multiple catalogs.
  3. The "CatalogId field" in Find is a single value field, which (when a product is available in multiple catalogs) only contains the Id of the catalog in which the product was created.
  4. Markets are not mapped to catalogs, all markets are available in all catalogs.

So, this makes me conclude that:

  1. I cannot use the "CatalogId field" in Find to filter when a product is shared between catalogs (only one Id is available).
  2. I cannot create "duplicate" products (with the same Code) in multiple catalogs (Code must be unique across catalogs).

Ok, the real question: what are my options?

  1. Create a custom "CatalogIds field" which supports multiple values. Connect a catalog to a website.
  2. Use one catalog and only use market filter to make sure products are shown in the right place. Connect one or multiple markets to a website.

With the last one I have some concerns regarding the fact that only market exclusions are stored on catalog entries in Episerver. So when a new site is added with additional markets, all existing catalog entries will be available in these markets as well. I think I can make this work by using the (custom) link between a site and its markets.

Any ideas on this? All feedback/help is appriciated.

Regards,

Henk

#256388
Jun 10, 2021 10:24
Vote:
 

Totally unrelated to catalogs, but I have seen solutions where products have different prices and use price groups. The doc is available here: https://world.episerver.com/documentation/developer-guides/commerce/customers/Customer-groups/

You could restrict the products by price groups, for example you could use the following logic:

  • For website Website1, only display products/variants that have a price inside the Website1PG price group.
  • For website Website2, only display products/variants that have a price inside the Website2PG price group.
#256401
Jun 10, 2021 18:41
Vote:
 

First of all, good question. I appreciate that you did your "homework" and shared your thoughts/considerations. That's very good way to ask questions - keep it up!

Your 1) solution sounds like a good one, but you can use SiteIds instead, so use the site id directly instead of CatalogId. however this come with an issue like excludedmarkets - if you add a new site, you would have to figure out a way to update all products that should be available for that site.

Another approach is to have big category for each site, and if you want the product to be available to one site, you link it there. but that comes with the complications in case you have big/complex catalog structure (like where to link a product) 

#256446
Jun 11, 2021 9:20
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.