Experience Manager
Introduction
The Experience manager allows webmasters to manage multiple channels inside the CMS. A channel can be any HST site, like a website, mobile site, REST API, etc. Each channel is tied to one mount inside an HST host group. A mount references the channel it belongs to. Mounts without a channel are not shown in the Experience manager.

The CMS shows an overview of all available channels. Each channel can be previewed inside the CMS, meaning that here authors and webmasters can see what a channel will look like before publishing document or channel changes.
When thehst:manageContent tag is used in page templates, the preview shows a button next to each rendered document that opens thevisual editor for that document. Similarly, when thehst:cmseditmenu tag is used for a menu, a button will be shown that allows the webmaster to edit the menu. TheChannel Editor can be usedinside the same preview, allowing a webmaster to add components to containers inside the page.

Channels can have channel wide settings. Developers candefine these channel's configuration parameters in a Java interface. TheseSettings can be configured to be editable or read-only in the Experience manager, seeWorkspace Configuration. HST components can access these properties via Java interfaces.

Besides managing existing sites, the Experience manager can also create new sites fromblueprints defined by developers. A webmaster only needs to click 'Add channel', select the blueprint to use, and provide a name and URL for the new channel.
Define available channels
To show an HST mount as a channel in the Experience manager, you must create anhst:channel node for it that contains the name of the channel and (optionally) the channel properties and the interface name to access them.
For example, we have a channel called 'example' with the URL 'http://www.example.com'. The HST host configuration would contain the mount
/hst:hst/hst:hosts/dev-localhost/com/example/www/hst:root
To show this channel in the Experience manager, make sure the hst:channel node exists in the configuration:
/hst:hst: /hst:configurations: /example: /hst:channel: jcr:primaryType: hst:channel hst:name: Example
The Experience manager overview will now show the channel with the name ‘Example’ with the URL ‘http://www.example.com'. If the channel settings need to be editable, configure the channel in the workspace as below, also seeWorkspace Configuration.
/hst:hst: /hst:configurations: /example: /hst:workspace: /hst:channel: jcr:primaryType: hst:channel hst:name: Example
Experience manager host group
HST allows multiple host groups (e.g. to distinguish between different deployment environments like test, staging or production). By setting up thehosts configuration correctly the Experience manager will use the hosts group for the environment the CMS runs on.
Authorization
By default, all CMS users have access to the Experience manager since by default they all have userrole xm.channel.user which is the required userrole to access the Experience manager app.
Users in groupsauthor andeditor have the userrolexm.channel.viewer, allowing them to see the channel overview and preview channels.
All users in the groupwebmaster have userrole xm.channel.webmaster, allowing then to edit and publish channels.
Users in theadmin group have userrolexm.channel.admin which allows administration of channel in the Experience manager, including creating new channels and publishing changes made by other users within a channel.
Typically, users who need to work in the Experience manager would be added to the webmaster group. For example, the following YAML source definition adds the user 'editor' to the group 'webmaster':
definitions: config: /hippo:configuration/hippo:groups/webmaster: hipposys:members: operation: add type: string value: [editor]
giving them the privilege to modify channels.
Channels Filtering
If you want channel filtering different from the default enabled filtering based on whether the cms user can read the content of the channel, you can plug in your own filters. SeeAccess Channels and Channel Filtering how to achieve this.
FAQ
How do I get the 'Add Channel' button?
The 'Add Channel' button will only be shown if:
There is at least oneblueprint defined
The user is allowed to create new channel (see the previous section on authorization)
How do I remove the '_cmsinternal' suffix from the preview URLs in the CMS?
When you preview a channel by clicking 'preview' in the Experience manager, the URL will by default end with '_cmsinternal'. The page 'Getting rid of the _cmsinternal in the site preview links from the Experience manager' explains when and how this part can be removed.
How do I remove a channel
It is possible to remove a channel from the Experience manager using the CMS console. In CMS UI it is only possible to remove a channel if the channel is configured to be deletable, seeEnable Administrators to Delete a Channel. To remove a channel from the Experience manager, perform the following steps:
- Log in to theconsole
- If you only want to remove the channel from the Experience manager UI in the cms (but for the rest keep the channel), you can remove thehst:channel node below thehst:configuration for the channel.
- If you also want to delete the underlying site, perform the following additional steps:
- Delete the configuration of the channel: navigate to/hst:hst/hst:configurations and delete the node corresponding to your channel (also the-preview)
- Delete the links to the content of the channel: navigate to/hst:hst/hst:sites and delete the node corresponding to your channel.
- Don't forget to check your hosts config under/hst:hst/hst:hosts, a host configuration pointing to a non-existing channel can also be deleted.
- ClickWrite changes to repository to persist your changes.