The technical Magnolia term for publishing is activation, but for all practical purposes publishing and activating are synonymous. Activation is the system process that copies content from an author to public instances whereas publishing is triggered by the user.

From author to public

Magnolia is distributed as two web applications: an author instance where editors work and a public instance where visitors access the website. Typically you have at least two public instances for load balancing and high availability reasons. Content is published from the author instance to the public instances.

There are three publishing actions:

  • Publish: Publishes the selected node to the public instance.
  • Publish incl. subnodes: Publishes the selected node and its children to the public instance. This action typically runs asynchronously because it can take a while to activate lots of content.
  • Unpublish: Unpublishes (deactivates) the node from the public instance.

Apps typically display the publishing status in the workbench.

  • Published (green): Content was published from the author instance to the public instance. Identical content exists on both instances.
  •  Modified (yellow/amber): Content was modified since publication. The author instance is not in sync with the public.
  •  Unpublished (red): Content exists only on the author instance. It was never published.

Scheduled publishing

With workflow you can schedule publishing (activation) to a future date and include approval steps. Workflow is an Enterprise Edition feature. (warning) Workflow 5.3+

The editor who launches the publication workflow can add a comment for the reviewer and set a publication date. 

Publishers receive a task in Pulse. They can assign the task to themselves and approve or reject it. The system can also show what changed on the page.

Publishing only changes

When you publish a node and its children you often end up publishing content whose status is already Published . Such nodes don't need to be published but it is often more convenient to just publish the whole tree than node-by-node.

To improve author instance performance, exclude already-published nodes from the action. Publish modified nodes only. This may help performance and scalability in cases where the author instance has a high concurrent load (many editors activating large amounts of content at the same time).

To publish only modified pages, add a modifiedOnly property in the action definition and set it to true:

Node nameValue

 activateRecursive

 

 asynchronous

true

 dialogName

workflow:publishRecursive

 extends

../activate

 icon

icon-publish-incl-sub

 modifiedOnly

true

 notifyUser

false

 recursive

true

Properties:

  • <action definition>
    • modifiedOnly: Publishes only nodes that are modified  or never published . Excludes nodes that are already published . Default value is false(warning) Magnolia 5.3.4+

You cannot assume that a page has the same state on author and public instance just because the publishing status is green. It is possible to manipulate pages on the public instance after publishing. For example, you can change content with import, clone, or the REST API without the author instance knowing. If any such non-publishing activity can change content on your public instance, you may want to allow editors to publish a page even if its status is green to override those non-publishing changes. In this case, set the modifiedOnly property to false.

For more information about publication see:

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))