I am new to sitecore and after watching the helix related videos and commerce videos and reading the documentation, I understand that foundation layer needs to be most stable layer and code in it must not change. Since, I haven't implemented any solutions in sitecore commerce yet, I'm looking for some advice here.

When I look at the helix implementation of sitecore commerce in sitecore.demo.retail solution, a lot of code in Sitecore.Foundation.Commerce projects seems like it would change with changes in user requirements, specially in the managers solution folder. To me, it seems like the idea of this project is the integration with commerce connect.

Does anyone know the reason behind having this project in foundation layer? If I build my own solution with only commerce connect code in this layer and all the managers in their respective features, would it adversely affect my solution in the long run?


The layer where you add the project it really depends what it contains Sitecore.X.Commerce project.

For example if you have extensions to get product information, or other things from commerce it should be on Foundation.

If it contains the commerce engine it should be added on Project layer because he will have references to some feature projects.

I suggest you to look into Habitat Home Project how it was implemented,it was released few weeks ago: https://github.com/Sitecore/Sitecore.HabitatHome.Commerce/tree/develop/src/Project/HabitatHome

Your Answer

