Bug 2252 - Can't save any changes to prefs on Server Settings -> Plugins
: Can't save any changes to prefs on Server Settings -> Plugins
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Web Interface
: 6.2.0
: PC Windows XP
: P2 normal (vote)
: ---
Assigned To: Dan Sully
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-10-04 14:58 UTC by Philip Meyer
Modified: 2009-09-08 09:16 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments
use and parse post (1.46 KB, patch)
2005-10-12 12:40 UTC, KDF
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Meyer 2005-10-04 14:58:39 UTC
Using 6.2b1 4536, I can't save any changes on the plugins page within Server 
Settings.

i.e. when I click any Change button, nothing happens.

I can change other server settings.
Comment 1 KDF 2005-10-04 15:34:33 UTC
This could be an IE only bug, related to bug 2206.  
How many rss items do you have in teh prefs?  After about 9, IE seems to go
non-reactive to the form submit.
Comment 2 Philip Meyer 2005-10-04 15:45:54 UTC
I only have 6 RSS feeds configured in the RSS News Feed plugin.  I haven't 
changed that configuration for some time (about 3 weeks).  I think I've 
changed other plugin prefs since I last added a RSS feed (but can't be sure).
Comment 3 Blackketter Dean 2005-10-05 14:39:05 UTC
Phil: what happens if you do a shift-reload (or otherwise flush your cache) in IE?
Comment 4 Blackketter Dean 2005-10-05 14:43:23 UTC
*** Bug 2206 has been marked as a duplicate of this bug. ***
Comment 5 Philip Meyer 2005-10-06 01:28:45 UTC
I have tried forcing a refresh.  I have tried deleting all temporary internet 
files.

I have also tried using both fishbone and default skins.
Comment 6 KDF 2005-10-06 09:30:43 UTC
What about temporarily moving your prefs file.  Let the server start with a
blank slate and see if you can change any prefs.  Other option to test is to
remove all plugins (even the included ones), add them one by one and test until
you hopefully come across the one that starts the problem.  I'll put this on my
list to try as well at some point, but as you know I've got quite a list :)

I have seen this, but so far only with a long list of rss feeds. I've looked on
google for anything related for form submits failing with IE, but have found
nothing that seems to cover this case.
Comment 7 Michael Herger 2005-10-06 13:04:38 UTC
Might sound stupid, but I once meant to experience this problem when my browser 
was in offline mode...
Comment 8 Philip Meyer 2005-10-06 14:33:09 UTC
With today's nightly release, this problem has gone away.

I suspect it was something to do with the Random Mix plugin (or an effect of 
having too many items in a form, which perhaps causes a problem in IE6, as KDF 
was speculating).

The Random Mix has now moved from the Server Settings -> Plugin page to 
options in the Random Mix browse mode.

I can now change other Server Settings -> Plugins.

However, I cannot change any of the Mix Settings.  I also cannot add Random 
Songs to end of playlist (although I can see the current playlist refresh, no 
songs are added - perhaps the function doesn't work, rather than associated 
with this problem report where form submission doesn't occur).  Add random 
artists/albums/years seems to add something to the end of the current playlist.

I have 143 genres (mainly because a lot of them are wrong, and I haven't 
corrected them yet) - maybe this is makes the list of checkboxes too long for 
form submission?

I also notice that "Number of upcoming songs in a random mix:" is "10", but 
the pref item I have been trying to change is "Number of old songs in a random 
mix:" which is currently blank (trying to change to 10).  Perhaps the blank 
option is causing a problem?

Comment 9 KDF 2005-10-06 14:46:14 UTC
This seems to be due to some sort of limit on input fields that IE will allow. 
Stripping down to 6 or so plugins, I can get up to about 16 rss feeds before it
stops allowing any input, adding will then fail to respond. Strangely, simply
blanking one of the other fields works, so it isn't just the actual quantity of
existing fields, or maybe it has to do with fields that have text in them.  
Comment 10 KDF 2005-10-06 14:58:47 UTC
ok, here is the real deal:

http://www.webmasterworld.com/forum21/6607.htm
"I believe the max URI length is 4,095 and the max query string length is 2,053,
this applies to ie6. As tedster pointed out, it does vary from browser to
browser. I too had issues with this a year ago and we had to rethink the
strategy of the query."


As a sample, here is the d_http output for a submit on the plugin page (I'll
leave the counting as an excercise for the reader):

 14:56:28.3613 HTTP request: from 127.0.0.1
(HTTP::Daemon::ClientConn=GLOB(0x3f1fa40)) for GET HTTP/1.1
/setup.html?player=f0%3A5a%3Af4%3A24%3A93%3A98&playerid=&page=PLUGINS&plugin
=0&pluginlist0=0&pluginlist0=1&pluginlist1=0&pluginlist1=1&pluginlist2=0&pluginlist2=1&pluginlist3=0&pluginlist3=1&pluginlist4=0&pluginlist4=1&pluginlist5=0&pluginlist5=1&pluginlis
nlist6=1&pluginlist7=0&pluginlist7=1&pluginlist8=0&pluginlist8=1&pluginlist9=0&pluginlist9=1&pluginlist10=0&pluginlist10=1&pluginlist11=0&pluginlist11=1&pluginlist12=0&pluginlist12
ist13=0&pluginlist13=1&pluginlist14=0&pluginlist14=1&pluginlist15=0&pluginlist15=1&pluginlist16=0&pluginlist16=1&pluginlist17=0&pluginlist17=1&pluginlist18=0&pluginlist18=1&pluginl
uginlist19=1&pluginlist20=0&pluginlist20=1&pluginlist21=0&pluginlist21=1&pluginlist22=0&pluginlist22=1&pluginlist23=0&pluginlist23=1&pluginlist24=0&pluginlist24=1&pluginlist25=0&pl
=1&pluginlist26=0&pluginlist26=1&pluginlist27=0&pluginlist27=1&pluginlist28=0&pluginlist28=1&pluginlist29=0&pluginlist29=1&pluginlist30=0&pluginlist30=1&pluginlist31=0&pluginlist31
ist32=0&pluginlist32=1&pluginlist33=0&pluginlist33=1&pluginlist34=0&pluginlist34=1&pluginlist35=0&pluginlist35=1&pluginlist36=0&pluginlist36=1&pluginlist37=0&pluginlist37=1&pluginl
uginlist38=1&pluginlist39=0&pluginlist39=1&pluginlist40=0&pluginlist40=1&pluginlist41=0&pluginlist41=1&pluginlist42=0&pluginlist42=1&pluginlist43=0&pluginlist43=1&pluginlist44=0&pl
=1&pluginlist45=0&pluginlist45=1&pluginlist46=0&pluginlist46=1&pluginlist47=0&pluginlist48=0&pluginlist48=1&pluginlist49=0&pluginlist49=1&pluginlist50=0&pluginlist50=1&pluginlist51
ist51=1&pluginlist52=0&pluginlist52=1&pluginlist53=0&pluginlist53=1&pluginlist54=0&pluginlist54=1&pluginlist55=0&pluginlist55=1&MMSport=10002&plugin_albumreview_refresh=0&plugin_al
remove_brackets=0&plugin_albumreview_cache=999999&scrobbler-user=&scrobbler-password=&scrobbler-auto-submit=1&scrobbler-max-pending=1&plugin_biography_slideshow=0&plugin_biography_
plugin_biography_cache=999999&plugin_biography_ignorelist=test&plugin_calculator_forget_time=60&plugin_calculator_clear_after=1&plugin-Execute-open=%28none%29&plugin-Execute-play=%
plugin-Execute-stop=%28none%29&plugin-Execute-power_on=%28none%29&plugin_Forecaster_units=0&plugin_Forecaster_partner=&plugin_Forecaster_license=&plugin_maximumedgenews_location=0&
imumedgenews_checktime=60&plugin_podcast_feeds0=http%3A%2F%2Fpodcastalley.com%2FPodcastAlleyTop50.opml&plugin_podcast_feeds1=http%3A%2F%2Fpodcastalley.com%2FPodcastAlley10Newest.op
podcast_feeds2=http%3A%2F%2Frss.cbc.ca%2Fbusinessnews.xml&plugin_podcast_feeds3=&plugin-Email-check-when=5&plugin-Email-display=10&plugin-Email-audio=0&plugin-Email-servers=&plugin
rs=&plugin-Email-passwords=&plugin_recentlyplayed_trackcount=40&rescan-scheduled=0&rescan-time=12%3A00+AM&plugin_RssNews_items_per_feed=2&plugin_RssNews_feeds0=http%3A%2F%2Fnews.bb
rss%2Fnewsonline_world_edition%2Ffront_page%2Frss091.xml&plugin_RssNews_feeds1=http%3A%2F%2Fnews.com.com%2F2547-1_3-0-5.xml&plugin_RssNews_feeds2=http%3A%2F%2Fwww.nytimes.com%2Fser
l%2Frss%2Fnyt%2FHomePage.xml&plugin_RssNews_feeds3=http%3A%2F%2Fwww.rollingstone.com%2Frssxml%2Fmusic_news.xml&plugin_RssNews_feeds4=http%3A%2F%2Fslashdot.org%2Findex.rss&plugin_Rs
s5=http%3A%2F%2Frss.news.yahoo.com%2Frss%2Fbusiness&plugin_RssNews_feeds6=http%3A%2F%2Fcia.navi.cx%2Fstats%2Fproject%2FSlimServer%2F.rss&plugin_RssNews_feeds7=http%3A%2F%2Frss.cbc.
oriesnews.xml&plugin_RssNews_feeds8=http%3A%2F%2Frss.cbc.ca%2Fbritishcolumbianews.xml&plugin_RssNews_feeds9=http%3A%2F%2Frss.cbc.ca%2Fbusinessnews.xml&plugin_RssNews_feeds10=http%3
.cbc.ca%2Fbusinessnews.xml&plugin_RssNews_feeds11=http%3A%2F%2Frss.cbc.ca%2Fbusinessnews.xml&plugin_RssNews_feeds12=http%3A%2F%2Frss.cbc.ca%2Fbusinessnews.xml&plugin_RssNews_feeds1
2F%2Frss.cbc.ca%2Fbusinessnews.xml&plugin_RssNews_feeds14=&plugin_RssNews_feeds15=&plugin_screensaver_superdatetime_city=60613&plugin_screensaver_superdatetime_temperature=0&plugin
er_superdatetime_offset=-01&plugin_screensaver_superdatetime_baseball=Chicago+Cubs&plugin_screensaver_superdatetime_refresh=5&plugin_screensaver_superdatetime_time=5&plugin_screens
datetime_score=3&plugin_tophits_trackcount=40
Comment 11 KDF 2005-10-06 15:08:45 UTC
If the form is changed to be one group per form, this will fix the problem. 
Drawback is that changing settings in multiple groups in one shot will no longer
be possible.  Each plugin would have to be changed, then click change, then do
teh next plugin.

Other option, use POST method.  Jacob mentioned that was now possible, but I'm
not sure how to convert to POST or if it is even possible with the existing
templates.

jacob, any thoughts?
Comment 12 KDF 2005-10-06 16:47:35 UTC
note for later, just in case.  group forms require teh following before line
2697 of Setup.pm:
$groupparams{'page'} = $paramref->{'page'};
$groupparams{'player'} = $paramref->{'player'};
$groupparams{'playerid'} = $paramref->{'playerid'};

I know this came up before, with less than enthusiastic reaction (myself
included).  Maybe one compromise is to make it just the plugin page that does
per-group forms, and the rest are per-page
Comment 13 Dan Sully 2005-10-11 22:50:09 UTC
What's the objection to using POST ?

Does someone want to own this?
Comment 14 KDF 2005-10-12 00:53:40 UTC
if I can figure out how to deal with a post, I had been planning to offer 
something. hoped for some tips in here.  I thought I saw mention of being able 
to handle them in slimserver, but I haven't the foggiest idea of where that 
gets done.
Comment 15 Blackketter Dean 2005-10-12 07:59:07 UTC
POST is the solution, but SlimServer doesn't handle POST yet...
Comment 16 Blackketter Dean 2005-10-12 08:07:29 UTC
Would this help?  

http://search.cpan.org/~cwest/HTTP-Request-Params-1.01/lib/HTTP/Request/Params.pm
Comment 17 KDF 2005-10-12 09:05:17 UTC
I thought Jacob mentioned that some changes he made a while back would allow
post? maybe I'm confusing it with something else.  Anyway, HTTP::Request looks
like it might do the trick.  I might play around a bit with this and see if I
can pick up an idea.  I can't promise anything. 
Comment 18 Jacob Potter 2005-10-12 11:45:24 UTC
I made it possible to retrieve the raw POST data, for the RPC plugin. There's no parsing of parameters from 
POST yet.
Comment 19 KDF 2005-10-12 12:07:11 UTC
ok, this looks easier than I thought.  We probably don't even need
HTTP:Request::params (it requires the whole Email bundle anyway)

If we switch to POST, then what used to be the query string now comes through as
$request->content().  If I simply do:
if ($request->method() eq "POST") {
	$query = $request->content();
}

then it seems the rest of processHTTP already handles the complicated parsing
stuff and the page works.  
Comment 20 KDF 2005-10-12 12:40:52 UTC
Created attachment 901 [details]
use and parse post

I've just changed Fishbone and Default for setup forms only.  With just the few
extra lines in HTTP.pm, IE now happily allows the form submit and the server
parses the content string as if it were the get query.

This also save us having to add HTTP::Request::Params, Email::Simple,
Email::Address, Email::MIME, Email::MessageID, Email::MIME::ContentType,
Email::MIME::Encodings and Email::MIME::Modifier.

I suppose we could use all of the above and replace a large section of
Slim::Web::HTTP.pm, but its hard to say how much gain there is in that if it is
all being scrapped for Apache for 7.0
Comment 21 Dan Sully 2005-10-12 13:47:11 UTC
kdf - I've applied your patch as subversion change 4597

All - this will be in the 2005-10-13 nightly