16Mar, 2020
Using the Sitecore Publish Viewer Module to Monitor New Content Managers
With any project there comes a time when we grant access to the client's authors. I guess that's the whole point of a CMS, right? But during this transition period I always keep an eye on the Content Management instance's performance to ensure everything is running as it should be, and excessive publishing is a common issue we have to address.
Because the initial “hands-on” period for these new authors is to review and update migrated content, they tend to forget publishing isn't necessary for a site that hasn't gone live yet, and that everything can be published once when the effort is complete, etc. We also have projects where Workflow isn't applied until this initial mass-content review phase is complete, so publishing is free for anyone to use. So, when we get reports coming in that their updated items are not being reflected on the Delivery instances, this is the first place I look.
The Publish Viewer Module
So right away I'm going to say the Publish Viewer Module hasn't been updated in a while, but it's never been an issue. There are also tools Sitecore offers such as the EventQueue Statistics tool found at /sitecore/admin/EventQueueStats.aspx, but I personally like this module. I'm currently using it on Sitecore 9.1 and everything's peachy keen. Installation is easy and there's no post-installation steps. You can find this module off the start menu once it's installed.

Once open, we see that there's no publishing requests in the queue. Let's change that!

Here we have a naughty User! Actually it's me running a full site republish with a single item publish as a chaser. This gives you an idea for what we may see under a queued situation, and the more publish requests the more you see this fill up?

There's a lot more to the module's information that what is seen in this screenshot. It's just so horizontal I thought it best to list out instead:
- QueueTime
- JobName
- Handle
- JobStatus
- Mode
- Owner
- ItemPath
- SourceDB
- TargetDB(s)
- CurrentDB
- Processed
- ChildCount
- Percentage
- Language(s)
- CurrentLanguage
- Message
You can start to appreciate the usefulness of this view once you see it in practice.
Scaling up Publishing
You're probably wondering why bother with this and just scale the publishing role? Yes, the publishing role can be scaled horizontally, but this doesn't increase publish throughput; it's available for redundancy and failover only.