Design Suggestion

Chetan Sharma asked on August 20, 2015 16:36

Hello Experts,

I need some advice on our architecture. We are building a system using Kentico that will host our products. We have around 20K Products(Big & Small). We decided to build this Out of the box using Kentico after referring to various articles

http://devnet.kentico.com/articles/architecture-matters

Kentico Performance

During this discussion we relaised that we will have to build a complex contribution form.

These are several design challenges we have:- Our products has some "ingredients" & "Steps" and they vary in numbers.

  1. We thought of create an independent ingredients doc type. This we can create under a a specific product. Since we have around 20K products and considering 3 ingredients on an average will lead to 60K seprate nodes.

Pros:-

a. Ability to contributors to freely add and order "Steps" & "Ingredients" at will.

Cons:-

a. Will might implode the content tree size to 80K to 120K.

  1. Second Approach - to build a custom form. This will have custom form controls.

Thanks, Chetan

Recent Answers


Bryan Soltis answered on August 20, 2015 17:02

Hello Chetan,

Given that you will have a many-to-many relationship of ingredients to products, I would not recommend creating ingredients as a separate page type. This will drastically increase the size of your content tree, which has performance implications throughout the site (menus, searching, etc.).

Some possible alternatives (assuming you wanted to use Kentico out-of-the-box functionality)

  1. Use a custom table for your ingredients. Create a field on your product to assign ingredients. This will allow you to quickly add ingredients using the provided custom table UI, while limiting your content tree. Using a page type filed for the selection (uniselector) would be an easy way for people to add associate them with a product.

  2. Use categories. This solution would allow you to assign each ingredient as a category quickly to any product. The ingredients can be added using the categories ui. This solution also has the benefit of leveraging built-in category web parts for display other records.

There are other possibilities, but understanding more of the requirements would be required to know which one is best. Both of the above solutions would be easy to implement so you could determine their validity in meeting your needs. If they don't, I would recommend contact a Partner in your area for some expert guidance. Or possibly our Consulting team.

1 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.