Take business requirements and identify the suitable Kentico Xperience features and functionalities.
If you find that there is no suitable Kentico feature that meets your needs, or you determine that extending Kentico is not a viable option, do the following:
Once you narrow it down to a feature you think is suitable for your purpose, it is a good idea to evaluate it more thoroughly through a proof of concept. Doing a proof of concept validates whether or not all the functional requirements can be achieved.
If you find that the selected feature meets most but not all of your functional requirements, consider whether you can extend the feature to meet all requirements.
If you find that you need to extend Kentico to meet some functional requirement, you need to do three things:
Selecting the right Kentico functionality for any given requirement requires you to be familiar with what Kentico offers. As with anything, you will become more familiar with Kentico functionality and how to use it over time, but where should you start? Thankfully, there are many resources available to you. We recommend starting with the below:
A client wants to specify different product prices for different markets (e.g., different geographic regions). The partner developing the site knew from their training and the documentation that the built-in shopping cart price calculation process does not natively support this. Therefore, they knew that they needed to either extend the system or consider another solution.
After doing some research, the partner found in the customizing product prices documentation that they could implement their own product pricing service to change the pricing logic. They even found that the documentation had an example of using an external pricing service which gave them a good starting point.
As the customization is minimal, fulfills our requirements, and is extensible for new markets in the future, this approach was selected over building something completely from scratch.
A client needs to update the product stock and price information in Kentico from an external system that offers a web service for this data. The partner knew that there is no direct support in Kentico to handle this integration without writing code. The customization option they found most suitable was the scheduled task feature in Kentico.
They built a custom scheduled task that called the external system's web service to get data, and used the Kentico API to update the products in Kentico. By using the Kentico API, they knew that the system would ensure that the built-in features, like staging and web farms, would work properly.
The external system provided a way to request only changes since a certain date and time, so the partner used this to request only products which were modified after the last successful product import. This ensured that the solution was scale-able when the number of products grew.