Monday, October 24, 2016

The Sitecore Publishing Service

The Sitecore Publishing Service is a new module released for Sitecore 8.2 which provides a stand alone publishing service for larger implementations. Where it excels is with large volume publishing jobs (think older Sitecore web sites with thousands of items) and it's built with the .NET core!

The end result is replacement of the out-of-box publishing feature in Sitecore, which delivers the following key benefits:
  • High performing - faster publishing.
  • More reliable publishing with better data consistency.
  • A better user experience with more feedback via the Publishing Dashboard.
  • Is run as a separate instance to the content management server - could even be on it's own server.
  • Makes use of it's own architecture rather than existing publishing pipelines, setting and features.
  • Installation is done via the publishing service instance and the integrated module on the Sitecore instance.
So what are the key concepts of the Sitecore Publishing Service?
  • Publishing job: A request of item(s) to be published - can be viewed on the publishing dashboard.
  • Manifests: The tasks to be run for a given publishing job. The service uses logic to work out item deletions, related items to be published and so on. A single publishing job can have multiple manifests.
  • Promotion: The act of moving items (data) from the source (generally the master database) to the target (generally the web database) by following the manifest(s).
  • Manifest results: A list of all changes that were made for a given publishing job. This can be accessed via pipelines for customization.
The steps that the publishing service takes are as follows:
  1. Publishing quests are queued - and then executed.
  2. Connect directly to the SQL Server source/target databases and process the job.
  3. Issue events - such as a cache clear on content delivery instances.
  4. Report back to the user interface - publishing dashboard.
The flow of a publishing job

Detailed look at the various steps

This is a great new release that shows Sitecore is looking to push forward into the future by building on top of the .NET core. Publishing has been a pain point for a number of years around consistency and my personal pet peeve of accidentally closing the publish window during a job. This module may not interest the smaller Sitecore implementations, but those of you who have to wait an hour for a publish using the classic method (imagine kicking off a full publish by mistake) will really appreciate this one.

No comments:

Post a Comment