Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

General

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

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 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.

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 module you need to register as a Module-Developer within out shop.

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

The Register call 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.

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

Let antony search

As we defined the registry we also need to tell antony where to find your assembly. We’ll do this by using the windows registry. You need to add a value into the following key

HKEY_CURRENT_USER\SOFTWARE\SCOM\antony\modules\<application>\<your_module_key>\

You need to replace the values within the bracets with appropriate values as shown within the screenshot below. The application might be

  • AntonyGroupware: To integrate within Antonys Administator or Groupwareclient

  • AntonyHubClient: To integrate within the antonyHub to provide dialogs and logic for a custom server. You need to to so, if you want to deploy a service via the antonyHub.

You need to provide the path to the file of your assembly. antony will check all available modules at startup, compares with the available licences and call the registry. You are in (wink)

Conclusion

As you saw it is simple to provide a module which is loaded by antony. You only need to specify a registry and let antony know where to search for it.

So open up a VisualStudio, Create a Project and go for it. You can do it right 🇳 🅾 🇼

  • No labels