I have a process where the start even can be either started with a Start Form or with an Email.
Once the start event is completed i have a Script Task to build the CDT.
Now i have a XOR gateway placed after Script Task to check for the duplicate records(I am performing a Query Entity here to check details from DB).
If there is a record already in DB with same details entered then this could be considered as Duplicate and the XOR will direct the flow to End Event if not it will write details to DB.
Now the issue i am facing is......
Everything works fine if i trigger the process through Start Form. But if i trigger this through email, the process gets stuck at XOR gateway stating below error message.
ERROR: Expression evaluation error in rule 'test' at function a!queryEntity: The data store entity does not exist, has been deleted, or you do not have sufficient privileges to access its data.
PS: I have checked the security settings of almost everything(Query Rule, Constant, Data Store, Process Model). i am in the Admin group for all these.Kindly let me know if i am missing something here.
What ends up being the "initiator" value of the process instance when you start the process via email?
I can see the initiator as Anonymous(Guest) user.
That might be an issue since I assume many or most of your objects have security configured such that they're not visible to anonymous users. The easiest thing you could try at first is to define a Swim Lane in your process where the lane's permissions are set to run as "designer" -- with the caveat that i'm not 100% sure, without trying it myself, that the swim lane properties will affect an xor node it contains.
If that fails, then I suggest you change your process configuration slightly such that the email-to-process initiation doesn't launch the actual process model in question, but instead launches a new "dummy" process model, which then calls your current process model as a subprocess. When calling the subprocess you would need to configure it to launch as "Designer", which will make it run under the authority of the last publisher / whoever imported it into that environment.
Yeah i would try that .....As of know i just removed the condition from XOR and then placed it in a Script Task just before the XOR gateway and saved the result in a boolean variable then passed the variable into XOR.the Script task runs as Designer now.
But i think i might face issues if i continue using the same approach as i cannot place Script Task every time before the XOR.I would follow your suggestion and see if that works.Thanks alot Mike for your quick support. I appreciate it.
Discussion posts and replies are publicly visible
© 2020 Appian. All rights reserved.