Thanks Erland! There's some excellent input in your posting!

Please note that there are two “max version” settings.

You're right, of course. I didn't think of that.

In addition to this there is the maxVersion parameter in install.xml
which is used by LMS to decide if it should load a plugin or not. In my
plugins this is set to * since I use the repository files to distribute
the right versions.

Not all plugin authors do so - which actually could become the bigger hurdle than the one in the repository file.

Instead of adding some complex logic to LMS my suggestion would be:
- For installed plugins: look at install.xml and if maxVersion isn’t
compatible don’t load the plugin but show it as inactive plugin or
something similar. I think this might be how LMS already is working.
- For plugins not installed: if someone in the community decides that a
plugin works and should be available on a new LMS version even if it
isn’t maintained, it’s easy for someone to provide a new repository file
with minTarget=8.0.0 and maxTarget=8.0.* with a disclaimer in the plugin
description that it isn’t supported and might break at any time. You can
also use the creator and email fields to indicate that it’s not provided
by the original developer.

We'd also have to re-package the plugins in order to fix the install.xml (in some cases). Which is something I'd prefer not to have to do.

But I like your idea of keeping things simple. So... what I suggest:

- we create a repository file in the LMS-Community github org. Contributors who've somewhat tested a plugin can add what they know to be working to that file.

- this repository file would have a community (not author) provided maxVersion. Again this is to have a minimum guaranteed compatibility.

- LMS would have a flag to include that repository or not which would also be used to ignore the install.xml's maxVersion.

This would give us a minimum quality check before the uninformed user can install a breaking/broken plugin easily. And it should make sure a plugin does not break LMS accidentally.

At the same time this should keep LMS side changes minimal.

Thoughts?

We should encourage the community to take over
maintenance responsibility rather than encourage users to install
unsupported stuff.

That would be great indeed! It has happened with some plugins. But yours probably are just a bit too complex for the casual contributor...

--

Michael
_______________________________________________
Squeezecenter mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/squeezecenter

Reply via email to