Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

It should support plugins #262

Open
ChrisMacNaughton opened this issue Jun 14, 2021 · 0 comments
Open

It should support plugins #262

ChrisMacNaughton opened this issue Jun 14, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@ChrisMacNaughton
Copy link
Member

ChrisMacNaughton commented Jun 14, 2021

A NotificationPlugin shoud be a single file that's placed into lib/custom_notification_plugins and includes metadata to describe the subclass of NotificationPlugin that will be run.

A NotificationPlugin Has

  • Name
  • Custom Options: stored in the database as JSON, passed at init time
  • respond method
    • Called with details of the event, same as webhook
      • event type (CRUD)
      • model type (user, group, user-group)
      • details of the model
  • methods to inform about success, logs, stats, etc

A NotificationPlugin Is

  • Configurable by an admin, similar to webhooks
  • run via Sidekiq
  • identified at runtime by filesystem introspection
  • queued like a webhook
    • possible to configure multiple versions
    • webhooks could be rewritten into this framework
  • retryable like webhooks
  • run with a time limit

A NotificationPlugin Can

  • Integrate into other systems more deeply that webhooks
  • Integrates deeply into EyeDP
    • Consider ways to limit?
@ChrisMacNaughton ChrisMacNaughton added the enhancement New feature or request label Oct 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant