Difference between revisions of "HowTo:Create UBIK Workflow Activity Plugin"
(→Workflow) |
m |
||
(20 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | New workflow activities can be injected into {{UBIK}} using the [[Injection_Management|Injection Management]]. The plugin needs be implement the interface '''UBIK.WorkflowBase.IUBIKActivity''' and inherit from '''System.Activities.NativeActivity<T>'''. The interface <code lang="csharp">IUBIKActivity</code> is located in the library '''UBIK.WorkflowBase.dll'''. | |
− | + | ||
− | [[ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | = Example = | ||
<source lang="csharp"> | <source lang="csharp"> | ||
+ | using System; | ||
+ | using System.Collections.Generic; | ||
+ | using System.Linq; | ||
+ | using System.Text; | ||
+ | using System.Activities; | ||
+ | using System.ComponentModel; | ||
+ | using System.ComponentModel.Composition; | ||
+ | using UBIK.Kernel; | ||
+ | using UBIK.WorkflowBase; | ||
+ | namespace UBIK.Interface.Module.PluginExamples | ||
+ | { | ||
+ | /// <summary> | ||
+ | /// Sends a message to UBIK.Compiler.Debugger | ||
+ | /// </summary> | ||
+ | [UBIK.WorkflowBase.Attributes.Category("UBIK Plugins")] | ||
[Export(typeof(UBIK.Injection.IUbikPlugin))] | [Export(typeof(UBIK.Injection.IUbikPlugin))] | ||
− | [ExportMetadata("ID", " | + | [ExportMetadata("ID", "C149402E-BC86-46D6-8D1B-63C86894EA77")] |
− | [ExportMetadata("Type", typeof( | + | [ExportMetadata("Type", typeof(TestActivity))] |
− | [ExportMetadata("Name", " | + | [ExportMetadata("Name", "TestActivity" )] |
− | [ExportMetadata("Description", " | + | [ExportMetadata("Description", "WF Activity: Sends a message to UBIK.Compiler.Debugger")] |
− | [ExportMetadata("Version", | + | [ExportMetadata("Version", 1)] |
− | [ExportMetadata(" | + | [ExportMetadata("Company", "Augmensys GmbH")] |
− | [ExportMetadata(" | + | [ExportMetadata("Copyright", "2015, Augmensys GmbH")] |
− | public class | + | public class TestActivity : NativeActivity<string>, UBIK.Injection.IUbikPlugin, UBIK.WorkflowBase.IUBIKActivity |
{ | { | ||
+ | public InArgument<BaseClass> UBIKObject { get; set; } | ||
+ | public InArgument<string> Text { get; set; } | ||
− | + | protected override void Execute(NativeActivityContext context) | |
+ | { | ||
+ | BaseClass bc = this.UBIKObject.Get<BaseClass>(context); | ||
+ | string txt = this.Text.Get<string>(context); | ||
+ | |||
+ | UBIK.Compiler.Debugger.Output(this, txt); | ||
+ | |||
+ | this.Result.Set(context, txt); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</source> | </source> | ||
− | + | <headertabs/> | |
− | [http://msdn.microsoft.com/en-us/library/823z9h8w%28v=vs.110%29.aspx | + | |
+ | == See also == | ||
+ | * [[Injection_Management]] | ||
+ | * [[HowTo:Create_UBIK_Plugin]] | ||
+ | * [http://msdn.microsoft.com/en-us/library/823z9h8w%28v=vs.110%29.aspx <probing> Element on MSDN] | ||
+ | |||
+ | [[Category:How-To|Create UBIK Workflow Activity Plugin]] | ||
+ | [[Category:Workflow|Create UBIK Workflow Activity Plugin]] | ||
+ | [[Category:Plugin|Create UBIK Workflow Activity Plugin]] |
Latest revision as of 12:04, 3 August 2016
New workflow activities can be injected into UBIK® using the Injection Management. The plugin needs be implement the interface UBIK.WorkflowBase.IUBIKActivity and inherit from System.Activities.NativeActivity<T>. The interface IUBIKActivity
is located in the library UBIK.WorkflowBase.dll.