BasicPlugin

— This plugin implements the most requested functions.

Table of contents

  1. Actions
    1. SetActivity
    2. SetState
    3. SetParameter
    4. RemoveParameter
    5. HTTPRequest
    6. CreateProcess
    7. SendEmail
    8. FillApproversUsers
    9. FillApproversRoles
  2. Conditions
    1. CheckParameter
    2. CheckAllSubprocessesCompleted
    3. IsProcessFinish
    4. IsApprovedByUsers
    5. IsApprovedByRoles
    6. CheckHTTPRequest
    7. IsApproveComplete
  3. Rules
    1. CheckRole
  4. Settings
    1. Setting_Mailserver
    2. Setting_MailserverPort
    3. Setting_MailserverFrom
    4. Setting_MailserverLogin
    5. Setting_MailserverPassword
    6. Setting_MailserverSsl
    7. ApproversInStageAsync
    8. UsersInRoleAsync
  5. Elements
    1. SetAfter
    2. ContentType
    3. CompareType
    4. Mode

Actions

SetActivity

Table of contents

— Setting an Activity.

Parameters:

  • Activity name - the name of the activity.
  • Set after - read about set after.

SetState

Table of contents

— Setting a State.

Parameters:

  • State name - the name of the state to be set
  • Set after - read about set after.
  • For root process - the flag to set the state for the root process:
    • true - the state will be set for the root process.
    • false - the state will be set for the current process.

SetParameter

Table of contents

— Setting a process Parameter value. Only string values are supported.

Parameters:

  • Parameter - the name of the parameter.
  • Value - the value to be set.
  • For root process - the flag to set the parameter for the root process:
    • true - the parameter will be set for the root process.
    • false - the parameter will be set for the current process.

RemoveParameter

Table of contents

— Removing a Parameter.

Parameters:

  • Parameter - the name of the parameter.
  • For root process - the flag to remove from the root process:
    • true - the parameter will be removed from the root process.
    • false - the parameter will be removed from the current process.

HTTPRequest

Table of contents

— Sending an HTTP(s) Request for the Given Url(GET or POST).

Parameters:

  • Url - the Url the request is sent to.
  • Post - the flag if it is a post request:
    • true - a post request.
    • false - a get request.
  • Store response - the flag to store the result in the parameter:
    • true - the result is saved in the parameter named 'HTTPRequest_Result', with the temporary type. See Temporary.
    • false - the result will not be saved in the parameter.
  • Add process Id and scheme in parameters - Only for post request. The flag to add the process id to the request parameters:
    • true - the process id will be added to the request parameters.
    • false - the process id will not be added to the request parameters.
  • Content type - Only for post request. Read about content type.
  • Parameters - Only for post request. The type of the request parameters is specified in content type.

CreateProcess

Table of contents

— Creating a New Procees by Scheme.

Parameters:

  • Scheme - the name of the scheme.

SendEmail

Table of contents

— Sending a letter to the given e-mail. If the server settings are not defined in the plugin settings, then these values ​should be specified in the Action settings.

Parameters:

  • Mail server - A string that contains the name or IP address of the host used for SMTP transactions.
  • Mail server port - An int32 greater than zero that contains the port to be used on host.
  • Mail server from - A string that contains the address of the sender of the email message.
  • Mail server login - The user name associated with the credentials.
  • Mail server pass - The password for the user name associated with the credentials.
  • Mail server ssl - The flag to enable ssl. Read about it here
  • To - A string that contains the addresses of the recipients of the email message. Multiple email addresses must be separated with a comma character (',').
  • Subject - A string that contains the subject text.
  • Is HTML - The flag:
    • true - if the message body is HTML.
    • false - if the message body is not HTML.
  • Body - A string that contains the message body.

FillApproversUsers

Table of contents

  • Filling in the list of users, engaged in approval. Used in the pseudo-parallel approval user case.

Parameters:

  • Users - the list of users separated with a delimiter.
  • Separator - the separator between the users; the default separator is a comma.

FillApproversRoles

Table of contents

— Filling in the list of roles, engaged in approval. Used in the pseudo-parallel approval user case.

Available if there is a subscription to the delegate ApproversInStageAsync.

Parameters:

  • Roles - the list of roles separated with a delimiter.
  • Separator - the separator between the roles; the default separator is a comma.

Conditions

CheckParameter

Table of contents

— Comparing a parameter value with the given value.

Only string values ​​are supported. If you are going to write difficult conditions, use Conditions or Expressions.

Parameters:

  • Parameter - the name of the parameter.
  • Compare type - read about compare type.
  • Value - one value or a list of values, separated with a delimiter.
  • Separator - Only for In/NotIn type compare. The default separator is a comma.
  • For root process - The flag to use the parameters of the root process:
    • true - the parameters of the root process will be checked.
    • false - the parameters of the current process will be checked.

CheckAllSubprocessesCompleted

Table of contents

— Checking if all of the subprocesses created in the given process are completed.

Parameters:

  • Mode - read about Mode.

IsProcessFinish

Table of contents

— Checking if a process is finished. If ProcessId is specified in the parameter, the check uses this Id. If not, the current process is being checked.

Parameters:

  • Process id - the process Id.

If not set, the current process id will be used.

IsApprovedByUsers

Table of contents

— Checking if the users with the given ids are listed as approved.

Parameters:

  • Users - the list of users separated with a delimiter.
  • Separator - the separator between the users; the default separator is a comma.

IsApprovedByRoles

Table of contents

— Checking if the given roles are listed as approved.

Available if there is a subscription to the delegate UsersInRoleAsync.

Parameters:

  • Roles - the list of roles separated with a delimiter.
  • Separator - the separator between the roles; the default separator is a comma.

CheckHTTPRequest

Table of contents

— Sending an HTTP(s) request to the given Url and comparing the result with the control value.

Parameters:

  • Url - the Uri the request is sent to.
  • Post - the flag if it is a post request:
    • true - a post request.
    • false - a get request.
  • Store response - the flag to store the result in the parameter:
    • true - the result is saved in the parameter named «HTTPRequest_Result», with the temporary type. See Temporary.
    • false - the result will not be saved in the parameter.
  • Result field name - the field in the result to be checked. If this parameter is not specified, the whole result will be checked.
  • Compare type - read about compare type.
  • Result field value - one value or a list of values, separated with a delimiter.
  • Separator - Only for In/NotIn type compare. РThe default separator is a comma.
  • Add process Id and scheme in parameters - Only for post request. The flag to add the process id to the request parameters:
    • true - the process id will be added to the request parameters.
    • false - the process id will not be added to the request parameters.
  • Content type - Only for post request. Read about content type.
  • Parameters - Only for post request. The type of the request parameters is specified in content type.

IsApproveComplete

Table of contents

— Checking if the approval is complete. Used in the pseudo-parallel approval use case.

Rules

CheckRole

Table of contents

— Available in the Actors interface, checks the correspondence between the current user and the role.

Available if there is a subscription to the delegate UsersInRoleAsync. Example here.

Approver

Table of contents

  • Used in the pseudo-parallel approval use case.

Settings

Setting_Mailserver

Table of contents

— A string that contains the name or IP address of the host used for SMTP transactions.

Used for SendEmail.

Setting_MailserverPort

Table of contents

— An int32 greater than zero that contains the port to be used on host.

Setting_MailserverFrom

Table of contents

— A string that contains the address of the sender of the email message.

Used for SendEmail.

Setting_MailserverLogin

Table of contents

— The user name associated with the credentials.

Used for SendEmail.

Setting_MailserverPassword

Table of contents

— The password for the user name associated with the credentials.

Used for SendEmail.

Setting_MailserverSsl

Table of contents

  • The flag to enable sll. Read about it here

Used for SendEmail.

RequestHeaders

Table of contents

— A dictionary of the request headers to be added to DefaultRequestHeaders for each http request.

Used for HTTPRequest и CheckHTTPRequest.

ApproversInStageAsync

Table of contents

— A delegate, your function should return all of the users at the current stage.

async Task<IEnumerable<string>> ApproversInStageAsync(string stageName, ProcessInstance processInstance)
{

}

Used for FillApproversUsers.

UsersInRoleAsync

Table of contents

— A delegate, your function should return all of the users with the given role. Using this function, you can implement roles both within the security system and within a separate document. For example: document author, document manager, auditor etc.

Action syntax:

async Task<IEnumerable<string>> UsersInRoleAsync(string roleName, ProcessInstance processInstance)
{

}

Used for FillApproversRoles, IsApprovedByRoles and CheckRole

Elements

SetAfter

Table of contents

  • AfterAction

— Perform after Action.

  • AfterActivity

— Perform after Activity.

ContentType

Table of contents

  • application/x-www-form-urlencoded

— Form data is encoded as name/value pairs.

Example:

Name 1 = Value 1;
Name 2 = Value 2;
Name 3 = Value 3;
  • application/json

— Form data is encoded as json.

Example:

{
 "Name 1": "Value 1",
 "Name 2": "Value 2",
 "Name 3": "Value 3",
}

CompareType

Table of contents

CompareType Description & Examples
Equal(n, v) n = y
NotEqual(n, v) n <> y
Contains "yummy" contains "umm"
StartWith "yummy" start with "yu"
EndWith "yummy" end with "my"
NotContains "yummy" not contains "yy"
StartAndEndWith "yummy" start and end with "y"
NotStartWith "yummy" not start with "my"
NotEndWith "yummy" end with "yu"
NotStartAndEndWith "yummy" not start and end with "mm"
Greater(n, y) n > y
Less(n, y) n < y
GreaterOrEqual(n, y) n >= y
LessOrEqual(n, y) n <= y
In 5 in (1,2,3,4,5)
NotIn 6 not in (1,2,3,4,5)

Mode

Table of contents

  • AllSubprocesses

— all the subprocesses

  • AllSubprocessesAndParent

— all the subprocesses and parent

Table of contents

Top