Hi there.

We are about to use joget for the first time and I watched the movies and read KBs. But there are questions for me that I like to have explained.

First I created a more complex workflow out of the blue with some remarks of our team of features the WF should have.

These are the remarks we found.

 

Case 1 – No File was uploaded

On Windows Edition:

We inserted many different files into a file field.

Small and big files, in every case there was no problem even uploading 50mb files.

We use joget on a windows server2008.

Trying to open the attachment is not possible, we get a 404 error screen.

The URL just looks like that, it seems to be a problem with the “null” part and the dot behind the file name.

Update: The file is also not in the specified upload folder. We definded one in the settings without any change.

Case 2 – Mandatory fields in read only sub forms are validated

We created one form with some sub forms. Always one of the sub forms are not read only, but they are there for informational purpose. If there is a mandatory field in a sub form that is read only, it is validated and blocks the process. “Please fill out all necessary fields”. We can’t, the sub form is read only.

Is there a way to bypass this validation if the sub form is read only without creating a second form where it is not mandatory?

Case 3 – Case overview

Is there a way to show a specific form to have an overview of the process instance even if it’s finished or running? We could need this for project meetings or emergency meetings.

Case 4 – JSON API doesn’t need authorization

We set the master user and password for the JSON API.

If we don’t use it in the json url, it works.

If we set it in the url, it works.

If we set it incorrectly, it works.

We don’t want to give full access. Does the API use the normal login if the master password is incorrect or not used in the url?

Case 5  - Use a title field in Inbox

An inbox contains the process type but not a “title”, so there can be 3 processes of the same type and you can’t divide them. How can you add a custom column to the inbox?

Case 6 – Duplicate a WF in an App

We are using very similar but different WF’s in one App. Sometimes we have to adjust an WF for a special request. If we use versions, we update every instance of one WF. Is it possible to duplicate the Workflow?

Case 7 – Escalation after getting a task

Escalations happen (ie 2h) after a task gets into that inbox. Can we change the duration of the inbox if the person accepts the tasks, or smthng. Like that? If the task is at already work, the escalation shouldn’t start at the moment the person gets the job, it should start if the person took too long.

Case 8 – Use variables in SLA, tools and exceptions

May we use form variables in SLA, tools and excetions? We would like to use a multivalue field with recieptiens for a mail and send informations to them after the form is triggered. We would like to let the project management enter the sla and exection duration for later steps.

Case 9 – Create an exception over a loop

If we have loops in our workflow, is it possible to realize an exception that starts before the loop and uses an exception if the process is stuck too long in the loop of steps?

Case 10 – Download files without sub form

How do you use a file uploaded in a former step without a sub form? You cannot use a workflow variable to show the files.

Case 11 – Send uploaded files as attachments

How can we send uploaded files as attachments in an email tool? Or how do we send Links to a file?

Yours sicerely,

Daniel

6 Comments

  1. Hi Daniel,

    Wow looks like a very comprehensive evaluation indeed :) Will try to answer your queries below

    Case 1 – No File was uploaded

    Hmm I've tried but could not replicate the problem. Have you tried using the file uploads in the sample or reference apps to see if it works?

    Case 2 – Mandatory fields in read only sub forms are validated

    Currently there's no way to bypass this validation. If it's a mandatory field, shouldn't there definitely be a value for it? If not, could it be marked as non-mandatory?

    Case 3 – Case overview

    Do you mean a graphical view of the process instance? This feature is available for the administrator in the Web Console. When viewing a specific process instance under Monitor Apps, there's a "View Graph" button that will generate an image of the process.

    Case 4 – JSON API doesn’t need authorization

    If you don't provide a master login, the JSON API result will return a result anyway, but it's based on the current user making the request. The master login is only used when you need to retrieve information on behalf of another user.

    Case 5  - Use a title field in Inbox

    There's a couple of ways to do this. You could use the DataList Inbox (http://dev.joget.org/community/display/KB/Datalist+Inbox+Userview+Menu+%28Inbox+with+Form+Data%29), which allows the flexibility when displaying columns.

    Another possible approach is to use hash variables (http://dev.joget.org/community/display/KB/v3+Hash+Variables) in your process or activity names so that you could incorporate a title or reference number, for example.

    Case 6 – Duplicate a WF in an App

    For each app, you can have more than one process. In the Workflow Designer, you can right click on the process name on the left, and choose the "Duplicate" option to create a duplicate of the selected process.

    Case 7 – Escalation after getting a task

    Currently, deadlines are only calculated based on when a task is assigned.

    Case 8 – Use variables in SLA, tools and exceptions

    You can use form data by making use of hash variables (http://dev.joget.org/community/display/KB/v3+Hash+Variables). For example, you could use #form.table_name.customer_email# in an Email Tool recipient. Hash variables are not supported for SLA though.

    Case 9 – Create an exception over a loop

    You could perhaps use a workflow variable to keep track of the status or number of iterations in your process. Then have a route that checks the value of the workflow variable before looping back.

    Case 10 – Download files without sub form

    You can just use a File Upload field, and give it the same ID as the previous field used in a former step. This will make it link back to the same file.

    Case 11 – Send uploaded files as attachments

    Currently, there's no built-in plugin to send uploaded files as an attachment. It's possible to develop a plugin for this (http://dev.joget.org/community/display/KB/Extending+Functionality+-+Developing+Plugins).

    Alternatively, perhaps you design a form in a userview that contains the file upload, and link to that form instead.

    Hope this helps!

    1. Hi Julian!

      Thank you very much! Some cases cleared over time, and some 

      Case 1 – No File was uploaded - Solved

      We tested that on a windows server version, the linux installation is alright. That fits for us.

      Case 2 – Mandatory fields in read only sub forms are validated

      Currently there's no way to bypass this validation. If it's a mandatory field, shouldn't there definitely be a value for it? If not, could it be marked as non-mandatory?
      I would like to show some subforms, even if they are not filled yet. To avoid making two forms (one with mandatory fields, one non-mandatory and readonly) I thought that would be fine showing one subform in all cases and only mark them as readonly or not. Is there a way to insert any javascript, that could do that (or smthng else)?

      Case 3 – Case overview

      Do you mean a graphical view of the process instance? This feature is available for the administrator in the Web Console. When viewing a specific process instance under Monitor Apps, there's a "View Graph" button that will generate an image of the process.
      No, I would like to show a form of a finished process that shows some contents of the process like subforms and files. So users can access the informations of the process even if it's finished a year ago.

      Case 4 – JSON API doesn’t need authorization - Solved

      Thank you, that was a little confusing at the first time. :)

      Case 5  - Use a title field in Inbox - Solved

      Thank you, I'll have a try on that!

      Case 6 – Duplicate a WF in an App

      For each app, you can have more than one process. In the Workflow Designer, you can right click on the process name on the left, and choose the "Duplicate" option to create a duplicate of the selected process.
      It will only duplicate the xpdl, but not the user, tool and form references?

      Case 7 – Escalation after getting a task - Solved

      Ok.

      Case 8 – Use variables in SLA, tools and exceptions - Solved

      Thanks!

      Case 9 – Create an exception over a loop

      You could perhaps use a workflow variable to keep track of the status or number of iterations in your process. Then have a route that checks the value of the workflow variable before looping back.
      How could I realize an exeption, that works, if the whole loop is done more that 2 days?

      Case 10 – Download files without sub form - Solved

      Thank you, I must have done smthng wrong...

      Case 11 – Send uploaded files as attachments

      Currently, there's no built-in plugin to send uploaded files as an attachment. It's possible to develop a plugin for this (http://dev.joget.org/community/display/KB/Extending+Functionality+-+Developing+Plugins).
      Alternatively, perhaps you design a form in a userview that contains the file upload, and link to that form instead.
      Is it possible to create a download link of a file?

      Thank you for your time!

      Daniel

      1. Hi Daniel,

        Great to hear that many of the cases are clarified :) 

        Just to follow up on some of the others:

        Case 2 – Mandatory fields in read only sub forms are validated

        To avoid making two forms, it is possible to insert JavaScript using a Custom HTML element. This element allows you to place any HTML, so you can put your code within <script> tags there.

        Case 3 – Case overview

        Oh, this requirement can be met by the way you design the processes, forms and lists in your app. For an example of this, maybe you can have a look at the HR Expenses Claim App (http://marketplace.joget.org/v3/v3enterprise/hr-expenses-claim-app.html). In this reference app, each expense claim has a status, and as the process runs the status of the claim gets updated accordingly. The user will be able to view the claims (current and historical) categorized according to status, and some forms will be read-only (e.g. those pending approval).

        Case 6 – Duplicate a WF in an App

        Yes, that only duplicates the process. The participants, activities and tools will need to be mapped separately.

        Case 9 – Create an exception over a loop

        For handling those types of exceptions, you can make use of deadlines to handle reminders and escalations, as described in Deadlines and Escalations

        Case 11 – Send uploaded files as attachments

        Not directly, I think the best bet would be through a form containing the file upload field.

        Cheers!

        1. Hi julian.

          Case 2 – Mandatory fields in read only sub forms are validated

          That should work for me :) Thx.

          Case 3 – Case overview

          And I'll have a closer look at that. Thank you.

          Case 6 – Duplicate a WF in an App

          Yes, that only duplicates the process. The participants, activities and tools will need to be mapped separately.

          Case 9 – Create an exception over a loop

          For handling those types of exceptions, you can make use of deadlines to handle reminders and escalations, as described in Deadlines and Escalations
          So I can only set deadlines to one activity and not to a bunch of activities? I.e. saying 2 sequential tasks may take 2 hours in total?

          Case 11 – Send uploaded files as attachments

          Not directly, I think the best bet would be through a form containing the file upload field.
          Do I have to build a User View for that, or can I use the action forms?

          Thank you!

          1. Case 9: Deadlines are set at either activity level or at process level. Not at a collection of activities.

            The workaround is to not hard code the deadline value but instead, refer it to a workflow variable.

            In "Duration Unit", choose Date or DateTime. Next, in Deadline limit, key in the Workflow Variable name.

            Case 11: Design a process, with a activity followed by a tool. In the activity, choose the file to be uploaded. In the tool, execute codes to send out Email with attachments.