Publication process

There are quite a few aspects to understand when it comes to the publication process. This part describes the technical aspects of this process.

First you must understand the basics:

  • Infoglue is divided into two flavors of the same application: the cms part (admin GUI) and the deliver part (for visitors). The CMS part is allways master for the information. The deliver part can be distibuted on any number of live instances / servers etc.
  • The deliver instances caches data very aggressive to be able to serve under high load. When a publication is made the cms therefor must notify the deliver instances about this new change and therefor sends a cache notification message by HTTP/REST to each registered deliver instance.

Now there are some additional aspects to consider in this light:

  • A live instance can be temporarily down or unresponsive when a publication is made thereby either denying the notification or responding to slow. The result may be that the notification never reached the instance and the new information not being shown.
  • An error can occur during the handling of the notification and how do we know why a publication did not succeed.

The solution to this is a few technical additions:

  • The cms contains a live instance monitor which keeps an eye on each registered instance and let the publishing system know the health. It also registeres any downtime the monitor finds in the Transaction history log (which by itself is a good way to debug other situations as well by the way).
  • The cms publication process contains logic which checks the instances status and if they are unfit the notification call is put into a server unique queue. The queue is then activated when the instance comes back in play. If a notification fails it is also noted in the transaction history log.
  • For debugging and control purposes there are three main views. Firstly each publication has it's own log in "Publishing tool". Just click on the publication in question and you will see (apart from the items published) a log of which live instances has processed the notifications and which failed. While this is for editors mostly the second view is for administrators and it's located under Management tool --> diagnostics and status. Here you can see the instances and their status including queue status etc.Lastly there is much information in ViewApplicationState which is reachable from the "Diagnostics and status"- screen. Here (on the deliver side) you can see the latest publications that reached the instance and if any failed etc.

Developer/extension options:

The publication process allows for some extensions both on the publication (cms) side and on the deliver side. Look at the publication part in integration options.

Screenshots

Here are some sketches and screenshots that shows some of the view and concepts described above:

Publication flow

 

Transaction history view (showing any incidents)

 

Publication details (shows how a by which instance a publication has been processed)

ViewApplicationState.action (Shows instance publication information)

Diagnostic central (shows statuses and allows for queue management)



comments powered by Disqus