• CDP Series

    After acquiring Boxever Sitecore has really built the product into its Platform to Offer a Powerful and Unified experience for customers to take advantage of Customer interactions on omni-channel.

    It is actually designed to propel the experience of configuring and deploying various aspects of Digital Marketing like decisioning, predictive analytics, experimentation and orchestration. Using very intuitive toolset for Developer Experience.

    After attending the Deep Dive provided by Sitecore, I have gained a lot of insight about the product. And with the experience of using the Product I am very excited to share this with all of you.

    Overview

    I will be touching on the Theory a little bit and cover some configurations with examples scenario in this series. I think it will be good to break them down to smaller chunks, following will be the topic breakdown

    1. Introduction to CDP
    2. What are the differences between CDP and Sitecore CDP and Sitecore Personalize?
    3. Understanding Sitecore CDP Data Model
    4. How is Identity Resolution, How is it done in Sitecore CDP?
    5. AB Testing & Personalization
    6. Performance Measurement & Segmentation
    7. Analytics & Beyond

    I will be adding the topics and notifying you too, but stay tuned for the Video series.

    Happy to share my thoughts and Learnings in Sitecore CDP, I will be presenting a series of Youtube Videos on my Brand New Youtube Channel.

  • Sitecore Docker Compose Up

    Sitecore Docker Compose Up

    I was trying to get few of my experiments on Sitecore this afternoon, and spent a lot of time getting the Sitecore Docker Instance running on the lowest of Memories on an Oracle Virtual Box, Windows 10 VM, yes with 16GB RAM. This has been pending since I always got into issues running this. I thought may be it is Mac, or may be it is the 16GB or something else. And kept this project pending. So much for waiting. I thought this has to happen today. So I solved this issue. Hope this will be helpful to few of you.

    The bare necessities to run Sitecore is the “License”, we cannot avoid that part. I always thought this was set (configured) properly. Found out that was not the case. I was under the impression that the content of the file when passed to the “compose-init.ps1” and it will run as expected when we pass in the file plain. Like below

    .\compose-init.ps1 -LicenseXmlPath "C:\License\license.xml"

    The Problem

    This command execution just worked find, but when I started the instance “docker-compose up -d” will not work.

    Yes, I did all the following

    iisreset /stop
    docker-compose stop
    docker-compose down
    docker-compose up -d

    But the situation continued, traefik fails, so did a deep dive on to the logs to see what did happen. Try the right-click on the running docker instance in question like below, since Visual Studio Code makes it convenient

    Visual Studio Code with Docker Extensions (very hand)

    Learnt that the exceptions were thrown related with License, this was easy to fix. So made sure the files are in place, opened the file to view the content and everything was fine.

    Run the “docker-compose up -d” again, nope. Same result.

    Solution

    This is how it is done and it worked for me

    Set-DockerComposeEnvFileVariable "SITECORE_LICENSE" -Value (ConvertTo-CompressedBase64String -Path "C:\License\license.xml")

    Read the Sitecore Link for more details. But I noticed that the “.env” file never got updated, however this worked for me. And no more traefik issues. Instances are running the successfully.

    Happy Coding, Sitecore on Docker is the fun and all of us need to have this handy for any tests and development ofcourse.

    Success on PowerShell

    Visual Studio Code Extension for Docker is the best. I have been using this long enough and I recommend you all to use too.

    All Green, but I am yet to find the solution for those small red squares

    References

    1. Sitecore Docker Tools
  • Sitecore 10 Developer Certification

    Sitecore 10 Developer Certification

    This Certification has been a standard requirement for all of us who are active in Sitecore.

    I would like to share few important insights about the Certification and what is important that you need to prepare.

    First and foremost thing is to have enough practice on the product, then you need to read the latest developments.

    Sitecore has been improving the platform its integrations with the parallel technologies and keep it powerful on every iterations. so each one of us should strive to keep updating their technical skills

    What is covered in this certification is very clear, you can read them in the learning requirements for the Certification, at learning.sitecore.com.

    Make a note of the competencies requires listed and explained in the study guide section.

    There are few things which I am listing below to take keen note on

    1. Sitecore has introduced and delivered a great developer tool Sitecore CLI so remember what are the advantages of using it one part, but what if you are trying to do a task and that is not working as expected and how will you fix it. Yes the plugin.
    2. Sitecore has a come a long way in helping deployment of content from environment to environment, however to the developer workflow one cannot forget the best part of serialization, so Content Serialization is a better needed tool for us developers. Pay attention to what are the important configuration files, what if you do not do some important steps and the expected items did not end up in the right environment.
      • How the modules and its dependencies work together
      • which files (configuration) needs to be done right
      • where is the setting for dependencies
      • how do the rules work
    3. During the first steps all of us will do an installation, we would not work without it. With SIF there were great learnings, however the cool GUI Installation tool always had those challenges, so remember those errors which can cause the situation. Don’t drop your learnings what happens if you don’t configure Solr right and still get your self ahead, this tool is going to stop you, right! read the error properly and you will understand the reasons well.
    4. SXA all of us would expect that this will be the topic, I agree people said there is NO SXA in the exam. It is non-sxa. in order to answer questions which starts with “in a non-sxa site”… you need to know what is done in SXA and non-SXA too. The answers will help you to remove two obvious non related answers then the rest will guide you to answer. Don’t get trapped in loops just your experience is the answer.
    5. “Back” button is your friend, one question which will confuse you or challenges your memory will connect and click in the next question. So get back and fix it.
    6. The basics of Placeholders and Placeholder Settings are no exceptions,
      • what happens if you don’t have the settings right
      • why would both the components content is visible while you place them on a layout
      • importance of dynamic placeholders
    7. Another basics is Rendering parameters, they will always be your friend so, what would you recommend to get this situation corrected when you a developer repeats sitting in the same project but in different rooms (silos), yes best practices angle is the right stuff for all your questions.
    8. Docker has been our friend since many years, this is mainstream for non-developers too. The basics of environment files and their significance is very cool foundation items. Don’t miss them these are easy common items
    9. If you wear your Best Practices hat, you will be looking at serious flaws in design and approach, why would this template inherit from that one vs why would you keep the fields organized when defining the order. These are basics often goes without saying.
    10. Read the study guide you will get few practice questions, this will provide an idea of how the questions are framed. They will be showing you the answer in plain sight and try to mislead you at the same time.

    Practice more and be confident, this will help you to get the high scores.

    References

    1. All details from booking the exam to planning is well documented in Bala’s Sitecore 10 Certification tips and Tricks
  • Sitecore CDP & Identity Resolution

    Sitecore CDP & Identity Resolution

    Sitecore CDP powers the developers, marketers to take control on the data available. But what are the key pointers to keep in mind to resolve the customers who visit us from different channels.

    Scenario: Visitor uses a mobile phone and visits your site and browses over some products and shows some interest, looks around and jumps out. The browser on the phone is stopped.

    Resolution: No action, a lot of data related with visitor interaction is collected, but nothing conclusive. Once the visitor jumps out (kills the browser) session ends, the data could be used for other analytical purpose may be.

    Scenario: Visitor shows interest in a session and provides email address to subscribe for a newsletter.

    Resolution: If the Organization setup has the email as a filed to be used for Identity Resolution then the CDP logic behind will create a Customer

    Setup Choices

    When you setup your Organization in CDP you determine which files should be used for the Identity Resolution purposes, and those are the only fields used to match Visitors from different sources of data and merge

    • Example: An Email Address or a Loyalty number can be a good candidate too. Sometimes First Name and Last Name…
    • Sensitive data is not stored in CDP
    • CDP will be using the field as set to Merge Profiles, if there are more than one but only the “Exact Match” method is used not Probabilistic matching
    • Hierarchical fields can be configured too, this provides more powerful Identity Resolutions
    • CDP assigns an ID to every visitor session
      • CDP looks for a matching key resolution field to merge multiple sessions data
      • Batch imported data will also trigger an Identity Resolution activity
      • First Party Cookie are set and a Browser ID is assigned by CDP

    Conclusion

    With great power, comes great Identity Resolution

  • Sitecore 10.2 Deploy on Azure using SAT 2.7

    In this blog I want to explain the path I have taken, (agreed the latest and greatest in terms of SiteCore version) should not be used for Production purposes for all good reasons. However trying the latest in releases gives the kicks of being on on the Edge.

    So I will be using SAT 2.7 and Sitecore 10.2.0 for this discussion.

    Referring to topologies, as we all know Sitecore supports a range of Topologies from XP0, XM, XMSingle, read here for more.

    Certificates are very important entities, a great care to be taken while creating/generating them. The major lessons learnt during this process of deploying an Sitecore 10.2 XM0 is amazing.

    Lessons learnt (common mistakes)

    • Syntax: there has to be ” double quotes before and after when we define/set a attribute in JSON, commas “,” wherever necessary
      $CertificateFile = ASDFE$T$%EADACDRERCC.pfx
      $CertificateFile = “ASDFESDF#$#EACDED_)#(.pfx”
    • Having few files in the local where you are executing the powershell command and the rest in Azure Blob Storage is not advised. Use the Azure Storage Account Container for your files and get the SAS token/URL and use them for the Parameters
    • DeploymentID names should be unique
    • DeploymentID in the Parameter for Start-SitecoreAzureDeployment -Name
      is different from the "params":{ "deploymentId":{"value":"someid"},
    • RAW version

    There are few important steps one have to follow to make this a breeze. Sitecore has provided a complete Walkthrough and the prerequisites so I was in the thick of it to completely understand and share my experience in the process.

    However when you are trying the latest and greatest there are chances you can get to the end and still not complete. That is where I am at. Though I maintain to do the right thing as follows this is not working

    • Different names for DeploymentId and “deploymentId”
    • Have all the SCWDP uploaded to Azure Storage account and get the SAS URL (have these URLs to last longer)
    • Have full permissions on the Azure Subscription

  • Boxever

    Boxever was acquired by Sitecore recently, and this is going to complement the Developers and the Marketers leap to the next level and configure/compose and publish/manage the content in a very interactive and entertaining way.

    I have tried to get to a point where I can say I am more comfortable using and actually putting the knowledge to best use. So the https://learning.sitecore.com/ was my always goto place and got the completion certification. I think there is great sense of accomplishment here

  • Sitecore Helix Workshop

    I love Sitecore, earlier last year I have been working on a project and found that the architectural patterns adopted are very perfect for Maintainability and many details of Sitecore Architecture was clearly reflected in the articles, so did this Workshop and learned a lot.

    the more I learn, I learn more how ignorant I am

    some quote from a C++ book