Jump to content

Plug-in assemblies: Difference between revisions

From Resco's Wiki
Created page with "This document is a brief summary of '''plug-in assemblies''' in Resco Cloud and their implementation to the processes (workflows). == Getting started == Plug-in assembli..."
 
No edit summary
Line 16: Line 16:
# Implement the PluginBase interface.<br>[[File:PluginBase interface.png|600px]]
# Implement the PluginBase interface.<br>[[File:PluginBase interface.png|600px]]


== Return value of plugin ==
=== Return value of plugin ===


You can define the return value of your plugin.
You can define the return value of your plugin.
Line 28: Line 28:
[[File:Allowed return type.png]]
[[File:Allowed return type.png]]


== Input values of plugin ==
=== Input values of plugin ===


You can define the input values of your plugin.
You can define the input values of your plugin.
Line 38: Line 38:
[[File:MyPluginInput.png]]
[[File:MyPluginInput.png]]


== Logs ==
=== Logs ===


<syntaxhighlight lang="c#">
<syntaxhighlight lang="c#">
Line 46: Line 46:
Logs are saved and visible in the Admin Console under '''Processes Center > Logs'''.
Logs are saved and visible in the Admin Console under '''Processes Center > Logs'''.


== Cancel the workflow execution ==
=== Cancel the workflow execution ===


<syntaxhighlight lang="c#">
<syntaxhighlight lang="c#">
Line 53: Line 53:
</syntaxhighlight>
</syntaxhighlight>


== Examples ==
=== Examples ===
 
 
[[Category:Resco Cloud]]

Revision as of 08:33, 13 April 2021

This document is a brief summary of plug-in assemblies in Resco Cloud and their implementation to the processes (workflows).

Getting started

Plug-in assemblies allow you to run custom C# code on the Resco Cloud as part of the Processes. Plugins can run periodically as jobs or be triggered as workflows. It should solve the limitations of the no-coding editor of processes. There are the typical use cases:

  • complex logic of process
  • communication with some third party system
  • etc.

Creating a plug-in assembly

  1. Download Resco SDK.
    Sample projects are part of the RescoCRM.Plugin.SDK.zip file.
  2. Create a new project as a Class Library (.NET Framework 4.6.2).
  3. Add a reference to the downloaded XRMServer.Core.dll.

  4. Implement the PluginBase interface.

Return value of plugin

You can define the return value of your plugin.

Implement the IPluginReturnValue interface to the code (e.g. string):

These are the allowed return types: It should be possible to create a variable of this type in Processes editor.

Input values of plugin

You can define the input values of your plugin.

The name of the PluginInputParameter (MyPluginInput in the example), will be visible in the Processes editor.

Logs

context.AppendLogLine("Contacts with specified account id '{0}' cannot be found!", accountId);

Logs are saved and visible in the Admin Console under Processes Center > Logs.

Cancel the workflow execution

context.AppendLogLine("Contacts with specified account id '{0}' cannot be found!", accountId);
return PluginResult.Failed;

Examples