1 2 Previous Next 20 Replies Latest reply on Nov 7, 2008 6:48 AM by salaboy21 Go to original post
      • 15. Re: advice needed, simultaneously active tasks where there i

        Hi,

        I will go through the process and ensure the tasks are 'blocking'.

        What I am keen to do, is gain the ability to recreate this multi-state behavior.

        We are using a modified version of the demo JSF webapp to allow users to work through several different processes. So transitioning is similar to in the demo webapp.

        At the bottom of 'task.xhtml' we have...

        <gd:repeat value="#{transitions}" var="transition" idVar="rid">
        
        ......
        
         <a href="#" onclick="transitionTaskForm('transition#{rid}', '#{transition.name}');">
         <h:outputText value="#{transition.name}"/>
         </a>
        
         <h:commandLink id="transition#{rid}" style="display:none; visibility: hidden;">
         <h:outputText value="#{transition.name}" rendered="#{! empty transition.name}"/>
         <gs:i rendered="#{empty transition.name}">
         <h:outputText value="End : (unnamed)"/>
         </gs:i>
         <ga:attribute name="rendered" value="#{! task.suspended}"/>
         <f:param name="id" value="#{id}"/>
         <ga:parameter name="id" target="#{id}">
         <f:convertNumber integerOnly="true"/>
         </ga:parameter>
         <j4j:loadTask id="#{id}" target="#{task}"/>
         <j4j:completeTask task="#{task}" transition="#{transition.name}"/>
         <n:nav outcome="success" url="myportal.jsf" storeMessages="true"/>
         <n:nav outcome="error" redirect="true" storeMessages="true"/>
         </h:commandLink>
        
        ......
        
        </gd:repeat>
        


        So we hide the commandLink and point to a javascript function which does some client side validation, and then calls either...

        transLink.dispatchEvent(evObj);

        or

        transLink.fireEvent('onclick');

        which is a click on the required 'transition' command link...

        What I am keen to know, is clicking on these transition links, while the tasks are not 'blocking' possibly causing this multi-state behavior ?

        Thanks for your help,

        regards,

        Ross

        • 16. Re: advice needed, simultaneously active tasks where there i

          Hi,

          I am just in the process of rolling out a new version of one of our processes, to test the blocking versus no blocking update impact, and indeed to see whether this will fix our problem.

          In the Eclipse properties tab for a given task, I assume I should have both blocking and signalling checked for each task in the process ?

          If signalling is checked but not blocking, is it possible that clicking on a transition in the web application could move the process on before a task is complete ?

          Thanks,

          Ross

          • 17. Re: advice needed, simultaneously active tasks where there i
            salaboy21

            Yes, of course it's posible, that's your problem

            • 18. Re: advice needed, simultaneously active tasks where there i
              salaboy21

              And that's the difference between the blocking and non blocking tasks

              • 19. Re: advice needed, simultaneously active tasks where there i

                Hi thanks for your help with answering the second question, it is reassuring to hear that this could be an explanation...

                Regarding my first question.. I assume I should have both the 'blocking' and 'signalling' check boxes checked for each task in the processes ?

                Thanks again,

                Ross

                • 20. Re: advice needed, simultaneously active tasks where there i
                  salaboy21

                  Let's make it clear:

                  1) Signalling is when the task (s) are done the (last one, the first one, etc. Look for signal attribute in task-node) task that is ended signal the token to continue the execution. If you don't check this option (or put the attribute) when you end some task you need to manually signal the token to continue the execution. It's like a silence ended task if you don't put the task signalling

                  2) Blocking means that the task could not be signaled until the tasks inside the task-node are (all, the first, etc. Look for the signal attribute in task-node) ended. So if you not set this attribute. Your user can manually signal the node and the process will continue though the taks are not ended yet.

                  I think that is clear enough..
                  Hope it helps.

                  1 2 Previous Next