Plugin-based publishing process

The publishing process starts with the user then is handed to Content Manager that automates the remainder of the process. The publishing flow, steps and logs described here apply to publishing to Dynamic Delivery (DITA Delivery output format).

After the user pushes the Publish button, the process is automated.

  • All the objects linked to the publication, with the correct version according to the baseline, will be exported from Content Manager database to the file system.
  • This 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.
  • Towards the end of that process, one of the post-processing plugin starts sending packages to the Dynamic Delivery.
  • The Dynamic 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 Dynamic 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 Dynamic Delivery database, and the changes become visible to the readers.
Publish post-process plugins responsibilities
The post-process plugins are responsible for:
  • Managing the files on the file system, before, during and after the conversions.
  • Converting
    • the metadata.
    • the references.
    • the table of contents.
    • the index.
    • the conditions.
  • Uploading the files. This may involve a package split up and compress stage.

After the deployment on Dynamic Delivery is successful, the publication output result is uploaded to Content Manager database.