Candidates may not be null or empty

I’m getting this rather unhelpful error message when previewing one of my content lists in one of my editions.

What’s confusing me, though, is that previewing the same content list in a different edition works fine and testing the JCR-SQL query in the query debugger (http://cmsrxdev:9992/Rhythmyx/test/search.jsp) is working fine.

The only differences between the two editions are as follows:
[ul]
[li]IDs — working: 305; broken: 355
[/li][li]Site URLs — working: http://devarea ; broken: http://testarea2
[/li][li]Pubroot — working: \ estweb\uSwitch ; broken: \ estarea2\uSwitch
[/li][/ul]
All of which are obvious. The only other difference is in the homepage URL, where I would guess the problem must lie:
[ul]
[li]Working: …render?sys_revision=2 &sys_siteid=305 &sys_itemfilter=preview &sys_template=uswDsIndexPage &sys_contentid=399 &sys_folderid=305 &sys_context=0
[/li][li]Broken: …render?sys_revision=2 &sys_siteid=355 &sys_itemfilter=preview &sys_template=uswDsIndexPage &sys_contentid=399 &sys_folderid=305 &sys_context=0
[/li][/ul]
, except that emptying this optional field doesn’t fix the problem. (I inserted spaces for legibility)

I’ve looked through the Implementation Guide, which didn’t help at all, and am running out of ideas; anyone able to help, please?

Hi Owen

Which version of Rhythmyx are you using? has it been upgraded?

Is it the candidates you’re trying to preview? you used to get a similar error in 5.x when using the sys_casAutoRelatedContent exit on a resource without having specify the LinkURL.

Cheers
James

We’re using Rhythmyx 6.5

Owen,

Do you get a “Stack Trace” either on the console or in the server.log file? If you could post that (or send it to me), I suspect it would help.

Dave

2008-01-24 16:00:58,794 ERROR [PSContentListServlet] Content list failure
java.lang.IllegalArgumentException: candidates may not be null or empty
at com.percussion.services.publisher.impl.PSBaseTemplateExpander.findTemplates(Unknown Source)
at com.percussion.services.publisher.impl.PSBaseTemplateExpander.expand(Unknown Source)
at com.percussion.services.publisher.impl.PSPublisherService.executeContentList(Unknown Source)
at sun.reflect.GeneratedMethodAccessor583.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
at $Proxy103.executeContentList(Unknown Source)
at com.percussion.services.publisher.impl.PSContentListServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.percussion.webdav.PSWebDavRequestFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.percussion.servlets.PSSecurityFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Unknown Source)

This usually happens because you don’t have any publishable templates registered for that content type on that site.

Open the uswDsIndexPage template in the workbench. Click on the “Sites” tab (on the bottom right of the editor). You will see 2 columns: Sites where the template is Hidden and Sites where it is visible.

Move the “test2” site to the Visible column and save the template.

Dave

PS: I think we’ve improved the error message in the next release.

Indeed, one of your colleagues pointed out the same thing to me and that has indeed fixed it.

Ah, awesome. My main frustration with Rhythmyx is the quality of the error messages. (And that I can’t jump to a different site in the publication log, that’s just irritating :wink: )

Thank you very much, anyways; that problem is now resolved.

That has just fixed the same problem for us too. Thank you.

Rhythmyx is very frustrating to use. Everyone here hates using it.