Hi all, I have a start form that I have to use a pausing (10ms) autosubmit

Hi all,
I have a start form that I have to use a pausing (10ms) autosubmit javascript on.
If I don't pause the start form, I find that the link on the next form, to a task dashboard does not work.
Why?
Thanks...

OriginalPostID-63777

OriginalPostID-63777

  Discussion posts and replies are publicly visible

  • Can you please provide more context on what you mean by a task dashboard? Is this a process dashboard? A page?

    It would also be helpful to know how you are generating a link on the form.
  • Thanks. By 'task dashboard' I just mean a page- please read on.
    More info:
    The process model is on a page as a process launcher which 'redirects to the process dashboard once it completes'- this dashboard is the one I am referring to.
    Once the process launcher is clicked, the process start form loads, and submits automatically because there it has some autoload javascript.
    The next form displays a paging grid.
    Once you make a selection from this grid, you leave the process and get directed to the process dashboard related to your selection.
    Now, if the start form loads too quickly, you end up not on the process dashboard, but back on the page where the process launcher sits.
    However, if one applies a timer to the autoload javascript, you do go through to the process dashboard, as required.
    I hope that this gives enough information.
  • So desired behavior is that user is taken to a paging grid, makes a selection, and is routed to process dashboard based on selection. How are you sending the user to the process dashboard for the selected entry? JavaScript?
  • I am sending the user to the process dashboard by configuring the process launcher in that way (one of the settings for a process launcher is called 'Redirection after Start' and I select 'Go to process dashboard'.)
    Then, I have edited the process dashboard to contain 'task information'. This just consists of displaying on the page the task process variables that the process has populated from the database.
  • From my understanding the option "Go to process dashboard" relates to the dashboard of the process you started by clicking on the process launcher. WHen you want to go to a process dashboard depending on what the user selected in the grid you have to find another solution. I do this with JS.
  • When a selection is made from the paging grid, a 'task' cdt is populated in the process. When the process dashboard opens, I am displaying values from this CDT. So there is no issue with arriving on this page in general- it is just that one can't do it when the autoload javascript on the start form has no pausing timer.
    Any thoughts as to why?
  • OK, I see. I use autosubmit a lot and always with "settimeout". I think this is because without a timeout the JS function call ("submit") is made from within the event handler for onload. This may interrupt proper function of the Appian JS. When you use "settimeout" the function call is done separately from the Appian JS and works.

    I like your idea to use a process and a dashboard to show task information ...
  • Thanks for this- so, am I right in saying that:
    1. There is some sort of race condition between the Appian JS on the form and the JS in the event handler
    2. This means that in some sense when the process is created it is incomplete or erroneous
    3. The nature of these errors is such that when the process closes it doesn't adopt the 'Redirection after Start' process launcher settings?

    I think any more detailed an answer would require an in-depth study of the underlying Java code- I wonder if appian are aware of this..?

    Thanks on your last point. It allows a more in depth summary to be displayed than a report would sensibly do, since there is lots of task info in the DB.
  • I have found that you can solve this issue if you have a text field with a default value on your start form. There is a delay when Appian populates the text field with data and this should be enough time before the auto submit javascript kicks in.