Posts

SOLVED: Sitecore Habitat Home Sync-Unicorn fails with the error: GetResponse" with "0" argument(s): "The remote server returned an error: (403) Forbidden.

Image
When executing  .\build.ps1 or .\build.ps1 -Target "Post-Deploy" commands to deploy Habitat Home build, the PS script fails with the error message; "GetResponse" with "0" argument(s): "The remote server returned an error: (403) Forbidden."
========================================
Sync-Unicorn
========================================
Sync Unicorn items from url: https://sitecore93sc.dev.local//unicorn.aspx
Executing: &"C:/Code/HabitatHome/scripts/Unicorn/Sync.ps1" -secret 749CABBC85EAD20CE55E2C6066F1BE375D2115696C8A8B24DB6ED1FD60613086 -url https://sitecore93sc.dev.local//unicorn.aspx
Sync-Unicorn: Executing Sync...
An error occurred when executing task 'Sync-Unicorn'.
Error: One or more errors occurred.
        Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (403) Forbidden."
The key to solving the issue lies in the following lines of code in Unicorn.psm1:
# GET…

Achieve Data Privacy Compliance with Sitecore (GDPR, CCPA, CDPR)

Image
It started in April 2016 with EU's General Data Privacy Regulation (GDPR), then came China's Cybersecurity Law (CSL) in Nov 2016, also known as China Internet Security Law, then add China's Data Protection Regulation (CDPR) to that and now California's Consumer Production Law (CCPA) went into effect in January 2020.



With ever increasing data privacy regulations across the globe going into effect, we are seeing an increase in demand for compliance from large and small, private and public enterprises alike. Although achieving full data privacy compliance for each of the regulations may be a tall order, there is a silver lining here. All of the data privacy regulations seem to have evolved from GDPR and hence you see a lot of similarities across them The means that there is a common denominator to achieving some level of compliance across all the regulations and that is what I will attempt to cover in this post.

If you deployed a leading Digital Experience Platform (DXP)…

Sitecore Omni: Sitecore APIs Explained

Image
Whether you are looking to leverage the headless CMS capabilities of Sitecore XP or simply looking to federate content and presentation via Sitecore's APIs, Sitecore Omni has exactly what you are looking for.


Peeling the layers behind Sitecore Omni, here is everything you can get from Sitecore XP.


For the purpose of this post, I will focus on the API layer of Sitecore. Sitecore provides the following APIs:


Sitecore Services Client APISitecore GraphQL API Sitecore Layout Services API Sitecore Services Client APIUses ASP.NET Web API as foundation for a RESTful API.Provide ItemService (Sitecore content items) and EntityService (custom business objects).Allows execution of Sitecore Search. Pros Available OOTB in older and newer versions of Sitecore XP.Provides read-only access to content item as JSON OData. No server-side code needed.Provide RESTful API for CRUD operations on items and executing Sitecore Search queries.Supports authentication and authorization.No extra licensing cost.S…

Decision tree for selecting the best cloud hosting option (App service, VM, Containers, Serverless)

Image
While working on a project last year, we were looking at various options for our Microservices hosting strategy. My colleague came across this decision workflow from Microsoft for their Azure hosting service options and I thought of sharing it here.

This decision workflow can help in the following scenarios (and others):

Hosting options for new build vs migrationOverall cloud migration strategyWeb & API hosting optionsIaaS vs PaaS vs serverlessMicroservices deployment and scaling strategy Feel free to comment on ways in which this may have helped you.

Performance Monitoring, Testing & Optimization - Part 1

Image
Part 1 - Performance Monitoring When somebody raises the issue of performance my first question to them is, "show me the data".



Quite often I notice, there isn't sufficient data to support the perception. So my first suggestion is let's do some baselining.

Broadly speaking, performance of web based software solution can be split into two categories:
Server Side PerformanceClient Side Performance Performance testing requires the following components:
Performance KPIsPerformance monitoring toolsPerformance testing toolsTest environmentsLoad distribution modelTest scenariosReporting data In this article (Part 1) we will cover #1 & #2 as the first step towards setting up a holistic performance testing practice is to know what to measure and how to measure it. Performance KPIs Baselining performance requires monitoring a comprehensive set of client-side and server-side KPIs.
Server-side KPIsKPI Description Response Time Response Times for each transaction in seconds Hits …