Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-24185

Adding an alert on a proxy generates an error

    XMLWordPrintable

    Details

    • Release Notes Summary:
      A published document can be followed to receive notifications.
    • Tags:
    • Backlog priority:
      500
    • Upgrade notes:
      Hide

      Since NXP-24185, we allow to subscribe notification on published documents.
      To do that, Nuxeo clears the notification subscriptions from version during check in of document.

      Show
      Since NXP-24185 , we allow to subscribe notification on published documents. To do that, Nuxeo clears the notification subscriptions from version during check in of document.
    • Sprint:
      nxcore 10.2.6
    • Story Points:
      5

      Description

      1. install Nuxeo 7/8/9
      2. enable comments in sections using the following contribution:
        <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions">
        <!-- Affichage des commentaires dans les sections -->
            <action id="view_comments_in_section" label="action.view.comments" link="/incl/tabs/document_comments.xhtml" order="80" type="rest_document_link" >
                <category>VIEW_ACTION_LIST</category>
               <category>DefaultListing</category>
                <filter-id>not_anonymous</filter-id>
                <filter id="mutable_document_or_proxy">
                    <rule grant="false">
                        <condition>!document.isProxy()</condition>
                    </rule>
                    <rule grant="false">
                        <type>Root</type>
                    </rule>
                    <rule grant="false">
                        <condition>document.getCurrentLifeCycleState().equals("deleted")</condition>
                    </rule>
                </filter>
            </action>
        </extension>
        
      3. create a note document (or any other)
      4. create a section
      5. publish the document
      6. in the published document, head over to Manage / Alerts
      7. subscribe a user to new comment
      8. observe it generates the following stack trace:
        2018-01-16 17:36:45,697 ERROR [http-nio-0.0.0.0-8080-exec-3] [nuxeo-error-log] javax.servlet.ServletException: On requestURL: http://localhost:8080/nuxeo/view_documents.faces
        	at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:140)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:146)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.webdav.service.WIRequestFilter.doFilter(WIRequestFilter.java:61)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:615)
        	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:51)
        	at org.nuxeo.ecm.platform.ui.web.auth.oauth.NuxeoOAuthFilter.doFilter(NuxeoOAuthFilter.java:122)
        	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:49)
        	at org.nuxeo.ecm.platform.oauth2.NuxeoOAuth2Filter.doFilter(NuxeoOAuth2Filter.java:79)
        	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:49)
        	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:410)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoCorsFilter.doFilter(NuxeoCorsFilter.java:51)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:67)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:75)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
        	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
        	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
        	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
        	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
        	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
        	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        	at java.lang.Thread.run(Thread.java:745)
        Caused by: javax.servlet.ServletException: org.nuxeo.ecm.core.api.PropertyException: Cannot set property on a version: notif:notifications
        	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
        	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
        	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
        	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        	at org.nuxeo.elasticsearch.web.sync.UIThreadMarker.doFilter(UIThreadMarker.java:48)
        	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoThreadTrackerFilter.doFilter(NuxeoThreadTrackerFilter.java:43)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoStandbyFilter.doFilter(NuxeoStandbyFilter.java:67)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.core.management.jtajca.internal.Log4jWebFilter.doFilter(Log4jWebFilter.java:69)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        	at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:120)
        	... 43 more
        Caused by: javax.faces.el.EvaluationException: org.nuxeo.ecm.core.api.PropertyException: Cannot set property on a version: notif:notifications
        	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
        	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
        	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
        	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
        	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
        	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
        	... 68 more
        Caused by: org.nuxeo.ecm.core.api.PropertyException: Cannot set property on a version: notif:notifications
        	at org.nuxeo.ecm.core.storage.BaseDocument.checkReadOnlyIgnoredWrite(BaseDocument.java:281)
        	at org.nuxeo.ecm.core.storage.BaseDocument.writeComplexProperty(BaseDocument.java:812)
        	at org.nuxeo.ecm.core.storage.BaseDocument.writeComplexProperty(BaseDocument.java:778)
        	at org.nuxeo.ecm.core.storage.sql.coremodel.SQLDocumentLive.writeDocumentPart(SQLDocumentLive.java:183)
        	at org.nuxeo.ecm.core.storage.sql.coremodel.SQLDocumentProxy.writeDocumentPart(SQLDocumentProxy.java:206)
        	at org.nuxeo.ecm.core.api.DocumentModelFactory.writeDocumentModel(DocumentModelFactory.java:256)
        	at org.nuxeo.ecm.core.api.AbstractSession.writeModel(AbstractSession.java:371)
        	at org.nuxeo.ecm.core.api.AbstractSession.saveDocument(AbstractSession.java:1591)
        	at org.nuxeo.ecm.platform.ec.notification.service.NotificationService.lambda$addSubscription$0(NotificationService.java:262)
        	at org.nuxeo.ecm.core.api.CoreInstance$3.run(CoreInstance.java:311)
        	at org.nuxeo.ecm.core.api.UnrestrictedSessionRunner.runUnrestricted(UnrestrictedSessionRunner.java:131)
        	at org.nuxeo.ecm.core.api.CoreInstance.doPrivileged(CoreInstance.java:313)
        	at org.nuxeo.ecm.platform.ec.notification.service.NotificationService.addSubscription(NotificationService.java:259)
        	at org.nuxeo.ecm.webapp.notification.GroupsSubscriptionsAction.addSubscriptionsAndUpdate(GroupsSubscriptionsAction.java:253)
        	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:498)
        	at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
        	at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
        	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
        	at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
        	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        	at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79)
        	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        	at org.nuxeo.ecm.platform.ui.web.util.NuxeoExceptionInterceptor.aroundInvoke(NuxeoExceptionInterceptor.java:80)
        	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        	at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
        	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        	at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:35)
        	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        	at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196)
        	at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114)
        	at org.nuxeo.ecm.webapp.notification.GroupsSubscriptionsAction_$$_javassist_seam_85.addSubscriptionsAndUpdate(GroupsSubscriptionsAction_$$_javassist_seam_85.java)
        	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:498)
        	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)
        	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348)
        	at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
        	at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
        	at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
        	... 76 more
        

      Cause:

      Caused by: org.nuxeo.ecm.core.api.PropertyException: Cannot set property on a version: notif:notifications
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 3 days, 5 minutes
                  3d 5m