Wednesday, 28 November 2018

Sunday, 1 July 2018

All you need to know in order to take your first Sitecore Experience Accelerator(SXA) Site live

1. Start of Journey 

While the temperature was on the upper node and I was enjoying my pseudo bachelorhood as my family went to India. I got a clue my next engagement would be to build, design, develop and deploy the very first Sitecore SXA implementation in the Gulf region. 

As I am the co-founder of Sitecore User Group Dubai  and we had already arranged the "Sitecore Experience Accelerator (SXA) for Sitecore Developers" Session from KERN HERSKIND I was familiar with SXA and Super excited at the same time.

So this is where my SXA journey Started.

2. Groundwork started 

I started my ground work with Sitecore SXA version 1.5; I have installed the same and started exploring the SXA Capability; Unfortunately apart from official Sitecore SXA documentation more or less all my google result was resulting similar kind of results talking all SXA buzzword and not much detailed information on an individual topic.

This is where I planned and started writing my SXA learning via my blog post and came with a couple of quick blog posts.

3. "Show Case" Helps a lot 

I wanted to explore the way we have Habitat for Helix we definitely must of some solid implementation which acts as a demo site and reveals the hidden gems of Sitecore SXA in real life implementation.

Many thanks for Adam Najmanowicz who has already done the "Showcase" the sample Sitecore SXA Site.

I have found a couple of initial hiccups; However, with Adam Najmanowicz   support I was able to get it up and running. A Detailed blog post is available @

4. "Resourcing was Challange"

While exploring the Market where I could not find a suitable candidate who has the potential to lead the overall Sitecore SXA engagement; Tried Offshore engagement however within few sprints we came to know until and unless and Sitecore Dev team and Front-End Dev Team are not co-located delivering the SXA implementation will be a nightmare. 

During this tough time one fine night, I got a call from one my previous team member eyeing an opportunity in Dubai and within a day it was a deal with Mr. Tahir Ali one of finest Sitecore lead I have worked with. 

We further Ramped up our and done all the Developers onboarding and crus is all of them are co-located.

5. "Zero Code Approach"

While installing "Showcase" I could not find any code base so from Day 1 I was very much clear and keen to build this enterprise level website using "Zero Code Apporch" and we followed the same we wrote very minimal code base.

5. "Over Kill of Page Content and Promo Component"

During our initial implementation, we observed that we just need only page content and promo component and by creating its rendering variant we can develop any markup and get the desired functionality. 

But we reliased this soon and we learned our lessons. 

6. "SXA 1.6 came as relief"

We were almost half on our milestone when Sitecore SXA 1.6 was launched. You can create customized versions of existing SXA components and it has a number of other advantages as compared to 1.5 so we have migrated to SXA version 1.6  More Details can be found here.

Always keep a milestone in your SXA project to migrate to latest version.

7. "Adam Supports are appreciated "

During this entire engagement, we were in constant connect with Adam Najmanowicz  who has done review and lead and monitored this engagement. 

His support is really appreciated and many thanks to him.

8. "IAAS vs PAAS "

The initial requirement was to deploy the solution on IAAS however at the time of delivery business wanted to explore the PAAS option. I will say apart form config tweak from Solr to Azure search this migration went smooth. 

Now the journey has a break to get charged and and as the foundation is already done we will be rolliong out many more SXA sites in upcoming months .

Many Thanks 

Happy Sitecore SXA Journey.

Wednesday, 16 May 2018

Takeaway notes from Azure session on Azure SQL databases

How many SQL instances get created based on your Azure subscription? 

Below is the Component which gets created as per your PAAS Subscription.

For E.g I have created the XP0 single instance and we got the below instance. I have masked the data as usual.

How can I allow my IP or IP ranges in order to connect to Azure sql Database?

Choose your sql database and goto  Firewalls and virtual networks and add your IP ranges as shown below.

How can I change the Resource Configuration & Pricing for given Database?

By Default, as highlighted above all the databases are created as "Standard" Option by means of resource Configuration & Pricing.

Choosing a service tier depends primarily on business continuity, storage, and performance requirements.

considering the retention period, we choose basic for CORE database while resting on a standard 

What you mean by DTU?

DTU Stands for Database Throughput Unit (DTU) and it represents a blended measure of CPU, memory, reads, and writes

In the DTU-based purchasing model, customers can choose between Basic, Standard, and Premium service tiers for both single databases and elastic pools.

What you mean by Elastic pool ?

SQL Database elastic pools are a simple, cost-effective solution for managing and scaling multiple databases that have varying and unpredictable usage demands. The databases in an elastic pool are on a single Azure SQL Database server and share a set number of resources at a set price

  • Its cost-effective model
  • No need of over provision
  • No need to worry about individual performance.
  • Individual databases can be configured

Keep Analytics database separate and rest of the database in one elastic pool.

The steps are very simple:
-Create 1 Azure Sql Server
-Create 4 Azure Sql Databases (and import associated Sitecore databases).

-Create 1 Azure Sql Elastic Pool
-Add to pool the 4 Azure Sql Databases

Monday, 14 May 2018

Takeaway notes from Azure session on Deployment Slots

Q: What is Deployment slot?

Image result for Deployment slots

A deployment slot is an additional Azure App Service Web App instance (W3WP) which is ~bound to your production Azure App Service Web App of the same name and runs on the same App Service Plan.

Deployment slots are also known as staged deployment.

A deployment slot will carry the name of the Azure Web App + the name of the slot.
For e.g  If my Azure Web App is called mysite and I create a slot called staging then its url will be

By default, each Azure Web App has a single deployment slot called production which is the Azure Web App itself.

Please note slot is in itself a regular Azure Web App.

Q: Why Deployment slot?

  1. The development slot helps you to test your code prior to the release of the live Web App.
  2. with just a click the new version is live as deployment slot is swapped with the production
  3. Staged Deployment
  4. Autoswap
  5. A/B testing can be executed using different slots

Q: How many deployment slots?

By default, each Azure Web App has a single deployment slot called production which is the Azure Web App itself.

You can add more than one slot as per your business needs.

Q:  How the configuration works between slots.

By default, App Settings and database connection strings are NOT sticky to the slot and will follow the Web App when the test slot is swapped with the production slot.

We need to make the setting sticky to slots so it does not get swapped.

Image result for Deployment slots

Monday, 8 January 2018

Change the Data to "Data to Local Page" for Sitecore SXA Component

By Default when we try to add a data source for given Sitecore SXA Component It opens the "Sitecore.Shell.Applications.Dialogs.SelectRenderingDatasource" dialog as shown below.

Content Authors team request to if we can change the "Data" which create the local data under the context item to "Local data source" for their own ease.

This can be done with just updating the display name of  "Virtual Page Data" item at given path as shown below

/sitecore/system/Settings/Foundation/Experience Accelerator/Local Datasources/Virtual Page Data/__Standard Values

It works as shown below.