Page Management - BloomReach Experience - Open Source CMS

This article covers a Hippo CMS version 11. There's an updated version available that covers our most recent release.

10-01-2017

Page Management

Webmasters can create, edit, move, copy and delete individual pages in the Channel Editor.

Creating a page

In order to create a new page, it does not matter what page you are currently looking at.

In Edit mode, the toolbar of the Channel Editor displays a Page drop-down, which includes the Create page option. If the current channel is configured to support the creation of new pages, this option is enabled, and selecting it opens the Create page form.

Here, you must specify a page title (used for the Sitemap Navigation, see below), compose a URL and select a page template. The URL consist of two parts: the "stem", which refers to an existing sitemap item, under which to create the new URL, and the Last element. The URL of the page is determined by concatenating these two parts. The Page template determines the layout of the page and which containers will be available. Upon creation of a new page, you return to the Channel Editor, which now displays the created page. So far, the page is only visible in the Channel Editor. In order to publish the page to the live channel, publish your changes. To revert your action, discard your changes.

Note that if you're still looking at the created page when discarding your changes, the Channel Editor will still try to show the no longer existing page. It is therefore likely that you will see a 404 page not found error after discarding a new page.
Note that the Last element does not accept certain characters, including the '/' character. If you intend to create a page with URL www.example.com/blogs/myblog, you first have to create a page with URL www.example.com/blogs. Also note that the channel's sitemap is composed of a fixed part and a modifiable part. Pages can only be added to the modifiable part. Therefore, if the URL www.example.com/blogs exists in the fixed part of the sitemap, you cannot create a page with URL www.example.co/blogs/myblog.

Technical details

In order to be able create a page for a certain channel, that channel must have at least one URL "stem" for attaching the page, and there must be at least one prototype page available to create a new page. When a new page is saved, the back-end performs the following steps:

  1. Copy the selected prototype page into the hst:pages section of the channel's workspace.
  2. Add a sitemap item to the hst:sitemap section of the channel's workspace, based on the page's URL.
  3. Store the page title in the property hst:pagetitle of the new sitemap item.
  4. Link the new sitemap item to the copied page definition.

The following Freemarker snippet illustrates how to render the title of a page:

<@hst.defineObjects/>
The page title is: ${hstRequestContext.resolvedSiteMapItem.pageTitle?html}

or in JSP:

<hst:defineObjects/>
The page title is: <c:out value="${hstRequestContext.resolvedSiteMapItem.pageTitle}"/>

Managing a page

Existing pages can be edited, moved copied or deleted.

Selecting which page to manage

In order to manage an existing page, you must navigate to that page. You can use the site's menu structure, follow internal links or use the Sitemap navigation to navigate to the desired page. In order to use the Sitemap navigation, open the side-nav by clicking on the side-nav icon in the top left corner of the toolbar, and make sure that the Sitemap tab is selected. The side-nav displays a list of the channel's sitemap items. Clicking on a specific sitemap item takes you to the corresponding page.

Note that the Sitemap navigation only contains sitemap items with an explicit name. The channel's sitemap may (and probably will) also contains sitemap items that delegate the name of the corresponding URL to the name of the documents they expose. These sitemap items are not present in the Sitemap navigation.

Controlling the Sitemap navigation

You can suppress a sitemap item from showing up in the Sitemap navigation by setting the hst:hiddeninchannelmanager property on that item. This can be used to hide sidemap items not relevant to the webmaster, e.g. a sitemap item representing an RSS feed.

+ hst:sitemap
  + rss
    - hst:hiddeninchannelmanager = true
    + nested-rss-sitemap-item

Sitemap items nested inside a hidden sitemap item are also hidden from the Sitemap navigation.

Selecting a page management action

In Edit mode, the toolbar of the Channel Editor displays a Page drop-down, which gives access to the available page management actions.

Editing a page

Pages that are stored in the channel's workspace and which are not locked (i.e.being changed) by another user can be edited. Select the Edit action from the drop-down to get to the Edit page form.

Here, you can change the page title, select a Primary Document and assign a new template to your page.

Primary Document

The primary document of a page can be chosen from a set of documents referenced by the components on that page. For example, if the page displays a container component which pulls in content from document X, then document X is available to be selected as the primary document of this page. Selecting a document as the primary document of a page has the following effects:

  • You can create a link to this page by specifying an internal link to its primary document.
  • HST makes the primary document available through HstRequestContext#getContentBean() when this page is requested. This can be used f. e. by the TagsCollector of the Relevance feature to add metadata of the primary document to the profile of the visitor.
  • Existing internal links to the primary document produce links to this page.

Assign a new template

The Channel Editor offers the ability to assign a new template to an existing page. This will change the layout of the page. If the page currently contains containers with components, these components have to be reassigned to the containers of the new template. If the new template has no containers, the components must be dropped. In both scenarios, the form shows an alert message when selecting a new template. The effect of reassigning a new template can be undone by leaving the Edit page form and discarding your changes to the current channel.

If existing container components are reshuffled, the following strategy is applied:

  1. Items stay in containers with the same name
    When the new page definition has a container with the same JCR node name as a container in the old page definition, all items in it will be moved from the old to the new container. The order of the items will remain the same.
  2. Items move to the container designated as the 'primary' container
    Leftover items will be moved to the primary container of the new page definition. The primary container is defined by the property hst:primarycontainer, and contains the path to the primary container relative to the root node of the page definition.
  3. Items move to the first container in the page definition
    Leftover items are moved to the first container in the page definition.

To make your changes effective in the live channel, publish your changes. To revert them, discard your changes.

Copying a page

If a channel is set up to create pages in it, any page can be copied into that channel. While the original page may not be editable, its copy will be. Your CMS project can be configured to allow or disallow copying of a page from one channel into another channel. Also, there is a software hook to add custom actions to the page copy process.

Select the Copy action from the drop-down to get to the Copy page form.

Just like when creating a new page, determine the URL of the copy. If cross-channel copying is enabled, first select the destination channel. Then select the "stem" of the desired URL and specify the Last element. Remember that you cannot use '/' characters in the Last element. When done, click Copy, which brings you back to the Channel Editor, now showing the copy you just made. The copy is only visible in the Channel Editor until you publish your changes to the (destination) channel. The copy can be deleted by discarding your changes, or using the Delete page action.

Moving a page

Any editable page can also be moved. Moving is only supported inside a channel, you cannot move a page into another channel. Select the Move action from the drop-down to get to the Move page form.

Just like when creating a new page, determine the new URL of the page by selecting the desired "stem" and specifying the Last element. To make the page-move visible in the live channel, publish your changes. To undo the move, discard your changes.

Note that when moving a page which has nested sub-pages in the sitemap, the sub-pages will move along. For example, assume you have an editable page at URL www.example.com/blogs and a nested sub-page at URL www.example.com/blogs/myblog. If you move the former page to www.example.com/archive/old-blogs, the latter page will be moved to www.example.com/archive/old-blogs/myblog.

Deleting a page

Any editable page can be deleted. Select the Delete action from the drop-down and confirm your action. Since you deleted the page currently displayed, the Channel Editor automatically navigates to the channel's home page. To delete the page from the live channel, publish your changes. To undo the deletion, discard your changes.

Note that when deleting a page which has nested sub-pages in the sitemap, the sub-pages will also be deleted. For example, assume you have an editable page at URL www.example.com/blogs and a nested sub-page at URL www.example.com/blogs/myblog. If you delete the former page, the latter page will be deleted, too.
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?