BypassPluginExecution not responding as expected #228
-
Hallo! 2 things. Using 0.5.10 ServiceClient.BypassPluginExecution is not present //edited Will complete operation but async workflows don't fire
But Service.Create(entity) with the same ServiceClient will execute asynchronous operations |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
Hi @TomWinton , If you form a Create Request directly and call any of the .Execute* methods, the system will process the bypass and bypass plugins where it is allowed. You can also use the helpers provide in the system to support calling a create operation while passing bypass plugins ( .CreateRecord ) for example. The baseline IOrganizaitonService interface methods such as .Create do not support that form of modification and we currently do not intend to expose it. In the CrmServiceClient we added a class level switch as we were not able to modify the contracts of the helper methods w/out breaking compatibility. A class level switch is not an ideal configuration as the switch setting is effective across threads\operations when it is intended to be an operation level control. This was corrected in the dataverse serviceclient where were able to add operation level overrides to our current helpers and extensions. thanks |
Beta Was this translation helpful? Give feedback.
-
Roger!
…On Tue, 11 Jan 2022, 18:03 Jim Daly, ***@***.***> wrote:
@TomWinton <https://github.com/TomWinton>
I think you are barking up the wrong tree. :-)
@MattB-msft <https://github.com/MattB-msft> is describing how to use the
BypassCustomPluginExecution parameter with the DataverseServiceClient,
which is the correct issue for this forum.
Your question appears to be about the behavior on the server.
Documentation for the parameter in Bypass Custom Business Logic
<https://docs.microsoft.com/en-us/powerapps/developer/data-platform/bypass-custom-business-logic>
states that asynchronous logic should not be bypassed when using this
parameter.
If you are seeing that asynchronous logic (async workflows) is being
by-passed, then either the documentation or the behavior of the parameter
is not correct. I wrote the documentation based on the design with the
team, so I believe the behavior of the parameter on the server is not
correct.
I recommend that you contact support with a repro and we can understand
what needs to be changed.
—
Reply to this email directly, view it on GitHub
<#228 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALBUVLDKL3VZFWDBRHSX4RTUVRWG3ANCNFSM5LVWO7YA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
<microsoft/PowerPlatform-DataverseServiceClient/repo-discussions/228/comments/1949570
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
Can you give an example of "You can also use the helpers provide in the system to support calling a create operation while passing bypass plugins ( .CreateRecord ) for example." we currently have a function app with DI that allows for bulk imports so to save time we want to bypass executions? That would help my understanding. At the moment we are using CreateAsync operations and we have seen some flows that are firing that we would like to stop from happening for our import process. |
Beta Was this translation helpful? Give feedback.
Hi @TomWinton ,
Thanks for your question... what you are seeing is by design, use of the bypasspluginexecution is intended to be non-standard, and thus it's something that you do need to add code to use.
If you form a Create Request directly and call any of the .Execute* methods, the system will process the bypass and bypass plugins where it is allowed. You can also use the helpers provide in the system to support calling a create operation while passing bypass plugins ( .CreateRecord ) for example.
The baseline IOrganizaitonService interface methods such as .Create do not support that form of modification and we currently do not intend to expose it.
In the CrmServiceClient we added a cla…