Hellow,

I'm beginner user Joget workflow. I finished my first process following the instructions on the website and youtube. But I'm having two problems:

01. When Head of Department click on the button "complete task" the screen don't close;

02. When the requestor receive a not approved form  to resubmit and make changes pointed out by HoD, the changes pointed by requestor don't arrive to HoD for approve again. What arrive is the first form request made by requestor. I had already placed subform in  resubmission form but I can't do it.

I'd appreciate if someone can help me.

I attached drawing the diagram of the workflow. The Workflow is to control creation/exclusion of users.
Best regards, Thanks.

  • No labels

11 Comments

  1. Hi there,

    Is there any error in the server console? Or maybe you can export out the package, put it in the forum so that we can import it in into our Joget to troubleshoot it for you.

    Just an extra note, remember to make sure of workflow variable when there's routing involved!

  2. Hi,

    I am also newbies in Joget Workflow.  I am doing Helpdesk System and  managed to create forms for each activity and try to link between each other. Below is my system workflow:

    1) When User finished fill in the form and click the 'Complete Task' button the screen won't closed. Why?

    2) What configuration should i do if i want user to fill in the data, click 'complete task' and then system will send email notification to HOD to 'Review and Assign Task'. Then HOD will get the link to open the complaint detail and assign task to specific technicians.

    I try to follow the The Travel Management sample but still could not find any solution.  Can you help me?

    1. 1) When User finished fill in the form and click the 'Complete Task' button the screen won't closed. Why?

      Can you check if there's any error in your server log?

      2) What configuration should i do if i want user to fill in the data, click 'complete task' and then system will send email notification to HOD to 'Review and Assign Task'. Then HOD will get the link to open the complaint detail and assign task to specific technicians.

      In your form input value, key in the specific technician's username then map it to a workflow variable. Then, in the participant mapping, you can use workflow variable to map to the participant 'ICT Staff'.

      Hope it helps!

      1. Hi Hugo,

        1) If I not mistaken i do not sees any error in the server log.

        == Starting MySQL from .\mysql-5.0.22-win32 ==

        == Starting Tomcat from .\apache-tomcat-6.0.18 ==

        Using CATALINA_BASE:   .\apache-tomcat-6.0.18
        Using CATALINA_HOME:   .\apache-tomcat-6.0.18
        Using CATALINA_TMPDIR: .\apache-tomcat-6.0.18\temp
        Using JRE_HOME:        .\jdk1.6.0
        Jun 29, 2011 12:14:23 PM org.apache.catalina.core.AprLifecycleListener init
        INFO: The APR based Apache Tomcat Native library which allows optimal performanc
        e in production environments was not found on the java.library.path: C:\Joget-v2
        -beta\jdk1.6.0\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\W
        indows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsP
        owerShell\v1.0\;C:\AppServ\Apache2.2\bin;C:\AppServ\php5;C:\AppServ\MySQL\bin
        Jun 29, 2011 12:14:23 PM org.apache.coyote.http11.Http11Protocol init
        INFO: Initializing Coyote HTTP/1.1 on http-8080
        Jun 29, 2011 12:14:23 PM org.apache.catalina.startup.Catalina load
        INFO: Initialization processed in 658 ms
        Jun 29, 2011 12:14:24 PM org.apache.catalina.core.StandardService start
        INFO: Starting service Catalina
        Jun 29, 2011 12:14:24 PM org.apache.catalina.core.StandardEngine start
        INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
        INFO  29 Jun 2011 12:14:32 org.joget.commons.util.SetupManager  - Using base dir
        ectory: ./wflow/
        INFO  29 Jun 2011 12:14:32 org.joget.commons.util.DynamicDataSource  - datasourc
        eName=workflow, url=jdbc:mysql://localhost:3307/sampledb?characterEncoding=UTF-8
        , user=root
        INFO  29 Jun 2011 12:14:35 org.joget.plugin.base.PluginManager  - PluginManager
        initialized
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.wflow-plugin-beanshell started
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.wflow-plugin-email started
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.wflow-plugin-formDataEtl started
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.plugin.json.wflow-plugin-json started
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.plugin.referenceid.wflow-plugin-referenceId started
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.wflow-plugin-report started
        INFO  29 Jun 2011 12:14:38 org.joget.plugin.base.PluginManager  - Bundle org.jog
        et.wflow-plugin-userNotification started
        INFO  29 Jun 2011 12:14:38 org.joget.commons.util.DynamicDataSource  - datasourc
        eName=directory, url=jdbc:mysql://localhost:3307/sampledb?characterEncoding=UTF-
        8, user=root
        INFO  29 Jun 2011 12:14:39 org.joget.commons.util.DynamicDataSource  - datasourc
        eName=workflow, url=jdbc:mysql://localhost:3307/sampledb?characterEncoding=UTF-8
        , user=root
        INFO  29 Jun 2011 12:14:40 org.joget.commons.util.DynamicDataSource  - datasourc
        eName=form, url=jdbc:mysql://localhost:3307/sampledb?characterEncoding=UTF-8, us
        er=root
        INFO  29 Jun 2011 12:14:40 org.joget.commons.util.DynamicDataSource  - datasourc
        eName=workflow, url=jdbc:mysql://localhost:3307/sampledb?characterEncoding=UTF-8
        , user=root
        SharkEngineManager -> Shark engine is being initialized ...
        2011-06-29 12:14:41,587: SharkEngineManager -> Working with 'org.enhydra.shark.C
        allbackUtil' implementation of core CallbackUtilities API
        2011-06-29 12:14:41,587: SharkEngineManager -> Working with 'org.enhydra.shark.S
        harkObjectFactory' implementation of core SharkObjectFactory API
        2011-06-29 12:14:41,588: SharkEngineManager -> Working with 'org.joget.workflow.
        shark.WorkflowToolActivityHandler' implementation of core ToolAgentManager API
        2011-06-29 12:14:41,589: SharkEngineManager -> Working with 'org.enhydra.shark.l
        ogging.StandardLoggingManager' implementation of Logging API
        2011-06-29 12:14:41,620: WorkflowAssignmentManager -> Working with 'org.joget.wo
        rkflow.shark.WorkflowUserGroupManagerAdmin' implementation of UserGroup API
        2011-06-29 12:14:41,621: WorkflowAssignmentManager. -> Working without Participa
        ntMapping API implementation - ParticipantMappingManager is not specified.
        2011-06-29 12:14:41,621: SharkEngineManager -> Working with 'org.joget.workflow.
        shark.WorkflowAssignmentManager' implementation of Assignment API
        2011-06-29 12:14:41,622: SharkEngineManager -> Working without Caching API imple
        mentation - CacheManager is not specified.
        2011-06-29 12:14:41,718: DODSPersistentManager -> Adding shutdown hook for HSQL
        DB
        2011-06-29 12:14:42,094: datasourceName=shark, url=jdbc:mysql://localhost:3307/s
        ampledb?characterEncoding=UTF-8, user=root
        2011-06-29 12:14:42,578: Starting synchronous cache load for class: org.enhydra.
        shark.instancepersistence.data.ProcessStateDO
        2011-06-29 12:14:42,681: Finished synchronous cache load for class: org.enhydra.
        shark.instancepersistence.data.ProcessStateDO
        2011-06-29 12:14:42,714: Starting synchronous cache load for class: org.enhydra.
        shark.instancepersistence.data.ActivityStateDO
        2011-06-29 12:14:42,767: Finished synchronous cache load for class: org.enhydra.
        shark.instancepersistence.data.ActivityStateDO
        2011-06-29 12:14:42,793: DODSPersistentManager -> persisting String variables in
        to BLOB for sizes greater than 4000
        2011-06-29 12:14:42,793: SharkEngineManager -> Working with 'org.joget.workflow.
        shark.WorkflowDODSPersistentManager' implementation of InstancePersistence API
        2011-06-29 12:14:42,810: SharkEngineManager -> Working with 'org.joget.workflow.
        shark.WorkflowEventAuditManager' implementation of EventAudit API
        2011-06-29 12:14:42,936: SharkEngineManager -> Working with 'org.enhydra.shark.r
        epositorypersistence.DODSRepositoryPersistenceManager' implementation of Reposit
        oryPersistence API
        2011-06-29 12:14:42,960: SharkEngineManager -> Working with 'org.joget.workflow.
        shark.WorkflowScriptingManager' implementation of Scripting API
        2011-06-29 12:14:42,960: SharkEngineManager -> Working without Security API impl
        ementation - SecurityManager is not specified.
        2011-06-29 12:14:43,512: StandardToolAgentManager -> Working with 'org.enhydra.s
        hark.appmappersistence.DODSApplicationMappingAdmin' implementation of Applicatio
        nMapPersistence API
        2011-06-29 12:14:43,514: SharkEngineManager -> Working with 'org.enhydra.shark.t
        oolagent.StandardToolAgentManager' implementation of ToolAgentManager API
        2011-06-29 12:14:43,514: SharkEngineManager -> Working without wfEngineInteroper
        ability API implementation - WfEngineInteroperability implementation is not spec
        ified.
        2011-06-29 12:14:43,588: SharkUtilities -> synchronizing XPDL cache
        Shark -> shark engine initialization is finished, it lasted 2 [s]
        Shark -> SharkExampleJSP ready and waiting ...
        2011-06-29 12:14:44,381: datasourceName=report, url=jdbc:mysql://localhost:3307/
        sampledb?characterEncoding=UTF-8, user=root
        Jun 29, 2011 12:14:48 PM org.apache.coyote.http11.Http11Protocol start
        INFO: Starting Coyote HTTP/1.1 on http-8080
        Jun 29, 2011 12:14:48 PM org.apache.jk.common.ChannelSocket init
        INFO: JK: ajp13 listening on /0.0.0.0:8009
        Jun 29, 2011 12:14:48 PM org.apache.jk.server.JkMain start
        INFO: Jk running ID=0 time=0/210  config=null
        Jun 29, 2011 12:14:48 PM org.apache.catalina.startup.Catalina start
        INFO: Server startup in 24668 ms
        INFO  29 Jun 2011 12:14:53 org.joget.workflow.security.WorkflowHttpAuthProcessin
        gFilter  - Authentication for user admin: true
        INFO  29 Jun 2011 12:15:12 org.joget.workflow.security.WorkflowHttpAuthProcessin
        gFilter  - Authentication for user dummy: true
        INFO  29 Jun 2011 12:15:19 org.joget.form.util.DynamicLocalSessionFactoryBean  -
         Building new Hibernate SessionFactory

        2) Your Answer:

        In your form input value, key in the specific technician's username then map it to a workflow variable. Then, in the participant mapping, you can use workflow variable to map to the participant 'ICT Staff'.

        Does it means that i need to create a technician's name ex: 'Ali' as workflow variable in Workflow designer then assign it in the form field?

        1. Hi Noorhayati,

          (1) Your log seems a little short to have had logins and process starts. Did you copy the entire log history to the exact time you experienced the 'stucked submission' screen?

          (2) In Participant mapping, there's an option to map the participant to a 'username'. Hugo had suggested that you create a workflow variable, eg. 'technician_username', and in the form that the HOD fills in, the HOD will fill in the username of the technician who he wishes to assign the task to. Then, in the subsequent activity, the Joget will be able to select the participant to assign it to. Of course, you can use Form Variables to populate a pull down list of technicians, based on their group membership. An example explanation here: Re-assigning an Activity to A Specific Participant You will have to use a BeanShell script to obtain the list of your users in Form Variables. I've got an example for you below:

          BeanShell Example
          import java.util.*;
          import org.joget.directory.model.User;
          import org.joget.directory.model.dao.user.UserDao;
          import org.joget.plugin.base.PluginManager;
          import org.apache.commons.collections.SequencedHashMap;
          
          Map result = new SequencedHashMap();
          result.put("", "");
          UserDao userDao = (UserDao) pluginManager.getBean("userDao");
          Collection userList = userDao.getUserByGroup("TECHNICIANS", null, null, null, null);
          for (Iterator it=userList.iterator(); it.hasNext(); ) {
            User user = (User) it.next();
            result.put(user.getUsername(), "" + user.getFirstName() + " " + user.getLastName()); // username is the value, firstname lastname is the label
          }
          
          return result;

          You can read up more on Form Variables, and how to use this in your forms from the knowledgebase.

          Hope this helps.

          1. Hi Sam,

            1) I am sorry i gave the wrong file. Here is the correct one. Really need your help on this one.

            Screen_not_close_Logs.2011-06-30.txt

            2) I will try your solution and update once successful.

            Thanks

            1. Hi Noorhayati,

              Looks like an error with the form. Could you export the package and attach it here? Will help you from there.

              Thanks.

              1. Hi Sam,

                Here is the export package that you wanted.

                package-new_helpdesk-20110630121220.zip

                Thanks alot !

                1. Hi Noorhayati,

                  I've noticed on the first form, you used a field name 'id' for the Staff/Student ID field. As I mentioned previously, we cannot use any identifier called 'id' as this will conflict with the database. Just edit your form again, change that field name to something else, like 'staff_student_id'. Then, reopen the form, fill in, and everything should work!

                  Good luck.

                  1. Hi Sam,

                    It worked !! I really forgot about the id declared in the form.

                     I'll better watch out next time.

                    Thanks a lot.

                  2. community/users/editmyprofilepicture.action

                    Hi,

                    I am beging with joget. I use the joget V3 . When i fill my joget form from Bean Shell Form. I have this error :

                    ATTENTION: Error executing script
                    Sourced file: inline evaluation of: ``import java.util.*; import org.joget.workf
                    low.model.service.*;  Collection list  . . . '' : Typed variable declaration : A
                    ttempt to resolve method: getBean() on undefined variable or class name: pluginM
                    anager : at Line: 5 : in file: inline evaluation of: ``import java.util.*; impor
                    t org.joget.workflow.model.service.*;  Collection list  . . . '' : pluginManager
                     .getBean ( "workflowManager" )

                            at bsh.UtilEvalError.toEvalError(Unknown Source)
                            at bsh.UtilEvalError.toEvalError(Unknown Source)
                            at bsh.BSHMethodInvocation.eval(Unknown Source)
                            at bsh.BSHPrimaryExpression.eval(Unknown Source)
                            at bsh.BSHPrimaryExpression.eval(Unknown Source)
                            at bsh.BSHCastExpression.eval(Unknown Source)
                            at bsh.BSHVariableDeclarator.eval(Unknown Source)
                            at bsh.BSHTypedVariableDeclaration.eval(Unknown Source)
                            at bsh.Interpreter.eval(Unknown Source)
                            at bsh.Interpreter.eval(Unknown Source)
                            at bsh.Interpreter.eval(Unknown Source)
                            at org.joget.apps.form.lib.BeanShellFormBinder.executeScript(BeanShellFo
                    rmBinder.java:73)

                    How to get pluginManager in my script ?

                    Thank's