Push Publishing Content

Last Updated: Sep 8, 2023
documentation for the dotCMS Content Management System

The push publishing feature allows you to remotely publish various types of content from one server to another. You can use the same simple process and interface to publish content, hosts and folders, dynamic plugins, users and Content Types.

Pushing Content

To add content to the Publishing Queue — i.e., the list of content that is scheduled to be published — the simplest method is to right-click on the content and select Push Publish from the menu.

Push Publishing from the context menu.

On the Content Search screen, you can also select multiple content items for push publishing at the same time. Select the checkboxes for all the items you want to push publish, click the Available Workflow Actions button at the top of the screen, and then select the Push Publish button from the popup.

Push Publishing from the Available Workflow Actions button.

Note: The Push Publish option is only available when there is at least one endpoint server defined.

Push Publishing Options

After selecting Push Publish, a popup displays with the following options:

I want toWhat you want to do with the selected content:
  • Push: Schedule the content to be published on the selected date.
  • Remove: Schedule to remove the content on the selected Expire date.
  • Push Remove: Schedule both publishing and removal of the content according to the dates specified.
FilterSelects a push publishing filter to determine the behavior of the process. Only applies if Push or Push Remove are selected (see above). Default filters include options to push the content with or without dependencies, or to Force Push.
Publish DateThe date on which the content will be published. Defaults to the current time.
Only applies if Push or Push Remove are selected (see above).
Expire DateThe date on which the content will be removed. Defaults to the current time.
Only applies if Remove or Push Remove are selected (see above).
Time zone selectionAllows you to change the time zone according to which the two dates above are evaluated.
Push toA list of the Publishing Environments the content will be pushed to.

Push Publish dialog.


Whenever you select Remove or Push Remove in the Push Publish dialog, you schedule dotCMS to unpublish on the specified Expire Date. At the specified date and time, dotCMS will unpublish and delete the pushed content from the receiving Endpoint.

Remove and Push Remove options.


  • When you Push Remove, it does not mean that the selected content will be reverted to an older version.
    • Instead, on the specified date and time the content included in the push will be removed from the receiving server, and will thus no longer exist on the receiving server at all.
  • Push Remove only works on content which can be pushed normally.
    • Content that can only be synchronized (Categories and Rules) can not be deleted via a push.

Force Push

By default, dotCMS automatically remembers when content was last pushed to each environment (based on the content modification date), and only actually pushes the content to an environment if the content has changed since the last push to that environment. This prevents redundant content pushes and allows you to push content without worrying about causing unnecessary network traffic, even if you don't know whether the content has actually changed.

The Force Push option disregards the modification date, pushing the content (and all its dependencies) regardless of whether or not any of it has changed since the last push.


  • This option can be useful to ensure that all documents are synchronized between two servers.
    • However it should be used sparingly, especially on large sites, as it can cause a significant increase in network traffic.
    • Whenever possible, do not use this option as your default behavior (e.g. in Workflows).
Force Push and Static Publishing

For most types of content, using a Force Push behaves similary between both Static Endpoints and Dynamic Endpoints. However there are two important ways in which Static Endpoints behave differently:

  1. Any time you push a Page to a Static Endpoint, the Page and all its dependencies are automatically sent using a Force Push.
    • This is intentional, to ensure that the many different elements of each Page that affect the display of the Page (including the content in the page, common page elements in Containers and Templates, etc.) are automatically updated on the Static Endpoint without you needing to understand how changes to other items in the system may have changed how the page should display.
  2. Any time dotCMS automatically creates a new bucket — i.e., a unit of S3 cloud storage — on the Static Endpoint, dotCMS automatically does a Force Push of the entire site to the new bucket.
    • Note that this does not happen if the bucket already exists (either because you manually created it or because dotCMS previously created it at some time in the past).
    • This ensures that any new buckets created (via the AWS S3 Parameters) receive all content for the site, regardless of previous pushes to other buckets on the Static Endpoint.

For more information on what information is pushed when you push any selected object, please see the Push Publishing Dependencies documentation.

Managing Push Publishing

The following sections provide an overview of managing push publishing of content. For more information, please see the Push Publishing documentation.

The Publishing Queue

When you push publish content, it is added to the Publishing Queue. You may view the Publishing Queue to see what content is scheduled to be pushed (including items which were scheduled to be pushed immediately, but have not yet been sent).

Content Push History

To view the push history of a content item, edit the content, select the History tab, and scroll to the bottom of the screen.

To remove the push history for the content, click the Delete Push History in the Push History section of the History tab.

Push Publish dialog.

System Push History

To see a history of all Bundles which have been pushed on the system, open the Publishing Status screen (Select Site -> Publishing Queue and select the Status/History tab).

To delete the push history of all content on the entire system, select System -> Maintenance and click the Tools tab. The Delete Pushed Assets History tool removes all pushed assets from the history table; this both cleans up old push history and ensures that all asset dependencies will be included in every push, regardless of when content was last pushed to the receiving server.

Push Publish dialog.

On this page


We Dig Feedback

Selected excerpt: