Publishing process overview

The publishing process is initiated by the user. Content Manager automates all that follows. The publishing flow, steps and logs described here apply to publishing to the Dynamic Delivery output format.

After you push the Publish button, all the objects linked to the publication, with the correct version according to the baseline, will be exported from the Content Manager database to the file system. The XML content will undergo conversions (to be turned into HTML) through the action of a list of post-process plugins. Each plugin takes care of a type of transformation, the plugins act in a specific order.

The process phases depend on the output format you are publishing to. The exact list of publish post-process plugins involved in the publishing process can be found in the section dedicated to Content Manager API reference - plugins. This list can change as some task could be divided or shared between plugins in a variety of ways. It also depends on the type of output format the content is published to.

Main publishing steps

  • Publish plugins check the content of the exported file (e.g. ISHCHECKREFERENCES).
  • Publish plugins prepare for DITA-OT (e.g. ISHREMOVENOTLOCKEDNAVTITLES, ISHRESTOREDOCTYPE).
  • DITA-OT publish plugins trigger DITA-OT to convert the export files to the format specified by the DITA-OT plugin (e.g. <drive-letter>:\Infoshare\App<project-suffix>\Utilities\DITA-OT\InfoShare\plugins\ishXpp).
  • One or more extra publish plugins convert the result of DITA-OT into the final format, for some output formats (e.g. ishditadelivery).
  • Publish plugins compress the result (e.g. ishwebhelp) or just locate it (e.g. ishpdf).
  • Publish plugins upload the result to the appropriate database.

Dynamic Delivery

Some of the specificity of the Dynamic Delivery output format results from the interaction between Content Manager and Content Delivery:
  • Towards the end of the compression process, one of the post-process plugin starts building one or several packages (depending on the size on the resulting files) and performs a compression. Another plugin starts sending the packages to Content Delivery.
  • Content Delivery progressively deploys the elements that are ready. As soon as packages are sent, a background task (CheckRemoteStatus) checks the status of the deployment. That check results in an update of the publication output status when deployment has completed, and that status is visible to the user. Eventually the background task sends the final publication status to Content Delivery for database update.
  • Any time a specific list of metadata is modified through Content Manager, a background task (UpdatePublicationMetadata) sends the new data to Content Delivery database, and the changes become visible to the readers.