Is there a way i will be able to capture a screen shot of a UI task that user is

Is there a way i will be able to capture a screen shot of a UI task that user is on. I want to show this snapshot to another set of users to let them the know the status of this exact User task?

OriginalPostID-147477

OriginalPostID-147477

  Discussion posts and replies are publicly visible

  • Instead of a screenshot, could you determine a status for each task grouping and display the status to these users as a text value?
  • Thanks Shawn. When i say status, i want to see the exact screen and the values entered in that screen at that point of time. (whatver was saved to ACPs at that instant). Is there way that we will able to generate images/snapshot of the UI at any given time.
  • 0
    Certified Senior Developer
    Hi Siddharth,

    AFAIK, there is no functionality to capture the task as a image in Appian.
    But I would suggest to make it in other way, use bind() and startProcessWrite() functions to invoke a process and assign a task (same UI with disabled fields) to users with the values entered in actual form which is not yet submitted. And to be clear, you can keep a buttonWidget like 'Send for review' to set field values for the target process parameters in the logic as you want any time till the form is submitted.

    Hope this helps and following are the links for more information on bind and startprocesswrite.

    forum.appian.com/.../Evaluation_Functions.html
    forum.appian.com/.../summary
    forum.appian.com/.../e-135572
  • Hi Naresh, Thanks for the response. But this will just start the process once and show the first screen. Is there way that we can change the readOnly screens dynamically based on the change in the editable process screen.
  • @siddharths You could do so but you will end in building up a complex mechanism for doing so and here goes the pseudocode:

    Step - 1: Kick off a process as said by Naresh above.
    Step - 2: As startprocesswrite can't return you anything, ensure that you get the process id(of the process created in Step - 1) back by doing a work around as follows:
    \tStep - 2a:\tWhile you kick off a process, include a DB operation to save the process id.
    \tStep - 2b:\tFetch the process id saved in Step - 2a. Make sure you put a condition (by checking the value of the process id) in the bind function so that process is kicked off only once and thereafter the process id is reused.
    Step - 3: As and when you interact with a SAIL component, kick off a new process using startprocesswrite and pass the desired data to this new process. The functions that should be performed by using this new process are:
    \tStep - 3a: Communicate with the process created in Step - 1 (probably you can use messaging), update the process variables present in this process. (Either you could update the process variables using messaging or you could setup a database table and query upon receiving message in the process where a form is shown in read-only mode with dynamic data.)

    But if you want to surface the latest values always to the user, AFAIK it isn't possible. But you can do it by opting for a work around - configure a button or nice image on the form (Probably call it 'Refresh' or Refresh icon) and this button or image will help in loading the SAIL form and results in picking up the latest values from the process variables or the latest query results from the local variables. (refreshed because of the communication from the Step - 3).

    Hope the above approach gives you some thoughts over different ways to implement as well as improvised solutions by other practitioners in subsequent comments. Please do let me know if you have any follow up questions.