Configure Page Copy

Introduction

Goal

Configure the Page Copy functionality in the Experience manager.

Background

Copying pages in the Experience manager within and between channels is supported. By default only copying within the same channel is enabled. To enable cross-channel page copying you need to set an HST configuration property which is described below in the section Enable Page Copy across Channels.

Prerequisite 

Only channels that have their own hst:workspace with hst:pages and hst:sitemap section will have the Make a copy of this page available. For example:

/hst:hst:
  /hst:configurations:
    /myproject:
      /hst:workspace:
        /hst:sitemap:
        /hst:pages:

Enable Page Copy across Channels

To enable cross channel page copy support set the following property in the hst-config.properties file that is active for the CMS (see HST container configuration):

  cross.channel.page.copy.supported=true

What happens if a user copies a page to another channel but the target channel does not have all HST configuration (templates, components) required for the page?

In that case the HST makes sure to also copy over any missing template or component. This can be entire inherited pages below hst:abstractpages, or just a single component below hst:components. These possibly copied templates, pages or components will be copied to the hst:workspace of the target channel. If the workspace does for example not yet contains hst:abstractpages, this node is automatically created.

Before CMS 12.0.0 abstractpages, templates, etc that were missing in the target channel would be copied to the non-workspace target configuration. Since version CMS 12.0.0, these nodes are added to the hst:workspace, as they should had been in there in the first place. For CMS 12.0.0  this became a requirement because when creating a preview configuration we only copy the hst:workspace, and of course, a page copy ends up in the preview configuration of the target channel.

Locking

Just like after adding or modifying a page, a copied page is locked by the current user. Other users in general can also create a copy of the same page. There is however one possible catch in case of cross channel copying: When there are, say, also missing hst templates copied over to the target channel, then the hst:templates section also gets locked. Another user trying to copy then the same page to the same channel, will get a lock exception and an error message that the target channel already has hst:templates section locked. After the first user publishes their changes in the target channel, other users can also copy the same page. Note that after the first time a missing template has been added and published, this locking catch will not happen any more, because the target channel already contains all the templates (and components).

When a user copies a page to another channel, does the system also copy documents being used by that page from the source channel to the target channel?

Which documents to copy and how is domain specific and can differ per project. Hence, this is not by default provided by the HST. End projects can implement this themselves by adding a CopyPageEvent listener, and hook into the page copy action by also copying all page required documents from source channel to target channel. The forge project Experience Manager Page Management Support does also copy the documents for a page by adding a DocumentCopyingPageCopyEventListener. You can find the documentation at http://channel-pagesup.forge.onehippo.org.

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?