Thanks for reporting these Naren. I'll create JIRA issues for them and start working towards a 6.0.1 release.
Dave On Wed, Mar 4, 2020 at 12:24 PM NAREN <[email protected]> wrote: > Dave, > > I see few more errors: > > 1) create New user: Email field has limitation and long emails cannot be > added as max length is 30., and on saving it with new user less than 30 > chars throws > System error - check logs for more information. > > 2) Invite new member: Highlighting new member from the drop down is not > populating to username filed, it needs to be entered manually. > > 3) Weblog members permissions: Error saving member permissions and its > happening on few blogs > > Members:save - Error saving permissions on weblog - director > > java.lang.NullPointerException > > at > org.apache.roller.weblogger.ui.struts2.editor.Members.save(Members.java:96) > > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > at > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > > at > ognl.OgnlRuntime.invokeMethodInsideSandbox(OgnlRuntime.java:1226) > > at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:1211) > > at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1920) > > at > ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68) > > at > > com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:98) > > at > > com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:90) > > at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1996) > > at ognl.ASTMethod.getValueBody(ASTMethod.java:91) > > at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) > > at ognl.SimpleNode.getValue(SimpleNode.java:258) > > at ognl.Ognl.getValue(Ognl.java:537) > > at ognl.Ognl.getValue(Ognl.java:501) > > at > com.opensymphony.xwork2.ognl.OgnlUtil$3.execute(OgnlUtil.java:492) > > at > > com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecuteMethod(OgnlUtil.java:544) > > at > com.opensymphony.xwork2.ognl.OgnlUtil.callMethod(OgnlUtil.java:490) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:438) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:293) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254) > > at > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > at > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:49) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.roller.weblogger.ui.struts2.util.UIActionPrepareInterceptor.doIntercept(UIActionPrepareInterceptor.java:54) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.roller.weblogger.ui.struts2.util.UISecurityInterceptor.doIntercept(UISecurityInterceptor.java:123) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.roller.weblogger.ui.struts2.util.UIActionInterceptor.doIntercept(UIActionInterceptor.java:88) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:142) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:137) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:137) > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:201) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:160) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:121) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:167) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > at > > org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) > > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574) > > at > > org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) > > at > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.rendering.filters.RequestMappingFilter.doFilter(RequestMappingFilter.java:133) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.core.filters.ValidateSaltFilter.doFilter(ValidateSaltFilter.java:74) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.core.filters.LoadSaltFilter.doFilter(LoadSaltFilter.java:44) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.core.filters.InitFilter.doFilter(InitFilter.java:73) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.core.filters.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:58) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.core.filters.BootstrapFilter.doFilter(BootstrapFilter.java:67) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > at > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > > at > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) > > at > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > > at > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > > at > > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > > at > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) > > at > > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.roller.weblogger.ui.core.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:85) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) > > at > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) > > at > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) > > at > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) > > at > org.apache.tomcat.util.net > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) > > at > > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > > at > > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > > at > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.base/java.lang.Thread.run(Thread.java:834) > > Thanks > Naren > > > > On Sat, Feb 29, 2020 at 3:51 PM Dave <[email protected]> wrote: > > > I investigated this problem and here's what I found: > > https://issues.apache.org/jira/browse/ROL-2160 > > > > I have also proposed a solution to this problem in the JIRA ticket. I > have > > tested that solution and it works, but it is really a work-around for > what > > I believe is a bug in Struts. > > > > Here's a PR with the fix: https://github.com/apache/roller/pull/55 > > > > Thanks, > > Dave > > > > > > > > On Fri, Feb 28, 2020 at 7:08 PM Naren <[email protected]> wrote: > > > > > Dave, > > > > > > Thanks again for fixing it in advance and also I have few > > > suggestions that might be useful for folks using Roller. > > > > > > > > > 1) For installing this behind firewall with internet restrictions in > DMZ: > > > Packaging the required libraries will help, for example when I > > installed > > > Roller 5.2.4 I had to download tiles-config_3_0.dtd > > > and refer it like locally. /WEB-INF/lib/tiles-config_3_0.dtd" > > > > > > 2) /webapps//WEB-INF/classes/struts.xml which was part of the 5.2.4 > > Global > > > allowed methods didnt work and I had to add them to > > > as allowed-methods for each action. I see it has been fixed in > roller > > > 6.0 > > > > > > 3) I saw another issue with database connectivity, it works fine with > > both > > > Tomcat/MySQL on the same server and with > > > multiple Tomcat and MySQL servers sitting on separate servers under > > load > > > balancer it wont update the content to all servers > > > under load balancer, any server that user get in that session under > > > load balancer can see updates happening on just server and > > > I figured out that eclipse cache and persistence was causing that. > To > > > overcome that issue > > > I had to add eclipselink.cache.shared.default=false and > > > eclipselink.persistence-context.flush-mode=commit to > > > roller-custom.properties > > > 4) I would like to see options that will turn off the notification > emails > > > Roller trying to send commentators to blog posts. > > > Word press has an option in configuration screen to turn it off or > > on > > > and it would be useful for Roller users. > > > In roller roller-custom.properties we should be able to add > something > > > like this--> users.comments.emailnotify=false > > > > > > code has the following and there are no options to turn it off: > > > // if required, send notification for all comments changed > > > if (MailUtil.isMailConfigured()) { > > > I18nMessages resources = I18nMessages > > > > > > .getMessages(getActionWeblog().getLocaleInstance()); > > > > > MailUtil.sendEmailApprovalNotifications(approvedComments, > > > resources); > > > } > > > > > > Hope these are some useful suggestions. > > > > > > Thanks > > > Naren > > > > > > On Fri, Feb 28, 2020 at 6:18 PM Dave <[email protected]> wrote: > > > > > > > I can now reproduce the issue locally and hope to have a fix this > > > weekend, > > > > probably a test build to be followed by a Roller 6.0.1 release. > Thanks > > > for > > > > reporting this issue. > > > > > > > > Dave > > > > > > > > > > > > On Tue, Feb 25, 2020 at 7:51 PM Naren <[email protected]> wrote: > > > > > > > > > Dave, > > > > > > > > > > Thanks for getting back to me. Please let me know if its > going > > to > > > > be > > > > > patch or code base update. > > > > > > > > > > Thanks again for your help > > > > > Naren > > > > > > > > > > On Tue, Feb 25, 2020 at 6:34 PM Dave <[email protected]> wrote: > > > > > > > > > > > Hi Naren, > > > > > > > > > > > > I was able to reproduce your issue on my personal site (which > runs > > > JDK > > > > 11 > > > > > > and Tomcat 9), which means that I should be able to fix it. > Oddly, > > I > > > do > > > > > not > > > > > > see this error when I run Roller locally on the same setup. > > > > > > > > > > > > Thanks, > > > > > > Dave > > > > > > > > > > > > > > > > > > On Mon, Feb 17, 2020 at 6:42 PM Naren <[email protected]> > wrote: > > > > > > > > > > > > > Dave?, thanks unfortunately, I will not be able to update > Tomcat > > as > > > > > its a > > > > > > > big change in my organization. > > > > > > > > > > > > > > valueKey" is null but this is a value passed from outside to > > > Struts' > > > > > > > getText function. > > > > > > > > > > > > > > Please let me know when u test with Tomcat7 next week > > > > > > > > > > > > > > Thanks again for your help > > > > > > > > > > > > > > Naren > > > > > > > > > > > > > > On Mon, Feb 17, 2020 at 6:22 PM Dave <[email protected]> > > wrote: > > > > > > > > > > > > > > > I'm not able to reproduce this error and I may not have time > to > > > > check > > > > > > > that > > > > > > > > until this weekend. Can you try a newer version of Tomcat? > I'm > > > > > pretty > > > > > > > sure > > > > > > > > I never tested Roller 6 on Tomcat 7. > > > > > > > > > > > > > > > > Dave > > > > > > > > > > > > > > > > > > > > > > > > On Sun, Feb 16, 2020 at 8:18 PM Naren <[email protected]> > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > I downloaded roller 6.0 and my environment details are > as > > > > below > > > > > > > > > Apache Tomcat/7.0.76 > > > > > > > > > MySQL: 5.7.26 > > > > > > > > > openjdk version "11.0.6" > > > > > > > > > > > > > > > > > > > > > > > > > > > I see an issue with config form and and the form does not > > > > complete > > > > > > and > > > > > > > > has > > > > > > > > > no save or cancel button, > > > > > > > > > Could you please let me know on this? > > > > > > > > > > > > > > > > > > The following has evaluated to null or missing: > > > > > > > > > ==> struts.getText(valueKey) [in template > > > > > > "template/simple/select.ftl" > > > > > > > at > > > > > > > > > line 75, column 36] > > > > > > > > > > > > > > > > > > ---- > > > > > > > > > Tip: If the failing expression is known to legally refer to > > > > > something > > > > > > > > > that's sometimes null or missing, either specify a default > > > value > > > > > like > > > > > > > > > myOptionalVar!myDefault, or use <#if > > > > > > > > > > myOptionalVar??>when-present<#else>when-missing</#if>. > > > > (These > > > > > > > only > > > > > > > > > cover the last step of the expression; to cover the whole > > > > > expression, > > > > > > > use > > > > > > > > > parenthesis: (myOptionalVar.foo)!myDefault, > > > (myOptionalVar.foo)?? > > > > > > > > > ---- > > > > > > > > > > > > > > > > > > ---- > > > > > > > > > FTL stack trace ("~" means nesting-related): > > > > > > > > > - Failed at: #assign itemValue = struts.getText(va... [in > > > > template > > > > > > > > > "template/simple/select.ftl" at line 75, column 15] > > > > > > > > > - Reached through: @s.iterator value="parameters.list" [in > > > > template > > > > > > > > > "template/simple/select.ftl" at line 57, column 1] > > > > > > > > > - Reached through: #include "/${parameters.templateDir}/... > > [in > > > > > > > template > > > > > > > > > "template/bootstrap/select.ftl" at line 22, column 1] > > > > > > > > > > > > > > > > > > [image: image.png] > > > > > > > > > -- > > > > > > > > > Naren > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Naren > > > > > > > > > > > > > > > > > > -- > > > > > Naren > > > > > > > > > > > > > > > > > > -- > > > Naren > > > > > >
