Third-party Activities

Workflow can utilize third-party activities that are compatible with Microsoft Windows Workflow Foundation.

With these elements, extensibility is greatly enhanced, and a variety of other options are available to create a workflow.

Important: We do not directly support these activities. At the time of this printing, third-party activities have not been tested with our software. Use of third party activities should be properly tested prior to being implemented in a production environment.

Third-Party Activity Configuration

Important: If you are using third-party activities in a multi-server environment, you must install all associated files on each server using these activities.

To use third-party activities, you must create a file named:

ActivityExtensions.dita

The following sample configuration files demonstrate the structure for the XML document you must use to define the server, location of the file, and the assemblies used. The AssemblyUri, Category, and any DependencyAssemblyUris must be edited to reflect your third-party activity requirements.

File Location

After the file has been created, place the ActivityExtensions.dita file in the following location on the server (where your application was installed):

<installdir>\Proficy Workflow\Program\Data\Projects\SOAProject\AppServers\Workflow\Workflow

Important: The activity assembly and its dependent assemblies must go in the following path in order for the URI to work: \Proficy Workflow\Program\Applications\Workflow

Example 1

The following is a sample configuration file for a single activity assembly with a single dependency:

<ActivityExtensions xmlns="http://schemas.datacontract.org/2004/07/Proficy.Workflow.Services">
  <ActivityExtension>
    <AssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly.dll</AssemblyUri>
    <Category>Custom Activities</Category>
    <DependencyAssemblyUris>
       <DependencyAssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly.dll</DependencyAssemblyUri>
    </DependencyAssemblyUris>
  </ActivityExtension>
</ActivityExtensions>

Example 2

The following is a sample configuration file to use with two activity assemblies, one with two dependencies, and on one with no dependencies:

<ActivityExtensions xmlns="http://schemas.datacontract.org/2004/07/Proficy.Workflow.Services">
    
    <ActivityExtension>
       <AssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly1.dll</AssemblyUri>
       <Category>Custom Activity 1</Category>
       <DependencyAssemblyUris>
         <DependencyAssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly2.dll</DependencyAssemblyUri>
         <DependencyAssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly3.dll</DependencyAssemblyUri>
       </DependencyAssemblyUris>
    </ActivityExtension>

    <ActivityExtension>
       <AssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly2.dll</AssemblyUri>
       <Category>Custom Activity 2</Category>
       <DependencyAssemblyUris/>
    </ActivityExtension>

</ActivityExtensions>

Third-Party Activity Tag Definitions

The following table describes the different sections of the ActivityExtensions.dita file:

TagValueDescription
ActivityExtensionContains AssemblyUri, Category, DependencyUrisContains the defining tags for the required assemblies.
AssemblyUriURI to assembliesDefines the path to the assemblies.
CategoryUser-defined nameDefines the category the assembly will appear under in the Workflow activities list.
DependencyAssemblyUrisContains the URIContains a list of dependency assembly URI elements.
DependencyAssemblyUriURI to dependent assembliesDefines the path to the dependent assemblies.

Further Information

To view more information on how to create custom activities for Microsoft Windows Workflow Foundation, using your Internet browser, navigate to the Microsoft MSDN library and search for: Developing Workflow Activities.