ICYMI Sitecore JSS v15 dropped recently, the second release to support Sitecore 10. Reading the release notes there is a clear focus on performance and a whole bunch of improvements to the SDK and sample apps. Given I’ve been playing a lot lately with the Node SSR proxy, there were a few changes that piqued my interest.
Read More »Author: George (@gwdt)
JSS Node Proxy and CSPs
Lately I’ve been digging into JSS delivery topologies and in particular SSR proxy options. As a starting point, I’ve been using the sample node headless proxy from the Sitecore JSS Github repo. In my dev scenario I was hitting a local Standalone Sitecore instance in Docker, and immediately noticed the images being referenced from Sitecore were getting blocked by the Content Security Policy (CSP). This is due to the CSP being set on all requests to the CM via a web.config setting, and then it being repeated back to the browser via the node proxy.

JSS headless SSR proxy “unable to verify the first certificate”
When developing a new JSS solution I was looking to have a play locally in headless mode. Unfortunately I hit an issue after standing up a newly minted Sitecore 10 SXA/JSS instance in docker and using it as the apiHost running the node-headless-ssr-proxy sample app locally. After setting up the appropriate values for the proxy and ensuring the react app was in place, I was getting the following error for all SSR layout service requests.
[HPM] Proxy created: / -> https://xp0cm.localhost
server listening on port 3001!
FetchError: request to https://xp0cm.localhost/sitecore/api/jss/dictionary/jss-sandbox/en?sc_apikey=%7BXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX%7D failed, reason: unable to verify the first certificate
at ClientRequest.<anonymous> (C:\repos\sandbox\node-proxy\node_modules\node-fetch\lib\index.js:1444:11)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
type: 'system',
errno: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
}

Multiroot treelist serialization in JSS and SXA
The Multiroot treelist field type has featured in SXA for a while now, but unfortunately doesn’t serialize as expected in the JSS Layout Service. As the name suggests, it presents as a Treelist and allows developers to select multiple root nodes via queries in the source of the field definition.
Read More »EXM dispatch testing and tuning
EXM comes Out Of the box with Sitecore 9+. That’s great, but how many emails can it send? How do you scale it to meet business requirements? These are questions that need to be answered well ahead of rolling out your new email marketing campaigns as there may be some architectural or infrastructure changes required.
EXM on Sitecore 9.0.x
Sitecore 9+ ships with EXM, a powerful Email Marketing tool that can put XDB data to work.

Symposium 2019 – What to look forward to
Sitecore Symposium 2019 is coming up at the Swan and Dolphin* Resort in Orlando, FL. I live on the other side of the world from Orlando. Almost literally. It’ll take me just short of 24 hours flight time to get there. Add in transit and the inevitable delays, it’s over 30+ hours door to door…..each way. I’ll also be leaving a young family and (very understanding) wife at home. This bit, in particular I am not looking forward to.
But it’s worth it.Read More »

SUGCON ANZ 2019 – The Experience
The first SUGCON ANZ is in the books, and what a ride it was.
SUGCON (Sitecore User Group Conference) is a community driven conference that has run successfully in Europe (for many years) and India in more recent times. This year saw the inaugural SUGCON ANZ. A one and a half day conference in Sydney covering multiple technical and marketing tracks on all things Sitecore.Read More »

SUGCON ANZ 2019 – The sessions
The inaugural SUGCON ANZ was held in August 2019. Below are links to videos, agenda etc of the sessions. For more detail, check out this post on my experience and some of the highlights.Read More »
EXM scheduling of A/B Test in non-UTC timezone
A/B Testing in EXM is a great way to learn from and optimise email campaigns to improve engagement results. However I came across an an edge case that had some unintended consequences (at least in Sitecore 9.0 Update 1, perhaps in later releases?).