dgt.registration 1.0.1

dotnet add package dgt.registration --version 1.0.1
                    
NuGet\Install-Package dgt.registration -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="dgt.registration" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="dgt.registration" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="dgt.registration" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add dgt.registration --version 1.0.1
                    
#r "nuget: dgt.registration, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package dgt.registration@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=dgt.registration&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=dgt.registration&version=1.0.1
                    
Install as a Cake Tool

DigitallRegistrationsPower (DRP)

This is a NuGet package containing a library that provides annotations for dataverse assemblies (plugins and workflows) for automated registration.

<br/> <p align="center"> <a href="LICENSE" target="_blank"> <img src="https://img.shields.io/github/license/DIGITALLNature/DigitallRegistrationPower.svg" alt="GitHub license"> </a> <a href="https://github.com/DIGITALLNature/DigitallPower/releases" target="_blank"> <img src="https://img.shields.io/github/tag/DIGITALLNature/DigitallRegistrationPower.svg" alt="GitHub tag (latest SemVer)"> </a> <a href="https://www.nuget.org/packages/dgt.registration" target="_blank"> <img src="https://img.shields.io/nuget/v/dgt.registration" alt="Nuget"> </a> <a href="https://github.com/DIGITALLNature/DigitallPower/graphs/contributors" target="_blank"> <img src="https://img.shields.io/github/contributors-anon/DIGITALLNature/DigitallRegistrationPower.svg" alt="GitHub contributors"> </a> </p> <br/>

Installation

You can install this package via CLI: dotnet add package dgt.registration.

If you want to install it in a project that is in a subdirectory give the path to the directory containing the csproj file or the path to the csproj like this: dotnet add src/MyProject package dgt.registration.

Usage

The library provides the following annotations

Plugins

For plug-ins (derived from IPlugin):

CustomApiRegistration

For custom apis, parameter here is the messagename of the custom api.

using dgt.registration;

[CustomApiRegistration("dgt_calc_vacations")]
public class CalcVacationsPlugin : IPlugin
{
        public void Execute(IServiceProvider serviceProvider)
        {
            ..
        }
}

CustomDataProviderRegistration

For custom data providers, parameter here is the tablename of the virtual table filled with this data provider and which events this plugin processes.

using dgt.registration;

[CustomDataProviderRegistration("dgt_virtual_table", DataProviderEvent.Create)]
[CustomDataProviderRegistration("dgt_virtual_table", DataProviderEvent.Update)]
public class HandleUpsertOnVirtualTable : IPlugin 
{
    public void Execute(IServiceProvider serviceProvider) 
    {
        ..
    }
}

PluginRegistration

For regular plugins.

The following parameters can be used:

  • PluginExecutionMode (Asynchronous or Synchronous) Mandatory
  • MessageName (Like Create, Update, custom actions etc.) Mandatory
  • PluginExecutionStage (PreValidation, Pre or Post) Mandatory
  • PrimaryEntityName
  • SecondaryEntityName
  • FilterAttributes
  • ExecutionOrder
  • PreEntityImage
  • PreEntityImageAttributes
  • PostEntityImage
  • PostEntityImageAttributes
  • Configuration (sets Unsecure Configuration)
using dgt.registration;

[PluginRegistration(PluginExecutionMode.Asynchronous,"Create", PluginExecutionStage.PreOperation, PrimaryEntityName = "account", ExecutionOrder = 10)]
[PluginRegistration(PluginExecutionMode.Synchronous, "Update", PluginExecutionStage.PostOperation, PrimaryEntityName = "account", FilterAttributes = new []{"name"} ,PreEntityImage = true, PreEntityImageAttributes = new []{"name"})]
public class SamplePlugin : IPlugin {
    public void Execute(IServiceProvider serviceProvider) {
        ..
    }
}

Workflowassemblys

For workflow assemblys (derived from CodeActivity):

WorkflowRegistration

The following parameters can be used:

  • Name Mandatory
  • Group (Defaults to DGT)
  • includeVersion (Default of false - hint registration tool to include Version in Name)
using dgt.registration;

[WorkflowRegistration("Sample", "SampleGroup")]
public class SampleWorkflow : CodeActivity
{
    [Input(nameof(Email))]
    [RequiredArgument]
    [ReferenceTarget("email")]
    public InArgument<EntityReference> Email { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        ..
    }
}

❤️  Community and Contributions

The DigitallRegistrationPower is a community-driven open source project backed by DIGITALL. We are committed to a fully transparent development process and highly appreciate any contributions. Whether you are helping us fixing bugs, proposing new feature, improving our documentation or spreading the word - we would love to have you as part of the DigitallRegistrationPower community.

📫  Have a question? Want to chat? Ran into a problem?

We are happy to answer your questions via GitHub Discussions!

🤝  Found a bug? Missing a specific feature?

Feel free to file a new issue with a respective title and description on the the DigitallPower repository. If you already found a solution to your problem, we would love to review your pull request! Have a look at our contribution guidelines to find out about our coding standards.

✅  Requirements

DigitallRegistrationPower requires DOTNET Standard 2.o to be used.

📘  License

DigitallRegistrationPower is released under the under terms of the MS PL License.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 1,065 3/4/2024
1.0.0 1,004 2/23/2023