Add a New Channel
Overview
This guide explains how to add a delivery channel to a Bloomreach Content project.
When to Use
Add a new channel when you need to deliver content through an additional site or language variant within your Bloomreach Content implementation.
Prerequisites
- You have a Bloomreach Content project created with the Maven archetype.
- You have already added a translated channel as described in Add a Translated Channel.
Steps in the CMS
Assume you already have a content folder named myproject. To add a new channel, create a root folder or a non-translated folder in the CMS Content application. Click Add root folder and enter the name, for example, mysecondchannel.
Next, create the required folder structure and documents for the new channel. The structure can match the existing channel or differ, depending on your requirements.
If the new channel requires translation support, follow the steps in Add a Translated Channel after completing this guide.
Steps in the HST Configuration
Add a New hst:configuration for the Channel
Assume your project already supports multiple translations for myproject and has the following hst:configuration structure:
/hst:myproject: /hst:configurations: /hst:default: /common: /hst:pages: /hst:components: /hst:templates: /hst:catalog: /myproject: hst:inheritsfrom: [../common] /hst:sitemap: /hst:sitemenus: /hst:channel: hst:name: My project /monprojet: hst:inheritsfrom: [../common] /hst:sitemap: /hst:sitemenus: /hst:channel: hst:name: Mon projet
In this example, the hst:channel nodes are not under hst:workspace, so they are read-only. For more information, see Workspace Configuration.
Depending on your requirements, you may be able to reuse the common configuration for the new channel. In this scenario, mysecondchannel will use the same hst:components, hst:templates, and hst:catalog, but will have its own hst:pages. To support this, move hst:pages to a new configuration node called sharedpages and use cascading inheritance.
Move hst:pages to sharedpages
/hst:myproject: /hst:configurations: /hst:default: /common: /hst:components: /hst:templates: /hst:catalog: /sharedpages: hst:inheritsfrom: [../common] /hst:pages: /myproject: hst:inheritsfrom: [../sharedpages] /hst:sitemap: /hst:sitemenus: /hst:channel: hst:name: My project /monprojet: hst:inheritsfrom: [../sharedpages] /hst:sitemap: /hst:sitemenus: /hst:channel: hst:name: Mon projet
Now, myproject and monprojet inherit from sharedpages, which itself inherits from common. If you do not want sharedpages to inherit from common, you can set hst:inheritsfrom to both nodes as follows: hst:inheritsfrom: [../sharedpages, ../common].
Add mysecondchannel
Add the configuration for mysecondchannel:
/hst:myproject: /hst:configurations: /hst:default: /common: /hst:components: /hst:templates: /hst:catalog: /sharedpages: /hst:pages: /myproject: hst:inheritsfrom: [../sharedpages , ../common] /hst:sitemap: /hst:sitemenus: /hst:channel: hst:name: My project /monprojet: hst:inheritsfrom: [../sharedpages , ../common] /hst:sitemap: /hst:sitemenus: /hst:channel: hst:name: Mon projet /mysecondchannel: hst:inheritsfrom: [../common] /hst:sitemap: /hst:sitemenus: /hst:pages: /hst:channel: hst:name: My second channel
Add a New hst:site for the Channel
Assume your site configuration currently looks like this:
/hst:myproject: jcr:primaryType: hst:hst /hst:sites: jcr:primaryType: hst:sites /myproject: jcr:primaryType: hst:site /monprojet: jcr:primaryType: hst:site
After adding mysecondchannel, update the configuration:
/hst:myproject: jcr:primaryType: hst:hst /hst:sites: jcr:primaryType: hst:sites /myproject: jcr:primaryType: hst:site /monprojet: jcr:primaryType: hst:site /mysecondchannel: jcr:primaryType: hst:site
Set the hippo:content property for mysecondchannel to the absolute JCR path /content/documents/mysecondchannel that you created earlier.
Configure the Host (URL Space) for the Channel
Assume your current host configuration is:
/hst:myproject: jcr:primaryType: hst:hst /hst:hosts: jcr:primaryType: hst:virtualhosts /prod: jcr:primaryType: hst:virtualhostgroup /com: jcr:primaryType: hst:virtualhost /myproject: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount /fr: jcr:primaryType: hst:virtualhost /monprojet: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount
To add the new channel as a separate host, update the configuration:
/hst:myproject: jcr:primaryType: hst:hst /hst:hosts: jcr:primaryType: hst:virtualhosts /prod: jcr:primaryType: hst:virtualhostgroup /com: jcr:primaryType: hst:virtualhost /myproject: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount /mysecondchannel: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount /fr: jcr:primaryType: hst:virtualhost /monprojet: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount
This configuration adds the host www.mysecondchannel.com. Ensure that the hst:mountpoint for
/hst:myproject/hst:hosts/prod/com/mysecondchannel/www/hst:root
points to the site node /hst:myproject/hst:sites/mysecondchannel created in the previous step.
If you want the new channel to use the same hostname but a different URL path, configure it as follows. Again, verify the hst:mountpoint is set correctly.
/hst:myproject: jcr:primaryType: hst:hst /hst:hosts: jcr:primaryType: hst:virtualhosts /prod: jcr:primaryType: hst:virtualhostgroup /com: jcr:primaryType: hst:virtualhost /myproject: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount /second: jcr:primaryType: hst:mount /fr: jcr:primaryType: hst:virtualhost /monprojet: jcr:primaryType: hst:virtualhost /www: jcr:primaryType: hst:virtualhost /hst:root: jcr:primaryType: hst:mount
With this configuration, the new channel is available at www.myproject.com/second.
Verification
- Confirm that the new content folder and documents are visible in the CMS.
- Verify that the new channel appears in the Channel Manager.
- Access the new channel using the configured hostname or URL path to ensure it renders as expected.
Troubleshooting
- If the new channel does not appear in the Channel Manager, verify the
hst:channelconfiguration and inheritance. - If the channel is not accessible at the expected URL, check the host and mount configuration, including the
hst:mountpointproperty. - Ensure that the
hippo:contentproperty for the new site node points to the correct JCR path.