Skip to content

[IDEA] Implement interfaces for telemetry #116

@tonygermano

Description

@tonygermano

First mentioned by @rogin in #79 (comment).

Rather than hard coding the implementations into ConnectServiceUtil, I'm thinking there could be NotificationSupplier, UserRegistrationConsumer, and UsageStatsConsumer interfaces. Once we bump the targeted java version to 17, we could also consider using the java.util.concurrent.Flow framework.

Then the Default implementations could be easily swapped out, and not providing an implementation would effectively disable the transmission of the associated data. Possibly allow implementations to be added by plugins (especially for notifications.)

While #79 has just merged, this change would allow for alternate implementations. For example,

  • retrieving atom or rss based notification feeds as discussed in Implement sample notifications server #24
  • communicating with custom api server implementations that can take requests for all 3 types (notifications, registration, usage stats) as in Sample statistics and notifications server #114
  • allowing OIE users to create their own notifications to be displayed to other users upon login (a request that was previously made for mirth connect, though I can't find an issue for it now.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions