12

Does anyone know what the difference between the 3 main types of publishing in Sitecore are?

I have the option to do a republish, incremental publish and a smart publish

My understanding is that a republish will publish everything but I don't understand the incremental or smart options

5 Answers 5

18

Here's an overview of each of the publishing methods:

Republish

This publish will simply fully publish out each item again, regardless of whether it has been published before or not. Therefore this is the slowest publish as Sitecore will still transfer over changes that may already be on the target database.

Smart

With this method, Sitecore will look at each item and compare it to the item in the target database (if it exists). If it determines that it needs to be updated, then it publishes the item, otherwise it skips it. I'm not actually sure what method it uses to determine if it needs to be updated, but my guess would be that it uses the Revision field which is a GUID that is updated each time an item is updated. If the GUIDs match, it would know that it doesn't need to update the item. Of course, if the item isn't there at all, it will be published.

Incremental

Every time an update is made to an item, Sitecore tracks this change inside the PublishQueue table in the database. This is effectively Sitecore recording the fact that this item has changed, and therefore will need to be published. When you do an Incremental publish, this table is simply read to get the list of items that need to be published out. After the publish, this table is cleared.

Incremental is the fastest method of publishing as Sitecore is only publishing out what has changed. However it is also prone to error, for example if the PublishQueue table has been cleared before those items have been published, then an incremental publish won't publish those items.

1
  • 1
    To shed more light on what Smart publish actually does, please consult my blog post: geekhive.com/buzz/post/2017/01/…. Smart publish compares revision numbers, unversioned fields and number of fields to determine if a publish of an item is appropriate.
    – jrap
    Commented Jan 18, 2017 at 16:30
3

The different publish types define how Sitecore will evaluate which items to move from the master database into the destination publishing target (typically web).

Republish will publish every single item from the source db into the destination db without any checks on whether the item in the source db matches items in the destination db.

Smart publish will scan each item in the source db and compare the items in the destination db, if the version in master is newer then it will publish the items.

Incremental publishes are based on entries stored in the publish queue and history db table. Whenever items are updated via e.g. editors in the content editor it will add an entry into the history table. An incremental publish then uses this data to decide which items to include in its publish operation.

3
  • Incremental Publish : publishes only items that are in the publishing queue. Every time you change an item, the item is automatically added to the publishing queue. If the changed item is part of a workflow, the item is added to the publishing queue when it reaches the final workflow state. Incremental Publish is the fastest way of publishing because Sitecore does not use resources to compare versions of the items that are in the publishing queue before publishing them.
  • Smart Publish : publishes all items that have changed since the last publication. When you run a Smart publish, every item in the Master database is compared with the equivalent item in the target database and, if an item has changed, it is published Comparing all items in the database makes this a time-consuming way of publishing your entire website, particularly if the content tree contains many items.
  • Republish : publishes everything. Republish overwrites every item in the target database with the equivalent item from the Master database, even if it has not changed. In this way, republishing removes all obsolete versions from the target database. You can use republishing to bring a new web database online, to restore a backup of the master database, and to add a new content language, a new publishing target, or other system items to the website.

More info (screenshots) here: https://doc.sitecore.net/sitecore_experience_platform/80/content_authoring/publishing/publish_a_website

-2

This one maybe could help

http://www.kewlcodes.com/posts/1149/sitecore-publishing-queue-and-smart-vs-incremental-publish

Cheers, D

1
  • 1
    Sorry downvoted. It's worth reading stackoverflow.com/help/how-to-answer. You should provide context to links. Also worth not posting multiple answers and summarising both links into one.
    – Anicho
    Commented Oct 4, 2016 at 10:05
-3

This might help understand it.

https://sitecorebasics.wordpress.com/2011/05/22/basics-of-sitecore-publishing-modes/

Cheers, D

1
  • 1
    This is a link-only answer and doesn't really add value to the site.
    – Mark Cassidy
    Commented Oct 4, 2016 at 9:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.