[PROPOSAL] Require plugins to be uploaded to Plugins repo

Discuss, contribute and orient Volumio development!

Ads helps Volumio remain Free and Open Source. Please consider donating to help us continue to serve you.

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby michelangelo » Sat Nov 18 2017 01:28

Lately I've been thinking more and more about a rasing issue about plugins.

The fact is that on the development thread there are a lot of third party plugins available (and this is awesome!), however when someone goes to the plugin facility built into volumio, there are really few plugins there.
At first we tried to solve this by creating the plugin helper, which makes it super easy for people to create and then publish the plugins on the repo. However the situation has not been changed much really.

This concerns me because I would find more user-friendly if plugins could be downloaded directly from the Volumio plugin facility, instead of going to find them into the Forum.

The second issue is that I see more and more plugins that are crashing the whole Volumio, sometimes for bad practices, some other times for mistakes that could have been avoided by requiring a bit of review by the core team. My fear is that the unstability of those plugins is undermining the Volumio experience for some.

Therefore I am thinking to solve the above two issues by disabling the plugin uploader of Volumio, and require plugin developers to submit their plugins to be published.
This will bring the following benefits:
- Users will immediately find the plugins that are available directly inside of Volumio
- When a plugin gets updated by developers, users will be able to update it inside Volumio (not possible with plugin packages)
- There will be a review done by the team before publishing a plugin, ensuring its stability and that it does not break Volumio installs
- This will make plugin management and discovery in one place, putting the bases for the plugin shop (a feature we are thiking since some time, such as the possibility for developers to choose if their plugin is free or paid, something like an app store)

The downsides are:
- There will be some delay before the publishing of a plugin from a developer, and the actual visibility in the plugin facility (since the review will take time, and there might be some back and forth between the developer and the Volumio team to optimize it).
- Some will see it as Volumio getting "more close"

So, looking forward to what you guys think. Suggestions? Ideas?
User avatar
Posts: 4377
Joined: Sun Dec 15 2013 23:18

Ads helps Volumio remain Free and Open Source. Please consider donating to help us continue to serve you.

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby balbuze » Sat Nov 18 2017 08:14

This is a great thing for volumio!
It was something problematic finding plugins.

But we lose the advantage of wide user base for testing. Even if I'm confident in volumio team, sometimes issues only occur with a combination of hardware or even software. How without a testing phase with certain users to be sure everything will work as expected?

I'm waiting for this new feature! Good job!
User avatar
Posts: 1684
Joined: Thu May 08 2014 08:42
Location: Isère France

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby chsims1 » Sat Nov 18 2017 08:18

Definitely the first. This is how I was expecting community developed plugins to be made available. Of course, this makes them officially sanctioned, so they would need some sort of quality control.

Disabling plugin uploads is quite a big step. How will people test plugins, and what about people who want to tinker with custom plugins that might not have general interest? Perhaps better education of users ("use uploaded plugins at your own risk"), and a separate forum section would help.
New to Volumio? Please read the Quick Start Guide to get your system up and running :). FAQs? Docs?
User avatar
Posts: 1850
Joined: Sat Aug 02 2014 10:44
Location: East Yorkshire, UK

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby Jucgshu » Sat Nov 18 2017 12:59

As an end user, this would be a huge improvement to have all the plugins directly available into Volumio.

An end user will never know that's the plugins that crash. He will come to the conclusion that Volumio is not a finished product.

Introducing delay between the posting by a plugin dev and the visibiliy by the end user is totally acceptable. Although, this could introduce some frustration on the plugin devs side.

Enlarging the devs circle by naming some additionnal "trusted devs" among plugin devs could speed up the review process though. Some of them did a tremendous job working on additional features missing in Volumio core.

Anyway, thanks to all the community. You're doing an amazing work on Volumio (and plugins :p)
User avatar
Sunday DIYer
Sunday DIYer
Posts: 44
Joined: Fri Aug 11 2017 14:37

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby macmpi » Sat Nov 18 2017 13:59

For the majority of users, getting quality plugins for "store" is good, and expected experience (as long as it never becomes linked to some service plan obligation).

Maybe we can just keep the plugin install within /dev page, but remove it from main part of UI (anyway, we still did not find why bogus uploads&install happens twice for a long time).
Keeping it in /dev page will obviously signal adventurous users that if they install that way, they do something not supported.
Developers will still have a way to develop, test and call for advanced users tests.

Now, in parallel, I think we need to make sure there is some sort of review-time commitment towards developers for feedback by plugin maintainers.
Would sth like 1 week acceptable?
New User? Welcome! Please allow 8mn for first boot, and while the wait, be sure to carefully read Quick-start instructions and FAQ ;)
Question? please use search form first, and if posting for a problem, submit logs.
User avatar
Posts: 400
Joined: Tue Jan 12 2016 11:19

Re: [PROPOSAL] Require plugins to be uploaded to Plugins rep

Postby kaosmagix » Sat Nov 18 2017 15:30

Or using the /dev functionality to allow beta plugin install to make early community testing possible

Sent from my iPhone using Tapatalk
Random avatar
Serious Listener
Serious Listener
Posts: 54
Joined: Sun Aug 30 2015 17:51

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby Saiyato » Sat Nov 18 2017 16:44

I'm totally up for filling the store with plugins that have at least a BETA status. This makes it easier for many people to test and submit issues.

I've found that supporting the plugins takes more time and effort than building them, this is why I've tried hard to submit readme's with explanation to clarify stuff. However in the store, people are not likely to read anymore, whereas the github page should invite to read a bit. If the plugins are in the store, remember people will ask the Volumio team for help, rather than the plugin author. At least, that's what I think.

If the upload is to be disabled for the majority, then please make it still possible in dev mode. I always test the installations a few times before committing on github.

I must also admin that I have not looked into the plugin helper function, I've been quite busy just maintaining the plugin itself. Also, I've been busy figuring out github and how to use it like it's designed. I still take many shortcuts out of laziness (incomplete commit texts etc.).

From a developer perspective the disable of the upload is killing, but I can imagine it'll force some order in the wild growth of plugins (and their respective versions). I do like the update function that comes with the store, this should help iron out bugs that have been found easily.

In short, I think the hybrid version is the way to go:

- dev mode allows for the upload of plugins

- 'normal' mode only allows the users to use tested and published plugins

You can opt to making it a little (not too for me please) hard to enter dev mode, as a precaution, else everyone will run dev mode because it allows for all the newest plugins, gadgets, widgets etc. and there's no down side.

And finally, I'm no developer, so there's no clear pattern that I follow (which frustrates me sometimes). Because I want too much in too little time... So a code review might iron out bugs that I have missed, or even optimise the code I've written. :roll: I'm definitely in favor of code reviews and testing done by people who understand the code and have an idea of what is happening. This makes it easier to debug too, because the reviewers can supply you with the relevant logging. ;)
User avatar
Golden Ear
Golden Ear
Posts: 627
Joined: Wed Dec 23 2015 07:58
Location: Woudenberg, Netherlands

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby michelangelo » Sat Nov 18 2017 19:39

Thank you guys for the very constructive suggestions. I feel we can make the most balanced decision together.

Some very interesting points were made:
- Sometimes plugins may crash in rare circumstances, so having a bit of field testing is always a good thing.
- Developers want an easy way to test their plugins
- We need to ensure an high quality standard of plugins
- Some skilled dev can help the team to review the plugins
- Supporting plugins is the real deal, and we need to get feedbacks from users

We could do the following:
- To properly encourage high-quality development and controlled environment, we can disable the upload function (everybody agrees on that)

- Adding a function to plugin helper that allows the install of a plugin. This will simulate the same install from the repository, so devs can simply launch this command via SSH and install the plugin as it was downloaded. This should be enough for the casual user to not get in contact with early or unstable code but will be ok for most of our users to type some commands in SSH and test a plugin (and those more-than-average skilled people can also revert a potential crash while in SSH), and the devs can properly test their plugin before submitting.

- Forcing people trough the plugin-helper will also help us standardize and optimize plugin creation, publication and testing.

- The DEV mode will work for plugins as well, allowing to download and test beta releases of an already installed plugin (this will come probably later, as lot of backend code is involved)

- If there is any volunteer within skilled plugin developer, wishing to help us review the plugins, that would surely increase our approval speed (and will be a tangible help)

- We could insert a rating function in the plugin facility and a way to signal an issue directly to the developer, to streamline issue detection (long term plan as well, as lot of work is required)

What do you guys think? Are there other actions which might improve the situation?

PS: For the pending PR on plugins, I am committing to review and publish asap
PPS: This can be a good time for developers who think their plugins are ready to be published to send us a PR. See here how to do it:
https://volumio.github.io/docs/Plugin_S ... lugin.html
User avatar
Posts: 4377
Joined: Sun Dec 15 2013 23:18

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby skikirkwood » Sat Nov 18 2017 20:28

I would suggest looking at other successful open source projects and how they approached plugin management. Wordpress is a good example - with an ecosystem of over 50,000 plugins.

https://developer.wordpress.org/plugins ... uidelines/

I like the idea of letting users rate plugins, displaying the number of downloads, having some kind of approval badge, user comments, etc. And the notion of separating a directory of approved plugins from the ability for people to upload any plugin (not in the directory) they want.

The Drupal project has the notion of contributed modules, which are somewhat like plugins, and there's over 30,000 of them. Again, they show the number of downloads, active sites using them, etc. But they also have a group that validates the security of a subset of the modules.

In both of the above cases, users are free to install any plugins they choose, from any source. But they also have guidance regarding "vetted" plugins.
Volumio 2 on Raspberry Pi 3 B+, Schiit Modi 2 Multibit DAC, Volumio 2 on Raspberry Pi 3, IQAudio Pi-DAC+, Schiit Freya preamp, Bryston 3b power amp, B&W 803 speakers
User avatar
Posts: 289
Joined: Thu Jan 08 2015 17:16
Location: Los Altos Hills, California

[PROPOSAL] Require plugins to be uploaded to Plugins repo

Postby Jucgshu » Sat Nov 18 2017 21:17


Team Kodi does a great job also:
* Addons:webpage: https://kodi.tv/addons
* Doc:: http://kodi.wiki/view/Add-on_development
User avatar
Sunday DIYer
Sunday DIYer
Posts: 44
Joined: Fri Aug 11 2017 14:37


Return to Development talks

Who is online

Users browsing this forum: No registered users and 7 guests