Can't create Catalog in commerce



I am new to episerver commerce, though hv some exp in epi cms 7/8

Trying to create new catalog under root and then a product as child. Catalog is  created but while creating new product under the catalog, I dnt see any save button anywhere in the screen. Similarly can't create bundle, or anything under the catalog. Dnt know what is missing. 


VS 2019 Community. Net 4.7 or 4.8

1: created and executed Mvc Alloy cms page and running - . Net 4.7

2: installed episerve.commerce 13 using nuget

3: ran update-epidatabase successfully

4: commerce cms opened in url

_------- can't figure out what stopping me creating profucts inside catalog. 

Please guide. 



Nov 16, 2021 12:36
Sanjay Kumar - Nov 16, 2021 13:27
What error you are getting in the browser console window can you share that?

You might need to add some strongly typed content types for catalog content.

Nov 16, 2021 13:32

After reading about the catalog structure from above links you can get help from to build your project

Nov 16, 2021 14:08

Thank you Quan, Scott and Sanjay... 

What I was doing is: I did not create any controller, model and view. I created a pure blank mvc epi cms site using vs Net and it's cms extension. It has no controller, pagetypes nothing. Visited epi commerce CMS, created a catalog, and was trying new product. 

  • Later came to know I dnt have any controller, model for product / catalog

I was thinking will create structure like I create folder structure in windows drive😄. Actually this is possible in some cms I worked earlier. Where cms is completely autonomous from server side code. And cms is access via API/JSON data. Now have created a SKU in CMS with controller, Will try also product as Quan mentioned need strongly data types. 

But I must say 'Epi commerce user guide' was reading, it seems does not mention first I need some controller to create product/bundle/sku

Edited, Nov 16, 2021 17:16
Scott Reed - Nov 16, 2021 17:20
The catalog is created in the CMS under the commerce configuration and is fully controllable to create a nested structure such as Catalog -> Categories -> Products -> Variants so you can control a "folder" structure as you put it. However you need to create the models first for each of these things for the platform to know what properties you want to store on each of these items as every commerce website can have quite different structures. Some commerce sites could be a t-shirt where you'll store properties related to size and colour as properties on the variant but some others might be electronics where you might be storing technical details instead. So you have to model out your content structure prior to being able to create your structure in the actual CMS
Scott Reed - Nov 16, 2021 17:22
All the content can be exposed as well via the Content Delivery API if you want to expose it to a system via API/JSON and can also be added/updated via the Service API however in more traditional sites content is just rendered in MVC but it depends on your requirements/needs
Soumen Dey - Nov 16, 2021 17:26
Agree, you have a point.. But unfortunately this I could not make reading some help Optimizer
Scott Reed - Nov 16, 2021 17:28
If your company can shell out doing the commerce training course is EXTREMELY helpful This is an online course that goes through the fundamentals of modelling and building a commerce solutions end to end

Hi Scott, 

Regarding the training seems good idea but being an Architect i will 1st try to learn myself. For new developer in the team I can think about. It seems I hv to live with EPiserver atleast for 5,6 months though not a fan of the product. (Sorry for that). 

Just was thinking, if I were the episerver original product developer at optimizely, I would hv created a default GenericContentTemple so people could start diretly in Cms with creating Category/Product and SKU without server side models n controllers. 

Then people still have chance to overwrite, extend the genericcclass. 

Seems going to hv some night study in coming months. ✌

Edited, Nov 17, 2021 18:15
Scott Reed - Nov 18, 2021 9:39
Well I don't work for Optimizely (what was Episerver). There are base classes nodes, products and variants but this product isn't designed to be a generic out of the box commerce solution like some of the OTS solutions. It's designed to be a flexible and developer friendly as possible, if you want out of the box features you can just copy the quicksilver or foundation reference sites that are built best practice for the community. If they added too much in to a generic class out of the box people would on the whole be frustrated due to the vast nature of implementation that they have to override where as this product is built on a clean design of only the fundamental requirements of a commerce platform (inventory, price, customer, purchase orders, promotions, tax, payment) and so on are built. Catalog modelling is so specific to every clients business model it would make sense to genericise it. But that's just my opinion from working with most of the .NET based commerce platforms. Personally I think Optimizely Commerce is the best developer centric commerce platform out there, it's easily the best .NET one.

Thank you Scott for your valuable suggestion, appreciate it. 

Since every saleble item/product can be fit into LineItems, and anything that is sold vlcan be Invoiced as they share common properties like: item, Qty, Price, Discount, Tax, Net - I was thinking a genericcontenttemolace class, anyway. Though there seems APIs available to access the Commerce objects (catalog and children) but we need strongly typed controllers to create the commerce structure- therefore EpiCommerce and ASP. NEt mvc is tightly bonded. Now I am thinking how to use it with non mvc product like Stencil Js

Nov 18, 2021 15:39
Scott Reed - Nov 18, 2021 15:50
All of the base classes have generic support for those features as well as a lot more. Variants support many features out of the box. The specific version of the items are just to support catalog modelling that's specific to business requirements. For example creating a t-shirt store you're creating a t-shirt product and t-shirt variants. The names of these types are specific to allow commerce editors to know what catalog items they are creating as there should be different product types and they will have different properties. All the core inventory, warehousing, image data, customer groups, pricing and such are all built in to the core base types and the cart, purchase order, tax, payment and such to support all this but usually catalogs are modelled. As Optimizely is modelled in code files rather than any backend modelling process unlike some others there's no way to do this without creating your code files. As far as controllers goes, the operational model of how your commerce build works is completely up to you. Optimizely is just a commerce platform not a commerce implementation so controllers, views are there to allow you to do whatever you like via the APIs that are provided. You can use Quicksilver or Foundation as an accelerator but implementation is down to the client/partner. As far as MVC being tightly bonded, it's not. ASP.NET rendering engine is completely pluggable so you can replace it for other templating if you so wish it just uses MVC out of the box as that's the standard ASP.NET approach, Optimizely themselves are looking at Fluid templating as well but nothing is tightly coupled as it's all pluggable via dependency injection.

Quicksilver rocks... . 

Installed and ran smooth with pay at home, ordererd a  👞

Nov 18, 2021 18:04
Scott Reed - Nov 18, 2021 18:06
Indeedy :-) Be aware that Foundation as superseeded Quicksilver as the go to reference implementation. So much so the new .NET 5 version (CMS 12 and Commerce 14) only has this now as they've dropped Alloy and Quicksilver. I would check out foundation as well
* 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.