Skip to content

Add detailed documentation about creating plugins,, especially dashboard widgets #151

@julie777

Description

@julie777

Describe the improvement you'd like
I am enjoying my journey with OMV. However, I am finding that it is imature and could use some improvement to help the ecosystem grow.

  1. I would like to have a detailed document that guides me through the steps to create a new plugin and dashboard widget.

  2. I would like to see a new repository added to OpenMediaVault on GitHub for plugins. That would provide a place for contributors to submit new plugins. It would also make it easy for the plugins to have generated documentation added to the OMV doc. Instead of opening the plugin page on the web UI and looking through the list, I could look at the plugins in the documentation to find what I want.

Additional context
I spent much of yesterday trying to create a new widget by looking at other widgets and files in /usr/share/openmediavault/workbench/dashboard.d and /usr/share/openmediavault/engined/rpc.

I started by installing omv-extras and configuring sensors and cputemp.
I tried to modify cputemp for my needs.
In the process I managed to completely break the dashboard.
I still have not found an explanation of how the plugin architecture works and what files are needed, how they are used and what I did wrong.

Problem
The plugin documentation at https://docs.openmediavault.org/en/stable/development/plugins.html only tell what and where, but there is no actual description of the steps one would use to create a plugin and a dashboard widget.

I would imagine that with good documentation and a place to find all the existing widgets, the community would contribute some great additions to the OMV ecosystem.

OMV-extras being completely separate from OMV, both in doc and source is awkward and does not make it easy for users to get the most out of OMV. OMV extras provides no help in understanding the plugin architecture and how to create a new plugin.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions