Providers for Controls
- Last UpdatedJun 10, 2024
- 3 minute read
AVEVA Work Tasks supports providers of different types that deliver the basic functionality for the Controls.
The following list describes the providers:
-
Channel Provider: Used to configure channels.
-
Form Provider: Used to configure forms.
-
Push Dispatch Provider: Used to configure the push-type (automatic) dispatch pattern in Queues.
-
Pull Dispatch Provider: Used to configure the pull-type (automatic) dispatch pattern in Queues.
-
Work hour Provider: Used to configure calendars.
-
XML Storage Provider: Used to configure the XML Variables.
-
UserEntity: Used to configure the entity provider.
-
UserDSProvider: Used to configure the entity Data Source Provider.
-
ContentHandler: Used to configure the Content Handler provider.
-
Wizard: Used to configure the Wizard provider.
AVEVA Work Tasks provides ready-to-use providers, out-of-the-box for all the seven types it supports. In addition, AVEVA Work Tasks provides the infrastructure to build different types of custom providers.
|
Provider Type |
Namespace |
Interface |
|---|---|---|
|
Role Provider |
Skelta.Core Skelta.Entity |
ISkeltaRoleProvider IRoleEntityProvider ISkeltaAddInProvider IRoleEntityDataSourceProvider |
|
Channel Provider |
Skelta.HWS.WorkListChannel |
IWorkListChannel |
|
Form Provider |
Skelta.HWS.WorkListChannel |
IWorkItemForm |
|
Push Dispatch Provider |
Skelta.HWS.Queue |
IPushDispatchProvider |
|
Pull Dispatch Provider |
Skelta.HWS.Queue |
IPullDispatchProvider |
|
Work hour Provider |
Skelta.HWS.Calendar |
IWorkHoursProvider |
|
XML Storage Provider |
Workflow.NET.Interfaces |
IXmlStorageType |
|
User Entity |
Skelta.Entity.UserEntityProvider |
ISkeltaAddInProvider IEntityProvider IUserEntityProvider |
|
UserDSProvider |
Workflow.NET Skelta.Entity |
IEntityDataSourceProvider IUserEntityDataSourceProvider |
|
Contenthandler |
Workflow.NET |
IContentHandler |
|
Wizard |
Workflow.NET |
- |
Creating Custom Providers
You can create your own custom providers by implementing the respective interface along with the ISkeltaAddInProvider interface available under the Skelta.Core namespace.
The following code shows a typical implementation of a custom provider:
using Skelta.Core;
namespace myApp.myRoleProvider
{
public class myRoleProvider : ISkeltaRoleProvider, ISkeltaAddInProvider
{
// Implementation of ISkeltaRoleProvider Members
// Implementation of ISkeltaAddInProvider Members
}
}
The custom provider should be registered in the SKAddInProviders table for AVEVA Work Tasks to recognize it and offer the desired runtime functionality.
|
Column Name |
Type |
Description |
|---|---|---|
|
Id |
Guid |
Unique ID of the provider. |
|
Type |
nvarchar(20) |
Type identification of provider. |
|
Name |
nvarchar(100) |
Provider name. |
|
Description |
nvarchar(150) |
Provider description. |
|
ClassName |
nvarchar(200) |
Class Name implementing the interface. |
|
Assembly |
nvarchar(500) |
Assembly name with relative or complete file system path. |
|
Settings |
nvarchar(max) |
Configuration settings known the provider. |
|
IsGacAssembly |
bit |
Determines assembly resides in Global Assembly Cache. |
|
IsDefault |
bit |
Determines if the value is default. |
|
IsGlobal |
bit |
Determines if the value is global. |
The settings column is used to store specific settings required for the providers functionality. That is, the provider can access the settings stored in this column and perform the desired routine. The providers ID and settings are available as properties through the ISkeltaAddInProvider interface implementation.
If the provider requires settings for each application or workflow, the provider registration should also happen in the SKAddInProvidersSettings table.
Use the following query to register the Provider in the SKAddInProviders table:
INSERT INTO [SKAddInProviders]([Type],[Name],[Description],[ClassName],[Assembly],[Settings],[IsGacAssembly],[LastUpdatedDatetime]) VALUES (Provider,<your Provider name>,<your Provider description>,<your project name(which contains YourProvider.cs)>,<location of your project dll (which contains YourProvider.cs)> ,'' ,0,getdate())
The structure of this table supports the storing of an application or a workflow as shown below.
|
Column Name |
Type |
Description |
|---|---|---|
|
Id |
Guid |
Unique ID of the settings. |
|
Application |
nvarchar(50) |
Application name |
|
Workflow |
nvarchar(50) |
Workflow name. |
|
AddInProviderId |
Guid |
Provider ID. |
|
Settings |
nvarchar(max) |
Configuration settings known to the provider. |
|
IsDefault |
bit |
Determines if the value is default. |
The provider infrastructure tries to look for any specific settings of the matching application or workflow, and returns the value accordingly, when the Settings property is accessed.