Forum Discussion

Xprime's avatar
Xprime
Helper
8 years ago

Error in post preview

Hello everyone,

 

I would like to reach you about an issue I am currently experiencing.

Our team created a custom social bar tool for a Lithium community that looks like this 

So we don't use the native Lithium social bar.

 

Everything works fine except the following point : When you create any kind of post and want to preview it before publishing it, you can click on preview, and see how it will looks like. Including the related social bar.

 

Actually we get this : 

It seems the preview mode cannot display the social bar, it ends with a freemarker error.

 

Our guess is when the news is still a draft and you use the preview to see it, the social bar can not get back the URL ot the page as it is a draft, so it ends with an error.

FTL stack trace ("~" means nesting-related):
- Failed at: #assign href = env.context.message.we... [in template "Barre_Sociale_Orange" at line 11, column 5]

 

But if you publishthe news, there is no more issue.

 

We are using the following code :

<#if coreNode.id?lower_case == 'trucs-astuces' || coreNode.id?lower_case == 'testeursosh' || coreNode.id?lower_case == 'testsencours' || coreNode.id?lower_case == 'testsmobiles' || coreNode.id?lower_case == 'testsapplis' || coreNode.id?lower_case == 'accessoires' || coreNode.id?lower_case == 'bienvenue' || coreNode.id?lower_case == 'accessoires' || page.interactionStyle == 'tkb' || page.interactionStyle == 'contest'>

<#assign hashtag = "#Sosh" />

<#if coreNode.id?lower_case == 'bienvenue'>

  <#assign hashtag = "#Sosh" />

  <#if page.context.message??>

    <#assign shareTitle= page.context.message.subject />

    <#assign href= page.context.message.webUi.url />

    <#assign id= page.context.message.id />

  <#else>

    <#assign shareTitle= env.context.message.subject />

    <#assign href= env.context.message.webUi.url />

    <#assign id= env.context.message.id />

  </#if>

<#elseif coreNode.id?lower_case == 'testeursosh' || coreNode.id?lower_case == 'testsencours' || coreNode.id?lower_case == 'testsmobiles' || coreNode.id?lower_case == 'testsapplis' || coreNode.id?lower_case == 'accessoires' >

  <#assign hashtag = "#testeurSosh" />

  <#if page.context.message??>

    <#assign shareTitle= page.context.message.subject />

    <#assign href= page.context.message.webUi.url />

    <#assign id= page.context.message.id />

  <#else>

    <#assign shareTitle= env.context.message.subject />

    <#assign href= env.context.message.webUi.url />

    <#assign id= env.context.message.id />

  </#if>

<#elseif page.interactionStyle == 'tkb' || coreNode.id?lower_case == 'trucs-astuces' || page.interactionStyle == 'contest'>

  <#assign shareTitle= page.context.thread.topicMessage.subject />

  <#assign id= page.context.thread.topicMessage.id/>

  <#assign href= http.request.url />

</#if>

 

<div class="osocial-share"

  data-networks="facebook,twitter,googleplus"

  data-url="${href}?barresociale=2p"

  data-caption=""

  data-show-shared="true"

  data-twitter='{"text":"${shareTitle} ${hashtag}", "via":"Sosh_fr"}'

  data-enable-tracking="true"

  data-tracking-mode="comscore"

  data-comscore-tag="communauteSosh,barre_de_partage"

  data-skin="color">

</div>

</#if>

 

Any idea about how to fix the preview mode ?

 

I hope I am clear, in any case thank you for your advice.


Thomas

 

See the freemarker template error here : 

FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)

An error has occurred when reading existing sub-variable "url"; see cause exception! The type of the containing value was: extended_hash+string (lithium.eval.velocity.MessageWebUiTemplateModel wrapped into f.e.b.StringModel)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign href = env.context.message.we...  [in template "Barre_Sociale_Orange" at line 11, column 5]
----

Java stack trace (for programmers):
----
freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:199)
	at freemarker.core.Dot._eval(Dot.java:40)
	at freemarker.core.Expression.eval(Expression.java:78)
	at freemarker.core.Assignment.accept(Assignment.java:131)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
	at freemarker.core.IfBlock.accept(IfBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
	at freemarker.core.IfBlock.accept(IfBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.Environment.process(Environment.java:302)
	at freemarker.template.Template.process(Template.java:325)
	at lithium.template.CustomTemplateFreeMarkerParser.parseInlineTemplateThrowException(CustomTemplateFreeMarkerParser.java:161)
	at lithium.template.CustomTemplateFreeMarkerParser.parseInlineTemplate(CustomTemplateFreeMarkerParser.java:183)
	at $CustomTemplateParser_3dc0fe57944ca7.parseInlineTemplate(Unknown Source)
	at $CustomTemplateParser_3dc0fe57944bd2.parseInlineTemplate(Unknown Source)
	at lithium.web2.services.layout.CustomComponentTemplateRenderable.render(CustomComponentTemplateRenderable.java:74)
	at lithium.tapestry.services.components.CssClassRenderableDecorator$1.render(CssClassRenderableDecorator.java:64)
	at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
	at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
	at org.apache.tapestry5.internal.services.PageRenderQueueImpl$1.renderMarkup(PageRenderQueueImpl.java:142)
	at lithium.tapestry.services.internal.InternalComponentRenderer$1.renderMarkup(InternalComponentRenderer.java:155)
	at org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62)
	at org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159)
	at $PageRenderQueue_3dc0fe57944c87.renderPartial(Unknown Source)
	at $PageRenderQueue_3dc0fe57944c86.renderPartial(Unknown Source)
	at org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerminator.java:45)
	at lithium.web2.services.feedback.FeedbackTapestryModule$1.renderMarkup(FeedbackTapestryModule.java:57)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at lithium.web.javascript.tapestry.services.JavaScriptTapestryModule$2.renderMarkup(JavaScriptTapestryModule.java:161)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$37.renderMarkup(TapestryModule.java:2141)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$36.renderMarkup(TapestryModule.java:2125)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$35.renderMarkup(TapestryModule.java:2107)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$34.renderMarkup(TapestryModule.java:2091)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$33.renderMarkup(TapestryModule.java:2073)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$32.renderMarkup(TapestryModule.java:2048)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at lithium.web.javascript.tapestry.services.JavaScriptTapestryModule$1.renderMarkup(JavaScriptTapestryModule.java:141)
	at $PartialMarkupRenderer_3dc0fe579451d4.renderMarkup(Unknown Source)
	at $PartialMarkupRenderer_3dc0fe57944cb6.renderMarkup(Unknown Source)
	at lithium.tapestry.services.internal.InternalComponentRenderer.renderPartial(InternalComponentRenderer.java:171)
	at lithium.tapestry.services.internal.InternalComponentRenderer.render(InternalComponentRenderer.java:388)
	at lithium.tapestry.services.internal.InternalComponentRenderer.getInternalComponentJsonObect(InternalComponentRenderer.java:324)
	at lithium.tapestry.services.internal.InternalComponentRenderer.getComponentJsonObject(InternalComponentRenderer.java:291)
	at $ComponentRenderer_3dc0fe57944b19.getComponentJsonObject(Unknown Source)
	at lithium.web2.components.message.MessageEditorForm.onSuccess(MessageEditorForm.java:1131)
	at lithium.web2.components.message.MessageEditorForm.dispatchComponentEvent(MessageEditorForm.java)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:940)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1117)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3100(ComponentPageElementImpl.java:61)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1062)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1059)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
	at org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1058)
	at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:302)
	at lithium.web2.components.li.Form.advised$onAction_3dc0fe57944d56(Form.java:644)
	at lithium.web2.components.li.Form$Invocation_onAction_3dc0fe57944d55.proceedToAdvisedMethod(Unknown Source)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:84)
	at org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at lithium.web2.components.li.Form.onAction(Form.java)
	at lithium.web2.components.li.Form.dispatchComponentEvent(Form.java)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:940)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1117)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3100(ComponentPageElementImpl.java:61)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1062)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1059)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
	at org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1058)
	at org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:110)
	at org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter.handle(AjaxFormUpdateFilter.java:56)
	at $ComponentEventRequestHandler_3dc0fe57945673.handle(Unknown Source)
	at $ComponentEventRequestHandler_3dc0fe5794566b.handle(Unknown Source)
	at org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
	at $ComponentEventRequestHandler_3dc0fe5794566c.handle(Unknown Source)
	at org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
	at $ComponentEventRequestHandler_3dc0fe5794566c.handle(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$41.handle(TapestryModule.java:2476)
	at $ComponentEventRequestHandler_3dc0fe5794566c.handle(Unknown Source)
	at lithium.web2.services.text.TextVariantSetupComponentActionRequestFilter.handle(TextVariantSetupComponentActionRequestFilter.java:122)
	at $ComponentEventRequestHandler_3dc0fe5794566c.handle(Unknown Source)
	at org.apache.tapestry5.upload.internal.services.HackUploadExceptionFilter.handle(HackUploadExceptionFilter.java:83)
	at $ComponentEventRequestHandler_3dc0fe5794566c.handle(Unknown Source)
	at lithium.web2.services.actions.NoIndexAndNoFollowActionEventRequestFilter.handle(NoIndexAndNoFollowActionEventRequestFilter.java:54)
	at $ComponentEventRequestHandler_3dc0fe5794566c.handle(Unknown Source)
	at lithium.web2.services.ticketing.TicketingComponentActionRequestHandlerDecorator.handle(TicketingComponentActionRequestHandlerDecorator.java:187)
	at lithium.studio.web.common.services.publish.PublishWorkflowComponentEventRequestHandler.handle(PublishWorkflowComponentEventRequestHandler.java:57)
	at lithium.studio.web.common.services.StudioPublishPreviewComponentEventRequestHandlerDecorator.handle(StudioPublishPreviewComponentEventRequestHandlerDecorator.java:53)
	at lithium.web2.services.corenode.CoreNodeProviderComponentActionRequestHandlerDecorator.handle(CoreNodeProviderComponentActionRequestHandlerDecorator.java:72)
	at lithium.web2.services.exceptions.ExceptionComponentEventRequestHandlerDecorator.handle(ExceptionComponentEventRequestHandlerDecorator.java:72)
	at lithium.tapestry.services.parameter.ParameterMapServiceComponentActionRequestHandlerDecorator.handle(ParameterMapServiceComponentActionRequestHandlerDecorator.java:77)
	at lithium.lia.components.tapestry.services.page.CurrentPageComponentEventRequestHandlerDecorator.handle(CurrentPageComponentEventRequestHandlerDecorator.java:67)
	at $ComponentEventRequestHandler_3dc0fe57944b2f.handle(Unknown Source)
	at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
	at org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
	at $ComponentRequestHandler_3dc0fe57944b31.handleComponentEvent(Unknown Source)
	at $ComponentRequestHandler_3dc0fe57944af1.handleComponentEvent(Unknown Source)
	at org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
	at $Dispatcher_3dc0fe57944af6.dispatch(Unknown Source)
	at $Dispatcher_3dc0fe57944ab9.dispatch(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
	at lithium.web2.services.feature.PageVersionRequestFilter.service(PageVersionRequestFilter.java:183)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at lithium.web2.services.routes.RoutesFilter.service(RoutesFilter.java:109)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at lithium.web2.services.mobile.MobileRequestFilter.service(MobileRequestFilter.java:174)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at lithium.kudos.web.common.services.KudosRewriteFilter.service(KudosRewriteFilter.java:79)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at lithium.wireless.web.common.services.WirelessRequestFilter.service(WirelessRequestFilter.java:186)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at lithium.web2.services.seourl.SeoRequestFilter.service(SeoRequestFilter.java:80)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
	at $RequestHandler_3dc0fe57944aba.service(Unknown Source)
	at $RequestHandler_3dc0fe57944aa3.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
	at lithium.appcreator.web.common.services.AppSelectorServletRequestFilter.service(AppSelectorServletRequestFilter.java:66)
	at $HttpServletRequestHandler_3dc0fe57944aa4.service(Unknown Source)
	at org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
	at $HttpServletRequestHandler_3dc0fe57944aa4.service(Unknown Source)
	at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
	at $HttpServletRequestFilter_3dc0fe57944a9f.service(Unknown Source)
	at $HttpServletRequestHandler_3dc0fe57944aa4.service(Unknown Source)
	at lithium.web2.services.request.LiaContextHttpServletRequestFilter.service(LiaContextHttpServletRequestFilter.java:64)
	at $HttpServletRequestHandler_3dc0fe57944aa4.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
	at $HttpServletRequestHandler_3dc0fe57944aa4.service(Unknown Source)
	at $HttpServletRequestHandler_3dc0fe57944a77.service(Unknown Source)
	at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.HttpRequestContextFilter.doHttpFilter(HttpRequestContextFilter.java:77)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.ContentSecurityPolicyHeaderFilter.doHttpFilter(ContentSecurityPolicyHeaderFilter.java:66)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.MaskedIpFilter.doHttpFilter(MaskedIpFilter.java:84)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.HashedIpFilter.doHttpFilter(HashedIpFilter.java:166)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.boards.servlet.pagecache.AnonymousPageCacheManager.doHttpFilter(AnonymousPageCacheManager.java:139)
	at lithium.boards.servlet.pagecache.AnonymousPageCacheFilter.doHttpFilter(AnonymousPageCacheFilter.java:41)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.boards.servlet.pagecache.PageCacheManager.doHttpFilter(PageCacheManager.java:403)
	at lithium.boards.servlet.pagecache.PageCacheFilter.doHttpFilter(PageCacheFilter.java:42)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.device.ClientDeviceDetectionFilter.doHttpFilter(ClientDeviceDetectionFilter.java:249)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.banuser.BannedUserFilter.doHttpFilter(BannedUserFilter.java:129)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.traffic.visitor.VisitorFilter.doHttpFilter(VisitorFilter.java:42)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.session.OptimizelySessionFilter.doHttpFilter(OptimizelySessionFilter.java:102)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.session.UserSessionFilter.doHttpFilter(UserSessionFilter.java:255)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.MultipartRequestHttpFilter.doHttpFilter(MultipartRequestHttpFilter.java:46)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.MimeFilter.doHttpFilter(MimeFilter.java:37)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.limit.StandardLimitPool.processRequest(StandardLimitPool.java:588)
	at lithium.servlet.limit.StandardLimitManager.processRequest(StandardLimitManager.java:190)
	at lithium.servlet.limit.LimitFilter.doHttpFilter(LimitFilter.java:67)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.RequestTransformFilter.doHttpFilter(RequestTransformFilter.java:72)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.MetricsFilter.doHttpFilter(MetricsFilter.java:95)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.SetHeaderValidationFilter.doHttpFilter(SetHeaderValidationFilter.java:52)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.SessionIdStripperFilter.doHttpFilter(SessionIdStripperFilter.java:44)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.device.AgentDetectionFilter.doHttpFilter(AgentDetectionFilter.java:111)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.session.ReplicatedSessionFilter.doFilter(ReplicatedSessionFilter.java:57)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.rewrite.RewriteFilter.doHttpFilter(RewriteFilter.java:410)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.FacebookSignedRequestFilter.doHttpFilter(FacebookSignedRequestFilter.java:128)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.BlackboxFilter.doHttpFilter(BlackboxFilter.java:88)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.OperationsLoggingFilter.doHttpFilter(OperationsLoggingFilter.java:117)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.tracking.TrackingManager.doHttpFilter(TrackingManager.java:263)
	at lithium.servlet.tracking.TrackingFilter.doHttpFilter(TrackingFilter.java:25)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.boards.servlet.ClearStateFilter.doHttpFilter(ClearStateFilter.java:65)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.util.http.GenericFilter.doHttpFilter(GenericFilter.java:21)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.NotSecureSessionCookieFilter.doHttpFilter(NotSecureSessionCookieFilter.java:76)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.AccessCheckFilter.doHttpFilter(AccessCheckFilter.java:107)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.util.servlet.P3PHeaderFilter.doHttpFilter(P3PHeaderFilter.java:80)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.VanityHostnameRedirectFilter.doHttpFilter(VanityHostnameRedirectFilter.java:96)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.CanonicalIpFilter.doHttpFilter(CanonicalIpFilter.java:50)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.ForwardedHeadersFilter.doHttpFilter(ForwardedHeadersFilter.java:313)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.funnel.FunnelManager.doHttpFilter(FunnelManager.java:74)
	at lithium.servlet.funnel.FunnelFilter.doHttpFilter(FunnelFilter.java:41)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at lithium.util.http.DelegatingApplicationFilterProxy.doFilter(DelegatingApplicationFilterProxy.java:184)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.apps.main.container.filters.ApplicationSelectorFilter.doHttpFilter(ApplicationSelectorFilter.java:176)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.PutTomcatRequestinAttributeFilter.doFilter(PutTomcatRequestinAttributeFilter.java:60)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:57)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at lithium.servlet.ThreadNameFilter.doHttpFilter(ThreadNameFilter.java:49)
	at lithium.util.http.HttpFilter.doFilter(HttpFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at lithium.apps.main.webserver.Tomcat70Bootstrap$3.invoke(Tomcat70Bootstrap.java:393)
	at lithium.apps.main.webserver.Tomcat70Bootstrap$2.invoke(Tomcat70Bootstrap.java:346)
	at lithium.apps.main.webserver.SessionIdValidator.invoke(SessionIdValidator.java:107)
	at lithium.apps.main.webserver.ApplicationWebserverConfigurationValve.invoke(ApplicationWebserverConfigurationValve.java:69)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1458)
	at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:255)
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:159)
	... 358 more
Caused by: java.lang.IllegalArgumentException: BlogArticlePage requires a referenceable article or comment,but the provided article or comment isn't referenceable - TransientMessage[baseMessage=null,board=[blog'News' - CoreNode(class lithium.boards.core.Board)[SQLCoreNodeinfo: owner=-1 metricsId=311 hidden=true hiddenAncestor=false deleted=false nodeId=77 parentNodeId=3 type=DaoNodeTypeRef[nodeTypeUid=3] displayId='Bienvenue' path=NodePath:/1/3/, depth:3]],messageBean=MessageBean[authorUser=User[uid=329,login=llagouarde],parent=<null>,subject=Test,body=<p>Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum&nbsp;<span>Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum&nbsp;Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum&nbsp;Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum&nbsp;Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum v&nbsp;Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum &nbsp;Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum&nbsp;Lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum</span></p>,teaser=,bodyFormat=html,titles=[],postDate=Tue Oct 04 17:37:33 CEST 2016,languageCode=FR,attributeMask=4231424,attributeValues=256,revisionComment=<null>,minorEdit=<null>,revisionAttentionState=<null>,revision=<null>,extensionBeans={class lithium.coreapi.boards.message.listeners.FilterMessageListenerIdentifier$Parameters=lithium.coreapi.boards.message.listeners.FilterMessageListenerIdentifier$Parameters@1c045c27, class lithium.coreapi.metadata.MetadataTargetChangeData=lithium.coreapi.metadata.MetadataTargetChangeData@548e8db, class lithium.coreapi.subscription.SubscriptionModule$MessagePostParameters=lithium.coreapi.subscription.SubscriptionModule$MessagePostParameters@5db846be, class lithium.coreapi.boards.message.listeners.ScheduledPublicationMessageListenerIdentifier$Parameters=lithium.coreapi.boards.message.listeners.ScheduledPublicationMessageListenerIdentifier$Parameters@36e54d2e},reasonBoxData=lithium.coreapi.boards.ReasonBoxData@83edab1,propertyChanges=[],actionParameterOverrides={}],lastEditUsernull,lastEditDate=null]
	at lithium.coreapi.blogs.ui.BlogArticlePageLinkRef.<init>(BlogArticlePageLinkRef.java:90)
	at lithium.blogs.BlogDiscussionStyleBehavior.getPageLinkRefForMessage(BlogDiscussionStyleBehavior.java:306)
	at lithium.urls.legacy.MessageToPageLinkRefMapper.mapObjectToPageLinkRef(MessageToPageLinkRefMapper.java:40)
	at lithium.urls.legacy.MessageToPageLinkRefMapper.mapObjectToPageLinkRef(MessageToPageLinkRefMapper.java:29)
	at lithium.urls.UrlManager.getDefaultPageLinkRefForObject(UrlManager.java:579)
	at lithium.coreapi.webui.urls.impl.LithiumObjectToDefaultPageLinkRefMapperServiceImpl.toDefaultPageLinkRef(LithiumObjectToDefaultPageLinkRefMapperServiceImpl.java:51)
	at lithium.coreapi.webui.urls.impl.LithiumObjectToDefaultPageUrlMapperServiceImpl.toDefaultUrl(LithiumObjectToDefaultPageUrlMapperServiceImpl.java:52)
	at lithium.eval.velocity.MessageWebUiTemplateModel.getUrl(MessageWebUiTemplateModel.java:48)
	... 365 more

 

  • DougS's avatar
    DougS
    Khoros Oracle

    Hi Thomas,

     

    This looks like a bug. We will file an issue to fix this. In the meantime, you could work around the problem by adding a function that will catch the exception an return an empty string for the url -- something like this:

     

    <#function getMessgeUrl message>
    <#local msgUrl = "" />
    <#attempt>
    <#local msgUrl = message.webUi.url />
    <#recover>
    </#attempt>
    <#return msgUrl />
    </#function>

     Then call that function in your code

     

      <#if page.context.message??>
        <#assign shareTitle= page.context.message.subject />
        <#assign href= getMessageUrl(page.context.message) />
        <#assign id= page.context.message.id />
      <#else>
        <#assign shareTitle= env.context.message.subject />
        <#assign href= getMessageUrl(env.context.message) />
        <#assign id= env.context.message.id />
      </#if>

     -Doug