How do I enable daily reports without re-enabling recommended updates?

When Confluence 4.x came out, it introduced recommended updates. Popular pages sent to your inbox. Unfortunately, this optional feature was enabled by default for all users and it ultimately spammed our entire user base. The recommended approach to disable that feature was to disable the daily-summary-email plug-in. It worked.

And... daily updates emails were still sent out (not the popular pages email).

We just upgraded to Confluence 5.3 and our daily updates emails have stopped sending. The error indicates that a template from the daily-summary-email plug-in is required. However, we have that disabled to avoid the popular pages email spamming.

How can we get our daily updates emails working again and still leave the popular pages email feature disabled?

2013-11-19 00:00:44,353 ERROR [scheduler_Worker-5] [confluence.mail.jobs.DefaultDailyReportManager] queueDailyReportEmail Failed to create daily report for user hjsimpson
com.atlassian.confluence.renderer.template.TemplateRenderingException: Unable to compile Soy template in plugin module: com.atlassian.confluence.plugins.confluence-daily-summary-email:chrome-template
	at com.atlassian.confluence.plugins.soy.ConfluenceSoyTemplateRenderer.renderTo(ConfluenceSoyTemplateRenderer.java:42)
	at com.atlassian.confluence.renderer.template.DelegatingTemplateRenderer.renderTo(DelegatingTemplateRenderer.java:44)
	at com.atlassian.confluence.renderer.template.DelegatingTemplateRenderer.renderTo(DelegatingTemplateRenderer.java:25)
	at com.atlassian.confluence.mail.template.AbstractMailNotificationQueueItem.renderTemplate(AbstractMailNotificationQueueItem.java:310)
	at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem.access$201(PreRenderedMailNotificationQueueItem.java:47)
	at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem$2.call(PreRenderedMailNotificationQueueItem.java:337)
	at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem$2.call(PreRenderedMailNotificationQueueItem.java:333)
	at com.atlassian.confluence.user.AuthenticatedUserImpersonator$2.call(AuthenticatedUserImpersonator.java:134)
	at com.atlassian.confluence.user.AuthenticatedUserImpersonator$1.call(AuthenticatedUserImpersonator.java:113)
	at com.atlassian.confluence.user.AuthenticatedUserImpersonator.asUser(AuthenticatedUserImpersonator.java:89)
	at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem.renderTemplateForRecipient(PreRenderedMailNotificationQueueItem.java:332)
	at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem.renderTemplate(PreRenderedMailNotificationQueueItem.java:287)
	at com.atlassian.confluence.mail.template.AbstractMailNotificationQueueItem.renderLegacyTemplate(AbstractMailNotificationQueueItem.java:303)
	at com.atlassian.confluence.mail.template.AbstractMailNotificationQueueItem.preRenderBody(AbstractMailNotificationQueueItem.java:223)
	at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem$Builder.render(PreRenderedMailNotificationQueueItem.java:498)
	at com.atlassian.confluence.mail.jobs.DefaultDailyReportManager.queueDailyReportEmail(DefaultDailyReportManager.java:134)
	at com.atlassian.confluence.mail.jobs.DefaultDailyReportManager.generateDailyReports(DefaultDailyReportManager.java:92)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.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:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
	at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at com.sun.proxy.$Proxy92.generateDailyReports(Unknown Source)
	at com.atlassian.confluence.mail.jobs.DailyReportJob.doExecute(DailyReportJob.java:29)
	at com.atlassian.quartz.jobs.AbstractJob.executeInternal(AbstractJob.java:88)
	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
	at com.atlassian.confluence.setup.quartz.DelegatingClusterAwareQuartzJobBean.executeJob(DelegatingClusterAwareQuartzJobBean.java:16)
	at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:64)
	at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46)
	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
	at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool$1.run(ConfluenceQuartzThreadPool.java:20)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: com.atlassian.soy.renderer.SoyException: Unable to compile Soy template in plugin module: com.atlassian.confluence.plugins.confluence-daily-summary-email:chrome-template
	at com.atlassian.soy.impl.DefaultSoyManager.render(DefaultSoyManager.java:123)
	at com.atlassian.soy.impl.SoyTemplateRendererImpl.render(SoyTemplateRendererImpl.java:40)
	at sun.reflect.GeneratedMethodAccessor732.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:307)
	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at com.sun.proxy.$Proxy847.render(Unknown Source)
	at com.atlassian.confluence.plugins.soy.ConfluenceSoyTemplateRenderer.renderTo(ConfluenceSoyTemplateRenderer.java:38)
	... 39 more
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Required plugin module com.atlassian.confluence.plugins.confluence-daily-summary-email:chrome-template was either missing or disabled
	at com.google.common.cache.CustomConcurrentHashMap$ComputedUncheckedException.get(CustomConcurrentHashMap.java:3305)
	at com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3441)
	at com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322)
	at com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291)
	at com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802)
	at com.google.common.cache.ComputingCache.get(ComputingCache.java:46)
	at com.google.common.cache.AbstractCache.getUnchecked(AbstractCache.java:49)
	at com.atlassian.soy.impl.TemplateSetFactory.get(TemplateSetFactory.java:63)
	at com.atlassian.soy.impl.DefaultSoyManager.strainTofu(DefaultSoyManager.java:209)
	at com.atlassian.soy.impl.DefaultSoyManager.access$100(DefaultSoyManager.java:36)
	at com.atlassian.soy.impl.DefaultSoyManager$1.load(DefaultSoyManager.java:68)
	at com.atlassian.soy.impl.DefaultSoyManager$1.load(DefaultSoyManager.java:64)
	at com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3426)
	at com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322)
	at com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291)
	at com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802)
	at com.google.common.cache.ComputingCache.get(ComputingCache.java:46)
	at com.google.common.cache.AbstractCache.getUnchecked(AbstractCache.java:49)
	at com.atlassian.soy.impl.DefaultSoyManager.render(DefaultSoyManager.java:104)
	... 61 more
Caused by: java.lang.IllegalStateException: Required plugin module com.atlassian.confluence.plugins.confluence-daily-summary-email:chrome-template was either missing or disabled
	at com.atlassian.soy.impl.TemplateSetFactory$TemplateSetBuilder.addTemplatesForTree(TemplateSetFactory.java:99)
	at com.atlassian.soy.impl.TemplateSetFactory$TemplateSetBuilder.access$200(TemplateSetFactory.java:82)
	at com.atlassian.soy.impl.TemplateSetFactory.findRequiredTemplates(TemplateSetFactory.java:76)
	at com.atlassian.soy.impl.TemplateSetFactory.access$000(TemplateSetFactory.java:25)
	at com.atlassian.soy.impl.TemplateSetFactory$1.load(TemplateSetFactory.java:47)
	at com.atlassian.soy.impl.TemplateSetFactory$1.load(TemplateSetFactory.java:43)
	at com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3426)
	... 78 more

2 answers

1 accepted

This widget could not be displayed.

I received a response from Atlassian support. The explanation was that the cross dependencies on these plug-ins was due to the new use of soy templates with 5.x. The recommended fix was to re-enable the recommended updates plug-in and immediately disable the scheduled job that sends the recommneded updates email.

For now I suppose this may work but I am not keen on these separate plugins having dependency between them.

This widget could not be displayed.

Hi Chad,

You should check there's a bug report for this one, or create it: https://jira.atlassian.com/browse/CONF

Regards,

Adrien

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Published Tuesday in Confluence

Add-on evaluation with confluence templates

Atlassian market place contains number of Apps/Addons which improves the capability of out of the box Atlassian products. It is good to follow a plugin evaluation process before install add-ons. So t...

44 views 6 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you