Hi everyone, I have a question regarding the plug in of Set External

Hi everyone,

I have a question regarding the plug in of Set External PVs. The guide document is not very helpful in terms of how to configure the smart service with my process module. For example, where should I connect this smart service with my existing process module which includes the pvs that our end users want to edit. Is there a form that our end user can fill out the process ID and pv value?

What I am trying to achieve is to allow our end users to go back to a completed process instance and update the value of certain pvs (could involve multiple process models). Can I do that by using this plug in?

Thank you so much in advance for your help!
Lin

OriginalPostID-151006

OriginalPostID-151006

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer
    You will have to build a new process which includes this node; basically all you need is the original process instance ID, the PVs you want to change, and the new values. You'll need to come up with a way to allow users to access completed process instances, though one easy example is process-backed records.
  • @mschmitt, thank you very much for your comment. My question is that where my end users can fill out the process instance ID, the names of PVs, and the new values. I know in the process I, as admin, can configure these values via the plug-in node but when it comes to end users, it would be confusing for them to use the same process.
  • 0
    Certified Lead Developer
    The designer of such a process would need to populate some of the data (process instance ID, pv names, etc) automatically, and allow the user to enter the new data on a form with meaningful labels, etc. It would probably be best to have an individual "updater" process model for each process model you wish to allow instance-level updates to be made for (because of PV names); you could then source the instance IDs and perhaps the current data from sources such as process reports. It largely depends on the specific details of your use case and requirements; for instance, the times I've used it have been to do clean-up work in the rare case that process data changes after an instance has ended, but it can be used for more than that.
    Also be aware that if you use this to update CDT values, it will not update the value for "outdated" CDTs (i.e. where the instance is using the old version of a CDT).
  • @mschmitt thanks so much for elaborating! I initially thought this plug-in could give end users the freedom to update the values of pvs. as they wish. Looks like it does involve a significant amount of admin efforts. You mentioned "allow the user to enter the new data on a form with meaningful labels, etc". May I know what kind of form you are referring to? Would that be a form created through Appian or a physical paper form?
    Thank you!
  • 0
    Certified Lead Developer
    Generally, I meant that the admins / designers will need to build a form (and process) where users could, for example, pick the process instance they wish to correct, and then they would be given a form with fields pre-populated with the values of various PVs, which they could then edit; the new values would then be sent (via the plug-in's smart service node) to the instance in question.
  • I'm not sure if using this plug-in would be the best approach. If your data in the processes come from the database through the use of query rules I think it would be enough by creating a related action (if using Tempo) or an Action to update the values in the database so the process/record, when running its query rules returns the updated data (see forum.appian.com/.../Records_Tutorial.html and forum.appian.com/.../Application_Building_Tutorial.html

    In any case I'm attaching a video showing how you can use this plug-in to update the data in other processes. In the video you can see that I'm storing the process ID which makes it easier since the plug-in needs the process ID and the names of the variables to update. If you were using Records and Related Actions for process-backed records this would be easier.

    The video shows the model used to Edit the Approval Request, this is what the user above was talking about, you need to expose the capability building a model, the "Get and Set External PVs" plug-in is nothing else but a smart service that you can drag and drop to your models, it's not a whole component that gives you the capability right a way, you still need to build a model to support it assuming you want an external model to update the values.

    Notice how if you were using Quick Tasks (Legacy Apps Portal) or Related Actions (Tempo) this update would take place within the same process and not externally, but I guess your idea is to update values in running instances which makes it more complex if you wanted to add this functionality to the existing process, still doable but maybe you consider it more complex.

    Have a look at the attached video by opening on Chrome (simply drag and drop the file)



    get_set_pvs_example.swf

  • @ Eduardo, thanks so much for the info. Unfortunately, I couldn't open the video since I don't have anything installed supporting swf. I will dig into the related action option. Thanks a lot!
  • You should be able to see the video by dragging and dropping it on Chrome. It would be good if you can take a look, I tried to be as specific as possible.
  • @Eduardo would it be possible to share an example application containing the process shown in the video?
  • Yes, I have the example from Appian 7.9 only. You need to install the plug-in first though. It's a very basic example just to show the use of the plug-in, it's not a proper demo nor tries to document any best practices or anything especial at all.

    FORUM_Get_Set_Variables_Approval Request Example.zip