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.
The code of this project is on GitHub at https://github.com/bloomreach-forge/page-management-support/.
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.
org.onehippo.forge.channelmanager.pagesupport.document.management.DocumentManagementService
component is provided to manage document/folder workflows more easily.
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.
Now, browse the target (Dutch) channel. You won't see any documents there yet.
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.
Now let's edit the source (English / US) channel. Click on the Page > New to create a new page called "test".
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.
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.
Open the target (Dutch) channel and select the copied page, "test".
You will see the copied page, "test", with the copied documents together.
Also browse the content folder of the target (Dutch) channel. You will see all two documents copied from the source (English / US) channel.
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.