Hi all,

I have a strenge problem while running a simple process :

it a classic request/approve process :

My problem is at the end of the approve activity, when the line manager complete his task, the form should close and I should go back to the refreshed inbox page but it doesn't.. (the notifications are sent but the page doesn't "refresh").

Any idea ?

thanks,

Antoine

  • No labels

8 Comments

  1. Hi there,

    Is there any error in your tomcat log? It would be helpful for us in order to help you to troubleshoot your problem.

  2. The Task Inbox doesn't refresh immediately; the refresh interval is governed by a setting in System Setup - "Inbox Task Count Polling Interval"

    1. Inbox should get refreshed after an assignment/form is completed and closed.

      Please refer to http://dev.joget.org/svn/joget/trunk/wflow-wfweb/src/main/webapp/WEB-INF/jsp/workflow/assignmentView.jsp

      1. hi,

        there seems to be a login and password required on this page (which I'm not shure I have)

        The inbox usually get refreshed after I complete any other assignment/form is complete but not here.. (it seems that the page you gave me could help me)

        There don't seems to be any error in the log, I just have the usual email notifications informations :

        Here is the log I have after completing the approval assignment :

        - Assignment 802_701_IT_expenses_approve accepted
        INFO  08 Jun 2011 10:17:01 org.joget.form.util.DynamicLocalSessionFactoryBean  -
         Building new Hibernate SessionFactory
        INFO  08 Jun 2011 10:17:02 org.joget.workflow.controller.WorkflowJsonController
         - VARIABLE: status = accepted
        INFO  08 Jun 2011 10:17:02 org.joget.workflow.shark.WorkflowToolActivityHandler
         - Executing tool [pluginName=org.joget.plugin.email.EmailPlugin, processId=IT#1
        4#expenses, version= 14, activityId=approved_notification]
        ERROR 08 Jun 2011 10:17:02 org.joget.workflow.util.WorkflowUtil  - java.lang.Nul
        lPointerException
        java.lang.NullPointerException
                at org.joget.workflow.model.service.WorkflowManagerImpl.getUserByProcess
        IdAndActivityDefId(WorkflowManagerImpl.java:4854)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
        sorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti
        on(AopUtils.java:310)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJo
        inpoint(ReflectiveMethodInvocation.java:182)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:149)
                at org.springframework.transaction.interceptor.TransactionInterceptor.in
        voke(TransactionInterceptor.java:106)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.springframework.transaction.interceptor.TransactionInterceptor.in
        voke(TransactionInterceptor.java:106)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.joget.workflow.util.AuditTrailInterceptor.invoke(AuditTrailInterc
        eptor.java:17)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.joget.workflow.util.AuditTrailInterceptor.invoke(AuditTrailInterc
        eptor.java:17)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invok
        e(ExposeInvocationInterceptor.java:89)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
        cAopProxy.java:204)
                at $Proxy9.getUserByProcessIdAndActivityDefId(Unknown Source)
                at org.joget.workflow.util.WorkflowUtil.processVariable(WorkflowUtil.jav
        a:445)
                at org.joget.workflow.util.WorkflowUtil.processVariable(WorkflowUtil.jav
        a:278)
                at org.joget.plugin.email.EmailPlugin.execute(EmailPlugin.java:81)
                at org.joget.workflow.shark.WorkflowToolActivityHandler.executeActivity(
        WorkflowToolActivityHandler.java:88)
                at org.enhydra.shark.WfActivityImpl.runTool(WfActivityImpl.java:1487)
                at org.enhydra.shark.WfActivityImpl.startActivity(WfActivityImpl.java:14
        19)
                at org.enhydra.shark.WfActivityImpl.activate(WfActivityImpl.java:261)
                at org.enhydra.shark.WfProcessImpl.startActivity(WfProcessImpl.java:918)

                at org.enhydra.shark.WfProcessImpl.queueNext(WfProcessImpl.java:1134)
                at org.enhydra.shark.WfProcessImpl.run(WfProcessImpl.java:750)
                at org.enhydra.shark.WfProcessImpl.activity_complete(WfProcessImpl.java:
        969)
                at org.enhydra.shark.WfActivityImpl.finish(WfActivityImpl.java:441)
                at org.enhydra.shark.WfActivityImpl.complete(WfActivityImpl.java:366)
                at org.enhydra.shark.WfActivityWrapper.complete(WfActivityWrapper.java:2
        30)
                at org.joget.workflow.model.service.WorkflowManagerImpl.assignmentComple
        te(WorkflowManagerImpl.java:4574)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
        sorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti
        on(AopUtils.java:310)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJo
        inpoint(ReflectiveMethodInvocation.java:182)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:149)
                at org.springframework.transaction.interceptor.TransactionInterceptor.in
        voke(TransactionInterceptor.java:106)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.springframework.transaction.interceptor.TransactionInterceptor.in
        voke(TransactionInterceptor.java:106)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.joget.workflow.util.AuditTrailInterceptor.invoke(AuditTrailInterc
        eptor.java:21)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.joget.workflow.util.AuditTrailInterceptor.invoke(AuditTrailInterc
        eptor.java:21)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invok
        e(ExposeInvocationInterceptor.java:89)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
        ReflectiveMethodInvocation.java:171)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
        cAopProxy.java:204)
                at $Proxy9.assignmentComplete(Unknown Source)
                at org.joget.workflow.model.WorkflowFacade.assignmentComplete(WorkflowFa
        cade.java:465)
                at org.joget.workflow.controller.WorkflowJsonController.assignmentComple
        te(WorkflowJsonController.java:1237)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
        sorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.
        doInvokeMethod(HandlerMethodInvoker.java:413)
                at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.
        invokeHandlerMethod(HandlerMethodInvoker.java:134)
                at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandle
        rAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:310)
                at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandle
        rAdapter.handle(AnnotationMethodHandlerAdapter.java:297)
                at org.joget.commons.spring.web.ParameterizedAnnotationMethodHandlerAdap
        ter.handle(ParameterizedAnnotationMethodHandlerAdapter.java:30)
                at org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatch
        erServlet.java:875)
                at org.springframework.web.servlet.DispatcherServlet.doService(Dispatche
        rServlet.java:809)
                at org.springframework.web.servlet.FrameworkServlet.processRequest(Frame
        workServlet.java:571)
                at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServ
        let.java:511)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
        icationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
        ilterChain.java:206)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:359)
                at org.springframework.security.intercept.web.FilterSecurityInterceptor.
        invoke(FilterSecurityInterceptor.java:109)
                at org.springframework.security.intercept.web.FilterSecurityInterceptor.
        doFilter(FilterSecurityInterceptor.java:83)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.ui.SessionFixationProtectionFilter.doFil
        terHttp(SessionFixationProtectionFilter.java:67)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.joget.workflow.security.WorkflowNtlmProcessingFilter.doFilterHttp
        (WorkflowNtlmProcessingFilter.java:52)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHt
        tp(ExceptionTranslationFilter.java:101)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.providers.anonymous.AnonymousProcessingF
        ilter.doFilterHttp(AnonymousProcessingFilter.java:105)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp
        (AbstractProcessingFilter.java:271)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp
        (AbstractProcessingFilter.java:271)
                at org.joget.workflow.security.WorkflowHttpAuthProcessingFilter.doFilter
        Http(WorkflowHttpAuthProcessingFilter.java:39)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(Logo
        utFilter.java:89)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.context.HttpSessionContextIntegrationFil
        ter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
                at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringS
        ecurityFilter.java:53)
                at org.springframework.security.util.FilterChainProxy$VirtualFilterChain
        .doFilter(FilterChainProxy.java:371)
                at org.springframework.security.util.FilterChainProxy.doFilter(FilterCha
        inProxy.java:174)
                at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(D
        elegatingFilterProxy.java:236)
                at org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat
        ingFilterProxy.java:167)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
        icationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
        ilterChain.java:206)
                at org.springframework.web.filter.CharacterEncodingFilter.doFilterIntern
        al(CharacterEncodingFilter.java:96)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR
        equestFilter.java:76)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
        icationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
        ilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
        alve.java:233)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
        alve.java:191)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
        ava:128)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
        ava:102)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
        ve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
        a:286)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
        :845)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
        ss(Http11Protocol.java:583)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
        7)
                at java.lang.Thread.run(Thread.java:619)
        INFO  08 Jun 2011 10:17:03 org.joget.plugin.email.EmailPlugin$1  - EmailPlugin:
        Sending email from=joget@orange-ftgroup.com, to=antoine.lemarie@orange-ftgroup.c
        om, cc=, subject=your expenses request has been approved
        INFO  08 Jun 2011 10:17:03 org.joget.plugin.email.EmailPlugin$1  - EmailPlugin:
        Sending email completed for subject=your expenses request has been approved

        thanks,

        Antoine

        1. Did you build Joget from source? If yes, then you should be able to access to assignmentView.jsp inside your own Joget directory. Please take note that the path is the same as mentioned by Damien, wflow-wfweb\WEB-INF\jsp\workflow\.

        2. Hi Antoine,

          Are you using hash variables in the email plugin? Could you share a capture of your email plugin configuration?

          From my experience, if a plugin crashes after the activity, the form doesn't close, like what you are experiencing. Remove the mappings for both email plugins (tools) and try running your process again. Then, use the 'Completed Processes' under 'Monitor Processes' link to verify first that both tools were 'executed' (of course, without a result since we had remove the Email Plugin mappings).

          If all is working well for the setting above, it points to your Email Plugin configuration... which we'll be more than happy to help you with after you've verified this ;-)

          Thanks.

          1. Hi Sam,

            It looks like I had problems with the hash variables I used in my email notifications...

            I removed every hash variable of my email configurations and the page refresh again.

            That's it for my refresh problem ! I now have a hash variables problem... :)

            I'm trying to put the expenses amount that the requestor filled in his activity on the email notification subject.

            I tried with #form.amount# and #form.expenses_table.amount# (expenses_table is the table I use in the process and amount the field id of the amount in the expenses request form)

            Both return an empty string in my email subject...

            How can I reach datas from previous forms of the process ?

            Should I use a workflow variable ?

            thanks,

            Antoine

            1. Hi Antoine,

              There shouldn't be any issues using 'form' hash variables in the Email Plugin Subject as well as Content fields. If you have specified the Form Data Table name in the Email Plugin config, then #form.amount# should work for you. I'm sure you're aware by now that everything's case sensitive, so do check that again.

              I'd try other form fields. At the same time, you could also browse the database (using something like HeidiSQL, and making sure you're at the right port, i.e. 3307), go the database, and in your case, look for the table 'formdata_expenses_table'. You'll find a couple of rows already populated, but I hope not too many in your case, to look for your latest form input, just to make sure that the column is actually populated.

              I hope this helps. If not, give more details of your implementation and we'll look further in detail.

              Sam