Difference between revisions of "HowTo:Create UBIK Plugin"
m |
m |
||
(4 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
= Introduction = | = Introduction = | ||
− | == Basic Prerequisites == | + | === Basic Prerequisites === |
− | Creating | + | Creating an own plugin requires to add references to |
* System.ComponentModel.Composition | * System.ComponentModel.Composition | ||
* UBIK.Injection | * UBIK.Injection | ||
+ | |||
{{UBIK}} Injection Management provides access to all the basic features used by the Kernel to identifiy and categorize the available plugins. This management is provided by a library called '''UBIK.Injection'''. | {{UBIK}} Injection Management provides access to all the basic features used by the Kernel to identifiy and categorize the available plugins. This management is provided by a library called '''UBIK.Injection'''. | ||
− | == Interface: IUbikPlugin == | + | === Interface: IUbikPlugin === |
− | The plugin must implement the | + | The plugin must implement the <code>UBIK.Injection.IUbikPlugin</code> interface and has to be registered for MEF composition by defining the export contract via an attribute. |
<source lang="csharp"> | <source lang="csharp"> | ||
[Export(typeof(UBIK.Injection.IUbikPlugin))] | [Export(typeof(UBIK.Injection.IUbikPlugin))] | ||
Line 19: | Line 20: | ||
</source> | </source> | ||
− | == Interface: IUbikInjectionMetaData == | + | === Interface: IUbikInjectionMetaData === |
− | Managing plugins correctly presumes the following information, as defined by the interface | + | Managing plugins correctly presumes the following information, as defined by the interface <code>UBIK.Injection.IUbikInjectionMetaData</code>. |
<source lang="csharp"> | <source lang="csharp"> | ||
Line 31: | Line 32: | ||
</source> | </source> | ||
− | === Mandatory information === | + | ==== Mandatory information ==== |
{| class="wikitable" | width = "100%" | {| class="wikitable" | width = "100%" | ||
|- | |- | ||
Line 42: | Line 43: | ||
|} | |} | ||
− | === Optional information === | + | ==== Optional information ==== |
{| class="wikitable" | width = "100%" | {| class="wikitable" | width = "100%" | ||
|- | |- | ||
Line 82: | Line 83: | ||
} | } | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
<headertabs /> | <headertabs /> | ||
Line 90: | Line 88: | ||
== See also == | == See also == | ||
* [[Injection_Management]] | * [[Injection_Management]] | ||
+ | * [[HowTo:Create_UBIK_Workflow_Activity_Plugin|UBIK Workflow Activity Plugin]] | ||
[[Category:How-To|Create UBIK Plugin]] | [[Category:How-To|Create UBIK Plugin]] | ||
[[Category:Injecting|Create UBIK Plugin]] | [[Category:Injecting|Create UBIK Plugin]] |
Latest revision as of 11:45, 3 August 2016
UBIK® Plugins are loaded dynamically into the UBIK® Kernel by the UBIK® Injection Management based on the Microsoft Extensibility Framework (MEF).