Skip to content

Additional entry points for new plugins #6

Open
@mast-eu

Description

@mast-eu

I want to start a discussion about new plugin entry points, to see which ones are of common interest and feasible.

Currently the entry points for plugins are:

  1. Execute(): Runs when a plugin's name in the Plugins menu is clicked. This usually shows a dialog for further interactions.
  2. Register(): Runs every time when a repo is loaded.
  3. Unregister(): Runs when a repo is unloaded, either by switching to another repo or by closing GE.

These work well for the existing plugins, but IMHO can be a limitation for new ones. Thus, some ideas for further, optional entry points:

  1. Allow plugins to add second level menu items under Plugins > plugin_name, to run different actions without the need for an own dialog.
  2. Perform actions directly from the dashboard, before a repo is opened. Maybe in the form of using the Plugins menu there as well, but passing an additional argument to the plugin to distinguish whether the call comes from the main form or from the dashboard.
  3. A plugin-specific toolbox in the main toolbar.
  4. From the revision graph context menu, to perform actions on the selected commit.
  5. From the left panel, to perform actions on the selected repo / branch / tag.

All of these should be optional. Each plugin should declare which ones (if any) it implements.
This way, backwards compatibility is ensured and the existing plugins continue to work as before.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions