Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Antony’s modulesystem allows you to write a registry which will be loaded by the antony client and/or antonyHub. The registry is needed to let you hook into our software.

...

From a top level perspective we need create a registry to embed our classes into the di-container, antony provides. To do so we need to write a custom registry for it. To do so, we need to register as a module developer and define our module.

Tl;Dr;

ExtensionInterfaces

Antony provides custom interfaces which are used to detect and load your registry. This interfaces comes within an easy to handle nuget package. This package doent doesnt have any other dependencies but .netstandard 2.0. Therefore you should be able to use this in nearly every project. You find this Project on http://nuget.org : https://www.nuget.org/packages/antony.Groupware.ExtensionInterfaces/

The Version of this NuGet Package will correlate with the Version of antony itselfe. A 2.21.130 of antony.Groupware.ExtensionInterfaces will be shipped with the 2.21.130 of antony. We’ll make sure, to minimize breaking changes within this interfaces. Therefore the module written for a specific version will also work on a further version. As you can read here Modules and dependent assemblies might work with another version of this interfaces and your dependencies at runtime.

Info

Please make sure you uncheck the “SpecificVersion” of this, as the version may change. The content will be the same, unless we report some breaking changes for it.

Registry

To register you need to specify the assembly attribute AntonyModule to your assembly. Within this attribute you need to point to a class, containing the registry. Every registry need to be part of a module for licencing. Every module needs to be licencened - even if its free. To define a identify your module you need to register as a Module-Developer within out shopprovide a ModuleKey.

Info

We’re sorry! Defining a module is not available at the moment.

...

At the moment you cannot register a module by yourself. Please let us know, if you want to write a module by mailing us at info(at).die-groupware.de

The Register method needs to be annotated with the AntonyServiceRegistry attribute to be loaded. . You are loaded in every application on default. The signature of this method is provided in the snipped below. In this method you can finally provide your types at the ExtensionPoints you want to integrate to.register within antony’s DI-Container.

We use AutoFac as the DI-Container (https://autofac.org)

Code Block
breakoutModewide
languagec#
[assembly: AntonyModule(typeof(ZoomModuleAntonyRegistry), ModuleKey = "de.die_groupware.zoom")]
namespace antony.Groupware.AddinX.Zoom
{
    public class ZoomModuleAntonyRegistry
    {
        [AntonyServiceRegistry()]
        public void Register(IServiceCollection services)
        {
           // ...
        }
    }
}

...