Fork me on GitHub

Experience Manager Page Management Support

This project provides some add-on features like the following:

  • DocumentCopyingPageCopyEventListener handling PageCopyEvent propagated by Experience Manager, in order to copy all the linked documents by the page and its components together, when a page is being copied from a channel.
  • DocumentManagementService component to provide document/folder workflow operations.

Code base on GitHub

The code of this project is on GitHub at https://github.com/bloomreach-forge/page-management-support/.

DocumentCopyingPageCopyEventListener component

org.onehippo.forge.channelmanager.pagesupport.channel.event.DocumentCopyingPageCopyEventListener component copies linked documents in a page and its components from the source channel to the target channel on the event of page copying in the experience manager.

DocumentCopyingPageCopyEventListener can be extended for some custom needs.
In version 1.2.0, the hooks onBeforePageCopyEvent and onAfterPageCopyEvent have been introduced. See at the custom configuration page.

DocumentManagementService component

org.onehippo.forge.channelmanager.pagesupport.document.management.DocumentManagementService component is provided to manage document/folder workflows more easily.

Testing with Demo Application

You can build and run a demo application, which contains all the examples explained in this site documentation. The demo application is present in the demo submodule.

The demo application consists of two different channels. This basic testing steps will show how a page in the source (English / US) channel can be copied to the target (Dutch) channel with the linked document content together as an example.

Browse the content folder in the source (English / US) channel. You will see two published documents there.

Test 1

Now, browse the target (Dutch) channel. You won't see any documents there yet.

Test 2

Let's select the Experience manager perspective. You could see as many as channels you've configured. We are going to copy a page from the source (English / US) channel to the target (Dutch) channel. So, please make sure that the target channel should have a preview mode configuration.

Note: if a channel doesn't have a preview mode configuration, it won't be available in the dropdown of the Page Copy dialog as a target channel when copying a page. See https://xmdocumentation.bloomreach.com/library/concepts/template-composer/copy-page.html for detail.

Test 3

Now let's edit the source (English / US) channel. Click on the Page > New to create a new page called "test".

Test 4 Test 5

Add two Simple Content catalog components in the "test" page. And link to each of the documents under the "content" folder and save the page.

Test 6

Click on the Page > Copy and select the target (Dutch) channel to copy the "test" page.

Note: if you don't see a target channel in the dropdown, please make sure that the target channel should have a preview mode configuration in prior.

Test 7 Test 8

Open the target (Dutch) channel and select the copied page, "test".

You will see the copied page, "test", with the copied documents together.

Test 9

Also browse the content folder of the target (Dutch) channel. You will see all two documents copied from the source (English / US) channel.

Test 10

Note: All the linked documents from the copied page are copied together into the target channel content folder. However, the copied documents are taken offline after copying. Editors are responsible for publishing those copied documents afterward.