Sitecore tips and tricks and community news !

Post Top Ad

Post Top Ad

Showing posts with label issue. Show all posts
Showing posts with label issue. Show all posts
7:30 PM

Big e-shop xCommerce architecture recomendation


In current days we are using e-commerce very often, even more then year before. What are our experiences with them? How many products they offer for us, how much properties those products have?

Usually that would be  clothes with some sizes, colors. But what if those products will be many and each will have more than 100 properties? How we should to build xCommerce architecture to deliver proper product and fulfill client expectations?


1. Context

Imagine that you have to deliver e-commerce solution based on xCommerce for client which:

  • Has multi-site solution (32 sites)
  • Has global market solution (32 markets)
  • Has around 45 000 products per each market
  • Each product has over 100 properties (parameters)
  • Solution has 24 languages

How we should to bit this topic, what is crucial in xCommerce approaching here? 

Answer is catalogs and indexing part.

I will skip here topic Azure or Solr, we decided to use SOLR.

But in terms of catalog and indexing. We should to ask what is the the main risk here?

Answer is amount of the data that we can unexpected create (or let xCommerce to create) and later push SOLR to index it. Here fun fact - indexing then can take e.g. 40 days :]


2. Issue

Why?

Firstly what is the default xCommerce shop creation approach?

To create each site with own catalog. In this scenario let's calculate

Well let's calculate:

45 000 products * 32 markets (catalogs) * 23 languages = (*o*) this is the numcber of entries which we will have in xCommerce and later they will be indexed (or tried to index at least) by SOLR.


3. Solution

So what we should do ? Is there any way to mitigate this issue?

Yes, we have to decide to change the default approach and use only 1 shared catalog for each site. It's possible. To obtain the results you only have to remember to:

  1. Assign catalog to main commerce catalogs node



  2. Do not assign any catalog to node under specific site catalog node


  3. Link you Commerce catalog setting in each site Settings node to shared catalog in main commerce catalog node (point 1)


  4. Change you custom queries to SOLR to check your sort of MarketId to filter proper products

Enjoy !

12:26 PM

Sitecore Azure ARM PaaS on ASE - Redis

Azure ARM deployment is a very good way to setup our environments in PaaS architecture. Moreover, it allows to customize many things, depends on our project (client) needs.

But sometimes simple things can be complicated, especially when you customizations have some influence on deployment process.

In this post I will share with you with Redis troubleshooting which I did during setuping Sessions on Azure. Especially because of Azure ASE which has an influance on this setup. Some default things don't work out of the box, what can be irritating.


During ARM deployment you can see error like this:



Let's take a look a few potential issues:

We will start with something general (not related to Azure ASE)
  1. Check setting InProc and OutProc of you private and shared sessions in configs (according to docs):
    1. For Private session go to your site root folder, open the web.config file, and locate the sesssionState section:
      <sessionState mode="Inproc" cookieless="false" timeout="20"
    2.  For shared session:
      1.  go to your website root folder, navigate to the App_Config\Sitecore\Marketing.Tracking folder.
      2. Open the Sitecore.Analytics.Tracking.Config file.
      3. Locate the line where you can define the default shared session state provider using the following path: sitecore/tracking/sharedSessionState.
         
  • TIP: Check if the relation between configuration is correct because could be wrong (I had e.g. private session set as out of proc, but shared session was InProc by default). Available combinations let's check here:
  •  
    2. ASE resolving URL
     ASE often can be cut off from external access, what means when Sitecore will try to reach default Redis URL it will not achieve it. Because of that you have to change it to IP in connection string. But...to get Ip of Redis, you have to upgrade it from Standard to Premium level
     

    3. ASE network influence:  
    By default during ARM deployment Sitecore puts every service in default place in your resource group. You have to take care of network and IP ranges which will have it, because being in the same RG doesn't mean it will be in the same network. It may cause to migrate later Redis to different subnet etc.
     4. SSL certificate and ASE
    You can have an issue with connection because of SSL certificate, when it will be self-signed. By default, Sitecore recommend to make it through SSL, but we have to think what in our situation when we use ASE? Well, it's isolated environment and if Redis and CD services communicate in ASE scope SSL is not so important maybe. I leave this decision to you.
     
    I hope it will help for somebody, because I have spent plenty of time on that topic :)
     Cheers!
4:34 PM

Sitecore 9 - New is coming, so don't trust yourself (Installation tip)


It was going so fast, only Sitecore Symposium has been finished, I was installing new Sitecore 9 on my local machine. 


I have mainly everything on my computer, I believed, because of previous projects in Sitecore, so installation will be faster. I've skip all backgrounds tool like .Net Framework or Solr and I've focused on SIF installation. 

I went through each installation step and run script, it's alive I thought ! Everything was ok until step 27 which showed mi something like this:



Wow ! Something with windows service ? I've started to figure out what could block my windows service. Windows event logger looked like:


So something with my windows, which couldn't open new xconnect service. I've read a lot, talked with DevOps to find out some windows solution and then I've noticed that new Sitecore 9 needs solr on SSL setup :) !

My routine was my biggest opponent at that moment. I moved back to previous step installations and released SSL ports, installed solr on SSL and whole Sitecore work perfectly. At this moment I would like to warn you - don't trust yourself :)

In connection to Solr on SSL I will not repeat my friends work and just link to their posts:

Lukasz Skowronski post

Kamsar post

Enjoy new Sitecore 9 !