The publishing process

Abstract

Describes the Experience Edge publishing process.

Publishing to Experience Edge starts when you trigger a publishing operation that targets the Experience Edge publishing target. There are four stages in the publishing process:

  • Creating a publishing target

  • Expanding the publishing manifest

  • Exporting the manifest to Experience Edge

  • Rebulding the Solr index

The Sitecore publishing pipeline identifies the items that need to be published, taking the publishing target into consideration. These items are used to create the initial publishing manifest.

This stage starts right after the Sitecore Publish End event.

Because the data structures of Sitecore and Experience Edge are quite different, the items in the initial manifest must be reviewed to ensure that all dynamically dependent items are also included in the manifest:

  • Rendering data source: if the initial manifest contains an item that is used as a rendering data source by some page, that page is added to the manifest.

  • Template: if the initial manifest contains a template item, all items based on that template (directly or through inheritance) are added to the manifest. The newly added items are also checked for page dependencies.

  • Template field: if the initial manifest contains template fields, the owner template is expanded the same way a template is.

  • Language Fallback: language fallback is reviewed for all manifest items, and if the manifest contains a version for a source language , the versions for fallback language(s) are automatically added to the manifest. This feature is disabled by default.

Note

Only items under the following paths are included in the manifest:

  • /sitecore/content

  • /sitecore/media library

  • /sitecore/templates

At this stage, The Experience Edge Solr index is queried to identify these dependencies.

The actual publishing to Experience Edge takes place in this stage. The communication with Experience Edge is via the delivery RPC endpoint. You configure the endpoint address with the ExperienceEdge.DeliveryEndpoint setting. All calls to the endpoint are secured and authorized using bearer tokens. The module creates and refreshes the tokens automatically, using the authority client credentials you configure in the ExperienceEdge.Authority connection string.

The endpoint provides APIs for uploading entities and publishing events. An entity publish operation typically involves uploading the entity and raising an event pointing to it.

When export starts the following happens:

  1. The JobStart event is published to Experience Edge.

  2. If the manifest contains one or more template items:

    • A Sitecore GraphQL Schema is generated, and the schema entity is published to the Experience Edge.

  3. If the manifest contains items:

    • All items, templates, and template fields in the manifest are mapped to static format entities specific to the Experience Edge and published.

    • For items with layout (page items), the JSS Layout is calculated and published to the Experience Edge.

  4. If the manifest contains media items:

    • Media blobs are uploaded to the Experience Edge.

    • Media metadata is mapped to static format entities specific to the Experience Edge and published.

  5. The JobEnd event is published to the Experience Edge.

At this stage, the Experience Edge Solr index is rebuilt.

.

Note

When you use the Experience Edge Connector for the first time, you must do a full site republish.