Skip to main content

Uniform for Sitecore introduction

Deploy components#

1. The Sitecore module - Uniform Connector#

A classic installation package to be installed on a Sitecore instance, in most cases, is your Sitecore CM. This package consists mainly of DLLs, configs, and items that extend Sitecore capability with APIs that power the Jamstack process.

Besides the Sitecore package, we also distribute NuGet packages and a starter server-side project that also includes Unicorn items. Usually, the preferred way of integrating Uniform into your solution and existing CI/CD pipelines.

2. Front-end Application#

This JavaScript application built using one of the preferred frameworks, Next.js and Nuxt, is supported depending on the use case and bootstrapped with the @uniformdev plugins/npm packages to connect this app with Uniform APIs that sit on top of your Sitecore instance.

There are multiple usage scenarios of this application; it can function in any of the following ways:

  1. Host your application code, the presentation layer, which is not the case if you keep using Sitecore MVC.
  2. Act as a Build Service, run Static Site Generation triggered either from CLI or Sitecore Publishing pipeline.
  3. A Preview Service that is responsible for fetching and rendering the latest draft content from Sitecore.
  4. Initiate and execute the deployment of your statically generated site to the target hosting platform; the exact mechanics depend on the specific platform you use.

The exact role of this application is different depending on your use case:

  • For the use cases where you'd like to "Jamstackify" Sitecore MVC solutions, we support this via a Next.js application that is bootstrapped with Uniform plugins and scaffolding, allowing the reconstruction of the Sitecore pages at build time from MVC rendering fragments. In this case, this app acts as the Static Site Generation and site deployment tool, as it doesn't host any custom code related to your presentation layer since it is maintained in Sitecore MVC and deployed to the Sitecore instance. In this case, the service handles static site exports triggered either by the release pipeline or the Sitecore publishing process. This application will only contain the static resources that you deploy together with your page HTML existing .css, .js, images, and font files if any.

The starter kit is open-sourced in our GitHub repo here.

Check out the MVC tutorial here to experience this flow.

  • JSS sites - we support both Next.js and Nuxt frameworks. Both frameworks have SSR and SSG capabilities Uniform SDK can access. This allows to add the missing piece to any Sitecore JSS solution.

  • React-based implementations, Next.js adds the full framework aspect - built-in routing, Server-side Rendering, styling, great Developer Experience out of the box, as well as a rich plugin ecosystem.

  • Vue-based implementations, we have a Nuxt.js starter. It also features capabilities, such as routing, Server-side Rendering, styling, great Developer Experience out of the box, and a rich plugin ecosystem.

Both frameworks come with the static site generation feature, which Uniform extends with a plugin, allowing to source the pages from Sitecore via Uniform APIs.

The starter kits for Sitecore JSS using both Next.js and Nuxt are open-sourced in our GitHub account here.

Make sure to check out the JSS Next.js tutorial here to experience this flow.

3. Uniform JavaScript SDK#

You can't have a modern Jamstack application without a JavaScript SDK.

It is represented with a set of @uniformdev npm packages that extend a particular Framework / Static Site Generator with extra functionality related to either page definition extraction from Uniform APIs, component rendering, or tracking.

The npm packages are private, so you would need a .npm token from us to download these.

Supported technology#

Sitecore versions#

Sitecore 8.2 Update-7 and up are officially supported. The latest version tested with Uniform is Sitecore 10. It's unlikely, but if your Sitecore version is not in this broad supported release spectrum, let us know it may work on your earlier version as well.

Sitecore topologies#

Deploy supports both XM and XP topologies.

Presentation layer#

Currently, both Sitecore MVC and JSS are supported. SXA has partial support in this release; see Known Issues list in Release Notes. There is no support for Web Forms.

Target hosting environments#

Due to Deploy's output being a set of static files, the range of hosting platforms for your website/web app is quite wide. The following platforms are the ones that are current customers or tested with during QA:

  1. Azure (Blob Storage + CDN + FrontDoor or Static Web Apps)
  2. Akamai (NetStorage + Ion / CDN)
  3. AWS (S3 + Cloudfront)
  4. Cloudflare (Worker Sites and Pages)
  5. Netlify
  6. Tencent (COS + CDN)
  7. Vercel

In some instances, customers mix and match the platforms. Any cloud hosting service that can support static file hosting and comes with a facility to deploy the files to will work as well.

Sitecore features#

No Dependencies on Sitecore Headless Services

Uniform has independent APIs to access page-level item data and other APIs to power Jamstack scenarios. It also comes with the SDKs targeting specific Frameworks/Static Site Generators, like Next.js and Nuxt.

How About Personalization and Tracking?#

Uniform for Sitecore has a separate capability for that - Optimize. It allows for decoupled personalization and tracking. It is compatible with Deploy. Read more about Uniform Optimize for Sitecore here.

What's Next?#

Now you know what Deploy is, head over to the Getting Started.