PDA

View Full Version : why separate directories for SC plugins & 3rd party plugins



Kiwi
2008-10-30, 09:38
After some frustration with a non functional 3rd party plugin and searching the wiki and forum posts, I learned that there are two separate directories for plugins on a Windows system. The directory for plugins that are included in the SqueezeCenter software is typically;

C:\Program Files\SqueezeCenter\server\Slim\Plugin

The directory for 3rd party plugins is typically;

C:\Program Files\SqueezeCenter\server\Plugins

I am not a developer of plugins but I will say that as an end user trying to add a 3rd party plugin, it seems extraneous to have two directories and at the very least there needs to be better documentation of this structure for end users. I have edited the wiki but I wasn't sure how far to go without understanding the reasons or background for the two directories.

Can anyone educate me please?

mherger
2008-10-30, 09:46
> I am not a developer of plugins but I will say that as an end user
> trying to add a 3rd party plugin, it seems extraneous to have two
> directories

The user shouldn't need to care about Slim/Plugin. If you've found reference to it, then that reference was wrong.

Slim/Plugins is for stock plugins only. It will be overwritten during installation, deleted at will etc. Don't put anything in there.

Plugins is the place to put 3rd party plugins.

--

Michael

kdf
2008-10-30, 09:59
server\Slim\Plugin is for included plugins only. Slim/* may be wiped at
any time during SC upgrades.

server\Plugins is for third-party plugins. It may also be other
directories depending on the OS. The list of folders for your system is
listed in the server settings status page.

The reference to Slim/Plugin on that page is probably better off being
hidden.

-kdf

hickinbottoms
2008-10-30, 10:20
I understand that, but I've had a few queries over installation
locations for my plugins from other people that suggest it causes
confusion. In the medium term that might be solved with a plugin manager
that avoids users having to probe the intimate areas of SqueezeCenter
folders themselves, but it might also help in the shorter term if the
internal one was just called something different that didn't suggest it
was for plugins.

At the very least a text file called "NOT_FOR_USER_PLUGINS.txt" or
similar might be a clue if it was also present in there (oh, I was
forgetting localisation...).

Just an idea - it would be one less thing to get confused over or for
support people to have to check for.

Stuart

Michael Herger wrote:
>> I am not a developer of plugins but I will say that as an end user
>> trying to add a 3rd party plugin, it seems extraneous to have two
>> directories
>>
>
> The user shouldn't need to care about Slim/Plugin. If you've found reference to it, then that reference was wrong.
>
> Slim/Plugins is for stock plugins only. It will be overwritten during installation, deleted at will etc. Don't put anything in there.
>
> Plugins is the place to put 3rd party plugins.
>
>

mherger
2008-10-30, 10:56
> At the very least a text file called "NOT_FOR_USER_PLUGINS.txt" or
> similar might be a clue if it was also present in there (oh, I was
> forgetting localisation...).

Oh, would be great if you could come up with some text - my English isn't always the best. I'd definitely support this.

kdf suggested removing the Slim/Plugin path from the system information (which I've done in 7.3). This might already help a bit.

--

Michael

ModelCitizen
2008-10-30, 13:56
For me the problem is the term plugin. I understand plugins to consist of non-logitech supported functionality designed by third party developers.

Once any code becomes part of the Logitech-supported server software it ceases be a plugin.

It seems strange that stuff like Song Scanner, Sounds and Effects, Favorites & Command Line Interface are listed as plugins when they are obviously aren't. They are not optional and you can't remove them.

Maybe it's time the "plugin" definition was sorted out?

MC

mherger
2008-10-30, 14:24
> Once any code becomes part of the Logitech-supported server software it
> ceases be a plugin.

Plugin imho is a technical term, describing functionality which can be
plugged in or out. No matter where it's coming from.

> It seems strange that stuff like Song Scanner, Sounds and Effects,
> Favorites & Command Line Interface are listed as plugins when they are
> obviously aren't. They are not optional and you can't remove them.

Yeah, some used to be, but lost their status at some point.

> Maybe it's time the "plugin" definition was sorted out?

We'd rather have to sort out those plugins which aren't.

Michael

Kiwi
2008-10-30, 14:36
Thanks for the quick and informative responses. It seems that Michael has taken steps to only refer to the "user" plugin directory on the status tab for SC 7.3

The other suggestion to have a direction file in the system plugin directory is simple and easy, so I hope that is implemented also.

moley6knipe
2008-10-30, 15:39
Oh, would be great if you could come up with some text - my English isn't always the best

He, it's better than mine and I've lived here all my life!

hickinbottoms
2008-10-31, 01:04
What about "THIS DIRECTORY IS NOT FOR USER PLUGINS" (with whatever
combination of spaces or underscores you'd like)? I'll admit it's not
pretty, though.

I'd personally favour renaming it ("InternalPlugins", at least), but I
can imagine that would need a lot of Perl package renaming across the
software base so would be a pain. It's something I could try knocking up
a patch for if it would help (as an enhancement in Bugzilla, presumably).

Stuart


Michael Herger wrote:
>> At the very least a text file called "NOT_FOR_USER_PLUGINS.txt" or
>> similar might be a clue if it was also present in there (oh, I was
>> forgetting localisation...).
>>
>
> Oh, would be great if you could come up with some text - my English isn't always the best. I'd definitely support this.
>
> kdf suggested removing the Slim/Plugin path from the system information (which I've done in 7.3). This might already help a bit.
>
>

mherger
2008-10-31, 01:28
> I'd personally favour renaming it ("InternalPlugins", at least), but I

I'd rather not. Renaming is such a pain: we'd have update installers so
they removed all the old copies, change internal code etc. We're still
suffering from the MusicMagic -> MusicIP renaming...

Michael

bpa
2008-10-31, 01:50
How about adding a field to install.xml for SC "Internal" plugins so that a meaningful error message can be displayed on Settings/Plugins that the user has installed a user plugin in wrong place. This would be similar to MinVersion and MaxVersion field - it's just used for checking.

hickinbottoms
2008-10-31, 10:53
> I'd personally favour renaming it ("InternalPlugins", at least), but I

I'd rather not. Renaming is such a pain: we'd have update installers so
they removed all the old copies, change internal code etc. We're still
suffering from the MusicMagic -> MusicIP renaming...

Michael

No problem - I suspected it was more trouble than it was worth.

I notice that a "DO_NOT_INSTALL_YOUR_PLUGINS_HERE.txt" file has been checked in, but this appears to be under the top-level "Slim" folder rather than "Slim/Plugin" - was that intentional or has it missed its target?

Stuart

Triode
2008-10-31, 11:30
Easy answer - don't let the your users manually install plugins... http://forums.slimdevices.com/showthread.php?t=53948&page=5

Kiwi
2008-10-31, 20:13
Easy answer - don't let the your users manually install plugins... http://forums.slimdevices.com/showthread.php?t=53948&page=5

Great suggestion because an end user wants to operate the plugin not have to tinker around to make the plugin functional. Is there motivation, or restriction, required for plugin developers to have their plugin installers do this?

mherger
2008-11-02, 14:11
> I notice that a "DO_NOT_INSTALL_YOUR_PLUGINS_HERE.txt" file has been
> checked in, but this appears to be under the top-level "Slim" folder
> rather than "Slim/Plugin" - was that intentional or has it missed its
> target?

It's intentional: it's a shorter list of folders/files than in Plugin, and on Windows there actually is only that file and the Plugin folder. Makes it a bit more likely to be seen.

--

Michael