MVP Profile
Erica Stockwell-Alpert
United States
MVP 2026
Technology
MVP 2024
Technology
MVP 2023
Technology
MVP 2022
Technology
MVP 2021
Technology
MVP 2020
Technology
MVP 2019
Technology
I'm a Mentor
I am a friendly and easy to work with mentor who can advise mentees on how to become MVP, give them ideas for ways to contribute, and keep them on track to make sure they are thinking about their MVP contributions throughout the entire year.
Timeline
How SitecoreAI Reimagines SaaS Customization Through Next.js Apps and the App Studio
A major theme of Sitecore Symposium this year was customizability. Customizability has always been what has set Sitecore apart in the industry. The ability to make our sites do anything is why clients use Sitecore instead of Wordpress. However, that customizability also became what held Sitecore back technologically; what made it customizable (running a CM server on-prem or PaaS) also made it resource-heavy, difficult to debug when developers made customizations that broke Sitecore’s functionali...
Sitecore XM CloudMarketplace Public App: Content Export/Import Tool
I completed a public app for the Sitecore Marketplace that was one of the first six apps available when the Marketplace launched. The Content Export/Import Tool makes exporting data from Sitecore easy for non-technical Sitecore users, with a friendly user interface and no need to write code or Powershell scripts. Users can generate reports of Sitecore data to easily review large amounts of content, save time for content authors by updating or creating hundreds of items with a single CSV file, an...
Sitecore XM Cloud2025
4/Nov
Sitecore Symposium: Migrating an XM/XP Module to XM Cloud Marketplace
I presented at Sitecore Symposium on the creating Marketplace apps and reproducing functionality of native modules with the Marketplace SDK and GraphQL.
Summary: You're ready to move to XM Cloud, but your Sitecore module is not XM Cloud compatible. Converting your native .Net module to an external Node module may seem daunting, but it's easier than you think. In this session, I will explain how to replicate your favorite functions of .NET Sitecore Item API with GraphQL and webhooks, how to s...
Sitecore XM CloudHow to get the most out of the Content Export/Import Tool
If you haven’t used the Content Export/Import Tool, you might not be sure what you would use it for. Here are some use cases that work with both the original Content Export Tool, and the new CEI Marketplace App for XM Cloud (coming soon)
2025
25/Jul
Marketplace Early Access Program
I was granted early access to Marketplace to develop my Content Export Tool module. I worked with Sitecore to develop my module and provided feedback on the documentation and development process. I identified a few limitations of the Marketplace sandbox iframe, as well as a bug with retrieving the application context for XM Cloud extension points which I reported to Sitecore. I completed my app, which will be available once the public Marketplace is launched.
Sitecore XMBuilding out a Sitecore Content Tree With GraphQL
In this blog post I explain the logic and provide code examples for how I built out a Sitecore Content Tree in an external application using GraphQL. The challenge was in figuring out how to get the data with both an Edge endpoint and a Sitecore Authoring endpoint; and how to load the nodes of the tree incrementally on user interaction.
Sitecore XM CloudContent Export for XM Cloud: Template Export and Import
In this post I detail the recent additions to the Content Export Tool for XM Cloud: exporting and importing templates with the authoring API. This post provides an overview of the logic for how to export templates with the authoring API as well as a simple tutorial on how to use the module.
Sitecore XM CloudSUG: Unlocking Sitecore: Innovations in Rendering, Content Hub, and xDB
5:30-6:20 Welcome - Food & Drinks
6:20-6:50 "Cascading Renderings in Dynamic Placeholders" (Erica Stockwell-Alpert)
6:50-7:00 Intermission
7:00-7:30 "Extending Content Hub with Azure Functions" (Dan Solovay)
7:30-8:00 "Mining the xDB: A pipeline for high-powered insights" (Mark Stiles)
Presented at Velir's Sitecore User Group on my dynamic placeholder cascading solution from my previous blog posts.
Sitecore XPContent Export Tool for XM Cloud
If you’ve been waiting for the Content Export Tool to be available for your XM Cloud Sitecore instance, your wait is over! The new version of the Content Export (and Import) tool is now available with two ways to use it. The easy way is to go to https://content-export-tool-for-xm-cloud.vercel.app/. The other option is to download it from Github and run it locally (if you want to try modifying or debugging it or just see how it works). Continue reading for instructions on how to set up and use th...
Sitecore XM CloudUsing the GraphQL Authoring API in a NextJS application: CORS issues and client vs server side
In my previous posts, I have written about using the GraphQL Item and Authoring APIs from an external application to replace native CM customizations. For a while now I’ve known that native customization to CM is discouraged and will eventually be impossible, and the new approach is to make a custom application that uses the GraphQL APIs. Last week I participated in Sitecore Hackathon with Dan Solovay and Dylan Young, and with their help I made huge progress in figuring out how exactly to make s...
Setting up the GraphQL Authoring API: Obtaining an Authorization Token through an MVC Controller in a Custom Applicaton
In the process of creating a .Net application to make mutation queries to the GraphQL authoring API, figuring out how to get the necessary authentication token was the most challenging part. In this post I compiled the guides that I used and documented the missing links that I needed to get it working.
Sitecore XM CloudUnable to get auth token from Sitecore identity server, "invalid client"
I was following the documentation to get an auth token for the GraphQL authoring API but no matter what I tried, I got a bad request with response "invalid client". I shared the answer that I eventually found: updating the AllowedScopes on the client node in Siteocore.IdentityServer.Host.xml
Sitecore XM CloudTransitioning from the Sitecore Item API to the GraphQL API
My earlier post "Retrieving Sitecore content from an external application using the GraphQL API" went into the basics of making a simple GraphQL query from a .Net application, including getting the API key, making the web request, and deserializing. In this post, I go into greater detail on how to specifically replicate the same functionality that was easily available in the Sitecore Item API, such as getting all descendants of an item and reading all fields on an item.
Sitecore XM CloudRetrieving Sitecore content from an external application using the GraphQL API
In my previous post, I went into detail about why native CM customization is now discouraged and that the recommended approach for customization is to use webhooks and the GraphQL API in an external application. In this post, I go into greater detail on how to do that - starting with how to retrieve and read Sitecore content in an external .Net application
Sitecore XM CloudSetting up the Sitecore GraphQL API and playground in XP
There’s a lot of documentation on how to get the GraphQL API endpoints set up- perhaps too much documentation. Finding the right documentation is tricky due to the fact that the same articles exist for XMC, XP, and Commerce but the steps are different, and in some cases the documentation makes assumptions that you already have certain things installed that may not be obvious if you’re doing this for the first time. Here is a guide where I have compiled all of the relevant documentation that I ne...
Sitecore XPSitecore GraphQL API and playground return 404
I tried to set up the GraphQL playground in my 10.4 instance but the path returned a 404. Answer: You will need to install Sitecore Headless Rendering Engine inside the Sitecore in order to enable endpoints for authoring and management operation.
GraphQL mutations - The specified root type `Mutation` does not exist
I was trying to test basic mutation queries in the GraphQL playground, but got the error "The specified root type Mutation does not exist". I shared the answer that mutation queries are not possible in Edge; you have to enable and use the CM authoring endpoint.
Installing custom module packages in XM Cloud – why you can’t and what to do instead
If you’ve been on Sitecore for a long time and previously used XP, you may be used to installing custom modules via the package installation wizard (like the Content Export Tool). Now you’re on XM Cloud, and you tried to install the Content Export Tool package. And it worked! But a few months later a new version of the tool is released with a new feature, but when you try to install it, the installation fails with a permissions error; you’re not allowed to overwrite the file.
Why can’t you ov...
Sitecore XM CloudSmart publish is publishing too many items (Sitecore 10)
The publishing actions are picking up way too many items; publishing even a single item without Subitems or Related Items checked is processing over a thousand items, and publishing a single item with Related Items publishes over 10k items. Authors are regularly publishing folders with Subitems and Related items, and the publishes are processing over 20k items which causes the publishes to queue for hours.
This is due to the default DeepScanRelatedItems setting in Sitecore 10. This setting m...
Sitecore XPSitecore Experience Editor fails to open with error 'Connection to your rendering host failed with a Request Entity Too Large error.'
In our headless 10.2 site, pages that have a lot of content fail to load in Experience Editor, with the error Connection to your rendering host failed with a Request Entity Too Large error. Ensure the POST endpoint at URL https://mysite/api/editing/render has been enabled.
I thought the issue was with Vercel's data limits - payload size is limited by Vercel to 4.5mb - but it's actually a setting in the source code limiting the payload size to only 2mb that breaks EE.
Cascading renderings in dynamic placeholders
Cascaded renderings is a common and simple customization to Sitecore, but not generally compatible with dynamic placeholders, since dynamic placeholders all have a unique placeholder key and cascaded renderings depend on the same placeholder key existing on every page. However, when a client needed to implement ROS ads on their site which was built out almost entirely with dynamic placeholder containers, I rethought cascading logic to make it work with dynamic placeholders so that we could imple...
Sitecore XPA perplexing problem with rendering parameters
In one of my projects, we had a bizarre and frustrating issue: In Experience Editor, certain renderings could not get removed from the page. Clicking the X would make them disappear, only to reappear on save; for some reason, the final renderings were not getting updated. However, it did not happen with all renderings on the affected page; it only seemed to happen with certain renderings, and not on every page. This unusual experience provided important insight into the functionality of final re...
Sitecore XMCoveo Atomic React wrapper - Use default sort on page load but change sort to Relevancy automatically on search
In Stack Overflow, shared a solution for custom sorting to allow a default sort option other than relevancy when there is no query, while still defaulting to relevancy when there is a query. This was important for our headless Sitecore 10.3 site which is built on NextJs and required the Coveo Atomic React wrapper
Right to be Forgotten: Anonymizing a contact in xDB
If you get a request from a user to execute their right to be forgotten, you may be unsure of how to do so in Sitecore. Sitecore provides documentation on how to write code that will anonymize a contact, but it’s not so clear how to just do this as a Sitecore admin without writing custom code. This blog post explains two simple ways to do this.
Sitecore XPEmbedding scripts from Sitecore content in an XM Cloud NextJS app
It’s common in Sitecore for content authors to request the ability to add and manage their own scripts from within Sitecore. Though the Rich Text field does not allow scripts, it’s easy to allow by using a plain multiline text field and rendering is as raw HTML. However, using Sitecore XM Cloud with NextJS, we ran into some unexpected behavior – specifically, when navigatigating directly to a page in the browser, the scripts work as expected, but when navigating to that page internally from the ...
Sitecore XM Cloud