Help to Speed Up the Approval & Publishing of Plugins

The testing and review of plugins before publishing in the Volumio UI is an important quality control step in improving the user experience, and reduce the number of problems caused by plugins operating in unforseen ways. Unfortunately this process takes time, and means that plugin authors may submit a PR request, but nothing apparently happens for a long time. This doesn’t mean the plugin has been forgotten, or that there are problems with it, but simply that there has not been enough time to evaluate it properly.

With this in mind, we are asking what plugin authors think about taking part in this review process for plugin approval? If people think that it is a good idea, and are willing to volunteer, then please post here and let us know what you think, and post your ideas. Ideally it should be plugin developers, or would be developers, who already have an idea of plugin structure & requirements.

One of the things that we would need to do is set up objective criteria to fulfill, and these would include:

(1) proper error handling for crash resilience;
(2) operation as the user expects;
(3) conforming to the plugin coding guidelines (promises where required, proper translation handling, configuration pages);
(4) must not violate licensing requirments of the modules that they need. or the binaries that they use.

As well as speeding up the approval time, I would think this would also be a good way for plugin devs to share experiences and help each other out when they have problems. Please let us know what you think :slight_smile:

I’d be more than happy to help out where I can, obviously I can’t thoroughly test everything and some plugins have my preference (for personal use) over others, but I think that applies to most of us. :wink:

Nonetheless I’ve seen my plugins be tested by for example Marco, who did a great job and diehardsk, who made a wonderful contribution. I’ve tested the spotify-connect plugin pretty good, so there’s something to gain from testing one anothers plugins I’m sure.

As for the coding guidelines, I try to follow the promises where required advise, however, sometimes it’s hard to determine how to design a function. If someone has any tips or advises, feel free to share :slight_smile: Others might benefit as well.

Also, I’ve been facing some problems (like the use of sudo) which had to be patched to a host of plugins, resulting in one big (untestable) PR. A few minutes ago I tried another approach (after deleting my PR and forked repo):

  1. Fork and clone the volumio-plugins repo
  2. Create a branch per plugin you want to update
  3. Update the files for a single plugin
  4. Commit those changes in the corresponding branch
  5. Push the changes upwards
  6. Create a PR for that branch

Continue steps 3 to 6 for each plugin you want to upload. This way you can maintain a single repo for all your plugin updates.

Note: I have not seen what happens when the PR is accepted, but I suppose you can merge the changes from the branch back to master and create a new PR the next time you want to push changes.

Anyways, that’s just my two cents.