Experience Manager Troubleshooting
Contents
This page describes common problems with the Experience manager and how to solve them:
Preview of channels in the CMS and in a separate window does not work behind Apache Web Server
Channels are showing a blank page with message to reload page
Stacktraces MissingResourceException when clicking 'Channel Settings' in Experience manager
Changes in Blueprints through the Console are not visible in the Experience manager at 'Add Channel'
Component configuration not persisted when user publishes changes in the Experience manager
Common Problems
Experience Manager is not visible
Make sure the logged in CMS user has theuserrole
xm.channel.user
Users not having the above userrole won't see the Experience manager application.
Channel Overview does not show any channels
In case the Channel Overview is empty while you do have actual channels, then most likely you have one (or more) of the following problems:
- The CMS host over which you access the CMS is not configured below/hst:platform.
- The CMS host is configured below/hst:platform, but the hostGroup it is configured in does not match the hostGroup of the HST webapp hst configuration(s).
- You have accessed the CMS with queryString?HstMode=false.
- The HST site webapp(s) does not have the property hst.configuration.rootPath inhst-config.properties pointing to the HST root node for that webapp.
- Thehst-api.jar is in the CMS webapp as explicit jar. Make sure it gets removed since it should be part of the shared lib.
- CMS webappweb.xml does not contain the mandatory HST context params and filter.
- The current CMS user does not have privilege to see any channel, seeAccess Channels.
To fix 1, 2 and 3, take a look atHosts Configuration. For 4, take a look atHST Configuration Model Introduction. Fixing 5 is a matter of removing thehst-api.jar from the CMS dependencies. To fix 6, it is best to compare your CMSweb.xml with theweb.xml as created by an archetype project.
Wrong channels are shown in Channel Overview
In case the wrong channels are shown (or the wrong URLs for the live channels), then the matching CMS host most likely has a wrong hostGroup. For example, the matching CMS host is below the hostGroup 'acct-ent' while it should for example have been the 'prod-env' since production URLs should be displayed. Follow the documentation in Hosts Configuration.
Not all channels are listed in Channel Overview
In case you have multiple HST site webapps and you are missing the channels from a particular HST site webapp, then most likely:
- one of the HST site webapps has its channels below a different hostGroup then the hostGroup of the matched CMS host (below/hst:platform) or
- one of the HST site webapps does not have the correct HST rootPath configured in itshst-config.properties.
- the current CMS user does not have privilege for all channels, seeAccess Channels andChannel Filtering.
See Hosts Configuration or HST Configuration Model Introduction to fix 1 and/or 2.
Channel does not load and network shows a 409 (conflict)
This can happen in a clustered environment when you did not set up the loadbalancer correctly. SeeBloomreach Experience Manager Loadbalancing Requirements how to set up the loadbalancer correctly.
'New' option is not available in Page menu
If in the Experience manager you have the menu 'Page' open but you do not see the 'New' option as shown in the image below, then your project configuration does not have anyprototype pages defined. The option will only be available for configurations that have prototype pages. If you add prototypes, the button will appear.

Preview of channels in the CMS and in a separate window does not work behind Apache Web Server
Make sure that VirtualHost configuration for the cms also contains a extra PROXYPASS for/site/
<VirtualHost *:80> ServerName cms.example.com ProxyPreserveHost Off #INCLUDE THE EXTRA PROXYPASS RULE FOR /site HERE ProxyPass /site/ http://127.0.0.1:8080/site/ ProxyPass / http://127.0.0.1:8080/cms/ ProxyPassReverse / http://127.0.0.1:8080/cms/ ProxyPassReverseCookiePath /cms /</VirtualHost>
Opening a channel shows a blank page
This can happen if your network infrastructure have disabled httpHEAD requests, for example in a Citrix virtualization environment. In this case, you have to contact your system administrators in order to verifyHEAD request type is not blocked.
This can also happen if you integrated the CMS authoring application with a web application security framework (such as Spring Security) which sets the response header X-Frame-Options to DENY. Bloomreach Experience Manager requires anX-Frame-Options response header valueSAMEORIGIN. Spring Security Framework sets it to DENY by default since version 4.0. If you integrated with Spring Security Framework version 4.0 or later, change the response header value toSAMEORIGIN.
Wrong or empty channel opens inExperience manager
In the logs you can find messages back something like
WARN http-nio-8080-exec-3 [VirtualHostsService.warnDuplicateChannel:450] Skip channel with id '${project-channel}' because already present for host group '${project-specific-hostgroup}'. Most likely there is a parent channel that already is a channel mngr channel. Set 'hst:nochannelinfo = true' on mount 'MountService [jcrPath=${project-specific-path}, hostName=${project-specific-host}]' to avoid this problem.This can be a result of a very specific setup that used to work a tiny bit different in older versions, but works a tiny bit different in versions since CMS 12.0.0. The cause and fix and described atExplicitly hide a Mount in the Experience manager.
Unable to find package resource nl.png
If you get a warning like this in the log files:
WARN [org.apache.wicket.markup.html.PackageResource.getResourceStream():594] Unable to find package resource [path = org/onehippo/cms7/channelmanager/channels/nl.png, style = null, locale = null]
make sure thehst:locale in the accessed mount is a proper Java locale likenl_NL
Channels are showing a blank page with message to reload page
- Try reloading CMS interface after removing browser cache data
- Check if response header contains header with nameX-Frame-Optionsand value"DENY".
Stacktraces MissingResourceException when clicking 'Channel Settings' in Experience manager
When you see stacktraces when clicking 'Channel Settings' like below:
17.12.2013 15:05:55 ERROR [org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage():116] Error occurred during error handling, give up! org.apache.cxf.interceptor.Fault: Can't find bundle for base name org.onehippo.forge.channels.WebsiteInfo, locale en at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162) at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128) at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:167).........Caused by: java.util.MissingResourceException: Can't find bundle for base name org.example.channels.WebsiteInfo, locale en at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322) at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)......
Then you either do not have added i18n resource bundles (in this caseWebsiteInfo.properties,WebsiteInfo_de.properties, etc) next to theWebsiteInfo class, or, in case you have, you do not have added to thesite/components/pom.xml<build> section the following part:
<build> ... ... <resources> <resource> <directory>src/main/java</directory> <filtering>false</filtering> <includes> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources></build>
Changes in Blueprints through the Console are not visible in the Experience Manager at 'Add Channel'
This is due to caching of blueprints. To be able to see the changes, made to blueprints in the /console, in the Experience manager, you need to logout from the CMS and login again.
Blueprint 'reusing existing content' does not work
Even though you have added ahst:site node withhst:content property to the blueprint, still you do not get to see a picker to select the existing content to use for a new channel. When this is the case, it might be that for your blueprint, you still have a bootstrap content node (same name as blueprint node) configured below /hippo:configuration/hippo:queries/hippo:templates/new-subsite/hippostd:templates. That one takes precedence over thehst:site/hst:content property.
No borders visible for containers and components
The Experience manager relies on HTML comments in the markup to be able to render containers and components. For instance, taken from our demo environment, the HST inserts comments like this in the page:
<!-- { "HST-Label":"bannercarousel", "HST-LastModified":"1490608164816", "HST-XType":"HST.Item", "uuid":"8d3699eb-fb88-41c9-8d10-590c2b7f9335", "HST-Type":"CONTAINER_ITEM_COMPONENT", "refNS":"r33_r1_r1_r1", "url":"/site/_cmsinternal/uk?_hn:type=component-rendering&_hn:ref=r33_r1_r1_r1"} -->with a matching end comment:
<!-- { "uuid":"8d3699eb-fb88-41c9-8d10-590c2b7f9335", "HST-End":"true"} -->If (blue) borders are not showing for containers and components in the Experience manager, this can be caused by an optimization in your webapp container or web server. For instance, in Tomcat there could be a filter installed that strips out HTML comments. Web servers like Apache httpd or Nginx also have optimization capabilities.
To resolve this, configure your set-up to not strip HTML comments during CMS requests.
Channel settings not editable
There can be multiple reasons why channel settings are not editable (read-only). It can be that the channel settings have been modified by someone else but not yet published. In this case, the settings are locked. It can also be that the entirehst:configuration node hashst:locked = true, resulting in that everything is locked. Another possibility is that thehst:channel node is located directly below thehst:configuration node and not below thehst:workspace. So if for example your channel is myproject, and the channel node location is
/hst:hst: /hst:configurations: /myproject: /hst:channel: /hst:channelinfo:
then the channel settings in the Experience manager will be read-only. To make the channel settings editable, move the node belowhst:workspace:
/hst:hst: /hst:configurations: /myproject: /hst:workspace: /hst:channel: /hst:channelinfo:
Last reason why the channel settings can be read-only is thehst:channel node is not configured below thehst:configuration for the channel you are looking at, but that it comes from an inherited channel. In that case, the channel settings are read-only as well.
Projects feature does not work
The fix described here only applies to Bloomreach Experience Manager 13.0 and 13.1. As of version 13.2, thehst:defaulthostname property cannot cause this problem any more.
If theProjects feature malfunctions (on other hosts that localhost typically), it might be that the propertyhst:defaulthostname is configured on ahst:hosts node. When present, the propertyhst:defaulthostname must be removed.
Component configuration not persisted when user publishes changes in the Experience manager
The Experience manager first does a PUT when pressing the publish button, and it does a DELETE when deleting a component from a container. Use your a network monitor (for example in your browser's developer tools) to check if PUT and/or DELETE requests are failing. This may be caused by the server environment blocking PUT and/or DELETE requests.