betty icon indicating copy to clipboard operation
betty copied to clipboard

Create a new Plugin API

Open bartfeenstra opened this issue 1 year ago • 0 comments

Proposals

  • Allow some plugins to be created through project configuration. E.g. site owners will want to support custom event types, roles, etc
  • Add PluginRepository. Which is generic over the plugin type. Subclasses for specific plugin types may add additional functionality.
    • get all plugins of a given subtype
  • Plugin.name(Localizer) -> str
    • incorporate get_entity_type_name()
  • Plugin.label(Localizer) -> str
    • incorporate UserFacingEntity.entity_type_label()
  • Plugin.description(Localizer) -> str
  • Implement for
    • Extension
    • Entity
    • Event type
    • Presence role
    • Command provider
  • Require all plugins to be registered as entrypoints
  • add a test fixture that sideloads plugins (by patching the API?)

Blocked by

  • The 0.4.x branch being opened

bartfeenstra avatar May 23 '23 18:05 bartfeenstra